mirror of
https://github.com/oliexdev/openScale.git
synced 2025-08-26 01:43:59 +02:00
updated backup method so that it will work with the Room library
This commit is contained in:
@@ -80,7 +80,7 @@ public class OpenScale {
|
|||||||
alarmHandler = new AlarmHandler();
|
alarmHandler = new AlarmHandler();
|
||||||
btCom = null;
|
btCom = null;
|
||||||
fragmentList = new ArrayList<>();
|
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();
|
measurementDAO = appDB.measurementDAO();
|
||||||
userDAO = appDB.userDAO();
|
userDAO = appDB.userDAO();
|
||||||
|
|
||||||
|
@@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.health.openscale.gui.preferences;
|
package com.health.openscale.gui.preferences;
|
||||||
|
|
||||||
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
import android.preference.EditTextPreference;
|
import android.preference.EditTextPreference;
|
||||||
@@ -27,6 +28,8 @@ import android.preference.PreferenceManager;
|
|||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.health.openscale.R;
|
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.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
@@ -50,7 +53,6 @@ public class BackupPreferences extends PreferenceFragment {
|
|||||||
|
|
||||||
addPreferencesFromResource(R.xml.backup_preferences);
|
addPreferencesFromResource(R.xml.backup_preferences);
|
||||||
|
|
||||||
|
|
||||||
importBackup = (Preference) findPreference(PREFERENCE_KEY_IMPORT_BACKUP);
|
importBackup = (Preference) findPreference(PREFERENCE_KEY_IMPORT_BACKUP);
|
||||||
importBackup.setOnPreferenceClickListener(new onClickListenerImportBackup());
|
importBackup.setOnPreferenceClickListener(new onClickListenerImportBackup());
|
||||||
|
|
||||||
@@ -115,8 +117,15 @@ public class BackupPreferences extends PreferenceFragment {
|
|||||||
public boolean onPreferenceClick(Preference preference) {
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
File exportDir = new File(Environment.getExternalStorageDirectory(), PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()).getString("exportDir", "openScale Backup"));
|
File exportDir = new File(Environment.getExternalStorageDirectory(), PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()).getString("exportDir", "openScale Backup"));
|
||||||
|
|
||||||
importBackup("openScaleDatabase.db", exportDir);
|
importBackup("openScale.db", exportDir);
|
||||||
importBackup("openScaleUserDatabase.db", exportDir);
|
|
||||||
|
List<ScaleUser> 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;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -127,8 +136,7 @@ public class BackupPreferences extends PreferenceFragment {
|
|||||||
public boolean onPreferenceClick(Preference preference) {
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
File exportDir = new File(Environment.getExternalStorageDirectory(), PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()).getString("exportDir", "openScale Backup"));
|
File exportDir = new File(Environment.getExternalStorageDirectory(), PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()).getString("exportDir", "openScale Backup"));
|
||||||
|
|
||||||
exportBackup("openScaleDatabase.db", exportDir);
|
exportBackup("openScale.db", exportDir);
|
||||||
exportBackup("openScaleUserDatabase.db", exportDir);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -138,9 +146,7 @@ public class BackupPreferences extends PreferenceFragment {
|
|||||||
if (!isExternalStoragePresent())
|
if (!isExternalStoragePresent())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
File exportFile = new File(Environment.getDataDirectory() +
|
File exportFile = getActivity().getApplicationContext().getDatabasePath(databaseName);
|
||||||
"/data/com.health.openscale" +
|
|
||||||
"/databases/" + databaseName);
|
|
||||||
File importFile = new File(exportDir, databaseName);
|
File importFile = new File(exportDir, databaseName);
|
||||||
|
|
||||||
if (!importFile.exists()) {
|
if (!importFile.exists()) {
|
||||||
@@ -164,10 +170,7 @@ public class BackupPreferences extends PreferenceFragment {
|
|||||||
if (!isExternalStoragePresent())
|
if (!isExternalStoragePresent())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
File dbFile = new File(Environment.getDataDirectory() +
|
File dbFile = getActivity().getApplicationContext().getDatabasePath(databaseName);
|
||||||
"/data/com.health.openscale" +
|
|
||||||
"/databases/" + databaseName);
|
|
||||||
|
|
||||||
File file = new File(exportDir, databaseName);
|
File file = new File(exportDir, databaseName);
|
||||||
|
|
||||||
if (!exportDir.exists()) {
|
if (!exportDir.exists()) {
|
||||||
|
Reference in New Issue
Block a user