From 922a67147823af2f08bdd1ad91339c961d07cab0 Mon Sep 17 00:00:00 2001 From: OliE Date: Fri, 5 Jan 2018 20:27:54 +0100 Subject: [PATCH] updated backup method so that it will work with the Room library --- .../com/health/openscale/core/OpenScale.java | 2 +- .../gui/preferences/BackupPreferences.java | 27 ++++++++++--------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/android_app/app/src/main/java/com/health/openscale/core/OpenScale.java b/android_app/app/src/main/java/com/health/openscale/core/OpenScale.java index 8251d3ab..c7542cf7 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/OpenScale.java +++ b/android_app/app/src/main/java/com/health/openscale/core/OpenScale.java @@ -80,7 +80,7 @@ public class OpenScale { alarmHandler = new AlarmHandler(); btCom = null; fragmentList = new ArrayList<>(); - appDB = Room.databaseBuilder(context, AppDatabase.class, "openScaleDatabase").allowMainThreadQueries().build(); + appDB = Room.databaseBuilder(context, AppDatabase.class, "openScale.db").allowMainThreadQueries().build(); measurementDAO = appDB.measurementDAO(); userDAO = appDB.userDAO(); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/preferences/BackupPreferences.java b/android_app/app/src/main/java/com/health/openscale/gui/preferences/BackupPreferences.java index 92eeda9d..3f02b62c 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/preferences/BackupPreferences.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/preferences/BackupPreferences.java @@ -15,6 +15,7 @@ */ package com.health.openscale.gui.preferences; +import android.content.SharedPreferences; import android.os.Bundle; import android.os.Environment; import android.preference.EditTextPreference; @@ -27,6 +28,8 @@ import android.preference.PreferenceManager; import android.widget.Toast; import com.health.openscale.R; +import com.health.openscale.core.OpenScale; +import com.health.openscale.core.datatypes.ScaleUser; import java.io.File; import java.io.FileInputStream; @@ -50,7 +53,6 @@ public class BackupPreferences extends PreferenceFragment { addPreferencesFromResource(R.xml.backup_preferences); - importBackup = (Preference) findPreference(PREFERENCE_KEY_IMPORT_BACKUP); importBackup.setOnPreferenceClickListener(new onClickListenerImportBackup()); @@ -115,8 +117,15 @@ public class BackupPreferences extends PreferenceFragment { public boolean onPreferenceClick(Preference preference) { File exportDir = new File(Environment.getExternalStorageDirectory(), PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()).getString("exportDir", "openScale Backup")); - importBackup("openScaleDatabase.db", exportDir); - importBackup("openScaleUserDatabase.db", exportDir); + importBackup("openScale.db", exportDir); + + List scaleUserList = OpenScale.getInstance(getActivity().getApplicationContext()).getScaleUserList(); + + if (!scaleUserList.isEmpty()) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()); + prefs.edit().putInt("selectedUserId", scaleUserList.get(0).getId()).commit(); + OpenScale.getInstance(getActivity().getApplicationContext()).updateScaleData(); + } return true; } @@ -127,8 +136,7 @@ public class BackupPreferences extends PreferenceFragment { public boolean onPreferenceClick(Preference preference) { File exportDir = new File(Environment.getExternalStorageDirectory(), PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()).getString("exportDir", "openScale Backup")); - exportBackup("openScaleDatabase.db", exportDir); - exportBackup("openScaleUserDatabase.db", exportDir); + exportBackup("openScale.db", exportDir); return true; } @@ -138,9 +146,7 @@ public class BackupPreferences extends PreferenceFragment { if (!isExternalStoragePresent()) return false; - File exportFile = new File(Environment.getDataDirectory() + - "/data/com.health.openscale" + - "/databases/" + databaseName); + File exportFile = getActivity().getApplicationContext().getDatabasePath(databaseName); File importFile = new File(exportDir, databaseName); if (!importFile.exists()) { @@ -164,10 +170,7 @@ public class BackupPreferences extends PreferenceFragment { if (!isExternalStoragePresent()) return false; - File dbFile = new File(Environment.getDataDirectory() + - "/data/com.health.openscale" + - "/databases/" + databaseName); - + File dbFile = getActivity().getApplicationContext().getDatabasePath(databaseName); File file = new File(exportDir, databaseName); if (!exportDir.exists()) {