1
0
mirror of https://github.com/oliexdev/openScale.git synced 2025-08-23 08:43:15 +02:00

Reopen database after import to have migrations run if needed

This commit is contained in:
Erik Johansson
2018-01-24 21:58:13 +01:00
parent 212b32f632
commit d2d7295a1a
2 changed files with 25 additions and 13 deletions

View File

@@ -84,6 +84,26 @@ public class OpenScale {
alarmHandler = new AlarmHandler();
btCom = null;
fragmentList = new ArrayList<>();
reopenDatabase();
migrateSQLtoRoom();
updateScaleData();
}
public static OpenScale getInstance(Context context) {
if (instance == null) {
instance = new OpenScale(context);
}
return instance;
}
public void reopenDatabase() {
if (appDB != null) {
appDB.close();
}
appDB = Room.databaseBuilder(context, AppDatabase.class, "openScale.db")
.allowMainThreadQueries()
.addCallback(new RoomDatabase.Callback() {
@@ -97,17 +117,6 @@ public class OpenScale {
.build();
measurementDAO = appDB.measurementDAO();
userDAO = appDB.userDAO();
migrateSQLtoRoom();
updateScaleData();
}
public static OpenScale getInstance(Context context) {
if (instance == null) {
instance = new OpenScale(context);
}
return instance;
}
private void migrateSQLtoRoom() {

View File

@@ -119,12 +119,15 @@ public class BackupPreferences extends PreferenceFragment {
importBackup("openScale.db", exportDir);
List<ScaleUser> scaleUserList = OpenScale.getInstance(getActivity().getApplicationContext()).getScaleUserList();
OpenScale openScale = OpenScale.getInstance(getActivity().getApplicationContext());
openScale.reopenDatabase();
List<ScaleUser> scaleUserList = openScale.getScaleUserList();
if (!scaleUserList.isEmpty()) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext());
prefs.edit().putInt("selectedUserId", scaleUserList.get(0).getId()).commit();
OpenScale.getInstance(getActivity().getApplicationContext()).updateScaleData();
openScale.updateScaleData();
}
return true;