1
0
mirror of https://github.com/oliexdev/openScale.git synced 2025-08-23 16:53:04 +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(); alarmHandler = new AlarmHandler();
btCom = null; btCom = null;
fragmentList = new ArrayList<>(); 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") appDB = Room.databaseBuilder(context, AppDatabase.class, "openScale.db")
.allowMainThreadQueries() .allowMainThreadQueries()
.addCallback(new RoomDatabase.Callback() { .addCallback(new RoomDatabase.Callback() {
@@ -97,17 +117,6 @@ public class OpenScale {
.build(); .build();
measurementDAO = appDB.measurementDAO(); measurementDAO = appDB.measurementDAO();
userDAO = appDB.userDAO(); userDAO = appDB.userDAO();
migrateSQLtoRoom();
updateScaleData();
}
public static OpenScale getInstance(Context context) {
if (instance == null) {
instance = new OpenScale(context);
}
return instance;
} }
private void migrateSQLtoRoom() { private void migrateSQLtoRoom() {

View File

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