diff --git a/android_app/app/src/androidTest/java/com/health/openscale/gui/ScreenshotRecorder.java b/android_app/app/src/androidTest/java/com/health/openscale/gui/ScreenshotRecorder.java index 61339e4f..dcd91635 100644 --- a/android_app/app/src/androidTest/java/com/health/openscale/gui/ScreenshotRecorder.java +++ b/android_app/app/src/androidTest/java/com/health/openscale/gui/ScreenshotRecorder.java @@ -213,7 +213,8 @@ public class ScreenshotRecorder { } private void prepareData() { - openScale.addScaleUser(getTestUser()); + int userId = openScale.addScaleUser(getTestUser()); + openScale.selectScaleUser(userId); List scaleMeasurementList = getTestMeasurements(); 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 aea89b09..eb91a638 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 @@ -138,12 +138,18 @@ public class OpenScale { scaleDB.close(); } - public void addScaleUser(final ScaleUser user) - { - long userId = userDAO.insert(user); + public int addScaleUser(final ScaleUser user) { + return (int)userDAO.insert(user); + } + public void selectScaleUser(int userId) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - prefs.edit().putInt("selectedUserId", (int)userId).commit(); + prefs.edit().putInt("selectedUserId", userId).commit(); + } + + public int getSelectedScaleUserId() { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + return prefs.getInt("selectedUserId", -1); } public List getScaleUserList() @@ -161,8 +167,7 @@ public class OpenScale { ScaleUser scaleUser = new ScaleUser(); try { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - int selectedUserId = prefs.getInt("selectedUserId", -1); + int selectedUserId = getSelectedScaleUserId(); if (selectedUserId == -1) { return scaleUser; @@ -355,8 +360,7 @@ public class OpenScale { } public int[] getCountsOfMonth(int year) { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - int selectedUserId = prefs.getInt("selectedUserId", -1); + int selectedUserId = getSelectedScaleUserId(); int [] numOfMonth = new int[12]; @@ -375,8 +379,7 @@ public class OpenScale { } public List getScaleDataOfMonth(int year, int month) { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - int selectedUserId = prefs.getInt("selectedUserId", -1); + int selectedUserId = getSelectedScaleUserId(); Calendar startCalender = Calendar.getInstance(); Calendar endCalender = Calendar.getInstance(); @@ -389,8 +392,7 @@ public class OpenScale { } public List getScaleDataOfYear(int year) { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - int selectedUserId = prefs.getInt("selectedUserId", -1); + int selectedUserId = getSelectedScaleUserId(); Calendar startCalender = Calendar.getInstance(); Calendar endCalender = Calendar.getInstance(); @@ -430,18 +432,15 @@ public class OpenScale { public void registerFragment(FragmentUpdateListener fragment) { fragmentList.add(fragment); - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - int selectedUserId = prefs.getInt("selectedUserId", -1); + int selectedUserId = getSelectedScaleUserId(); scaleMeasurementList = measurementDAO.getAll(selectedUserId); fragment.updateOnView(scaleMeasurementList); } - public void updateScaleData() - { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - int selectedUserId = prefs.getInt("selectedUserId", -1); + public void updateScaleData() { + int selectedUserId = getSelectedScaleUserId(); scaleMeasurementList = measurementDAO.getAll(selectedUserId); diff --git a/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothExingtechY1.java b/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothExingtechY1.java index e535a334..4b858f2a 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothExingtechY1.java +++ b/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothExingtechY1.java @@ -62,8 +62,7 @@ public class BluetoothExingtechY1 extends BluetoothCommunication { byte height = (byte)(selectedUser.getBodyHeight() & 0xff); // cm byte age = (byte)(selectedUser.getAge(new Date()) & 0xff); - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - int userId = prefs.getInt("selectedUserId", -1); + int userId = selectedUser.getId(); byte cmdByte[] = {(byte)0x10, (byte)userId, gender, age, height}; diff --git a/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothMiScale.java b/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothMiScale.java index e8179d96..652959d3 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothMiScale.java +++ b/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothMiScale.java @@ -285,7 +285,7 @@ public class BluetoothMiScale extends BluetoothCommunication { prefs.edit().putInt("uniqueNumber", uniqueNumber).commit(); } - int userId = prefs.getInt("selectedUserId", -1); + int userId = OpenScale.getInstance(context).getSelectedScaleUserId(); return uniqueNumber + userId; } diff --git a/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothMiScale2.java b/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothMiScale2.java index 45e939f0..b0d6afde 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothMiScale2.java +++ b/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothMiScale2.java @@ -257,7 +257,7 @@ public class BluetoothMiScale2 extends BluetoothCommunication { prefs.edit().putInt("uniqueNumber", uniqueNumber).commit(); } - int userId = prefs.getInt("selectedUserId", -1); + int userId = OpenScale.getInstance(context).getSelectedScaleUserId(); return uniqueNumber + userId; } diff --git a/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothYunmaiMini.java b/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothYunmaiMini.java index 4d15e824..dd575c4c 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothYunmaiMini.java +++ b/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothYunmaiMini.java @@ -154,7 +154,7 @@ public class BluetoothYunmaiMini extends BluetoothCommunication { prefs.edit().putInt("uniqueNumber", uniqueNumber).commit(); } - int userId = prefs.getInt("selectedUserId", -1); + int userId = OpenScale.getInstance(context).getSelectedScaleUserId(); return uniqueNumber + userId; } diff --git a/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothYunmaiSE.java b/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothYunmaiSE.java index 24d8f8a8..d9fc00bf 100644 --- a/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothYunmaiSE.java +++ b/android_app/app/src/main/java/com/health/openscale/core/bluetooth/BluetoothYunmaiSE.java @@ -152,7 +152,7 @@ public class BluetoothYunmaiSE extends BluetoothCommunication { prefs.edit().putInt("uniqueNumber", uniqueNumber).commit(); } - int userId = prefs.getInt("selectedUserId", -1); + int userId = OpenScale.getInstance(context).getSelectedScaleUserId(); return uniqueNumber + userId; } diff --git a/android_app/app/src/main/java/com/health/openscale/gui/activities/DataEntryActivity.java b/android_app/app/src/main/java/com/health/openscale/gui/activities/DataEntryActivity.java index afb8759c..4d351f57 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/activities/DataEntryActivity.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/activities/DataEntryActivity.java @@ -301,8 +301,9 @@ public class DataEntryActivity extends Activity { private class onClickListenerAdd implements View.OnClickListener { @Override public void onClick(View v) { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - int selectedUserId = prefs.getInt("selectedUserId", -1); + OpenScale openScale = OpenScale.getInstance(getApplicationContext()); + + int selectedUserId = openScale.getSelectedScaleUserId(); if (selectedUserId == -1) { AlertDialog.Builder infoDialog = new AlertDialog.Builder(context); @@ -317,7 +318,6 @@ public class DataEntryActivity extends Activity { measurement.saveTo(scaleMeasurement); } - OpenScale openScale = OpenScale.getInstance(getApplicationContext()); openScale.addScaleData(scaleMeasurement); finish(); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/activities/UserSettingsActivity.java b/android_app/app/src/main/java/com/health/openscale/gui/activities/UserSettingsActivity.java index 49a538ea..80465764 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/activities/UserSettingsActivity.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/activities/UserSettingsActivity.java @@ -246,9 +246,7 @@ public class UserSettingsActivity extends Activity { lastUserId = scaleUser.get(0).getId(); } - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - prefs.edit().putInt("selectedUserId", lastUserId).commit(); - + openScale.selectScaleUser(lastUserId); openScale.updateScaleData(); Intent returnIntent = new Intent(); @@ -325,13 +323,10 @@ public class UserSettingsActivity extends Activity { scaleUser.setId(id); openScale.updateScaleUser(scaleUser); } else { - openScale.addScaleUser(scaleUser); - - id = openScale.getScaleUserList().get(openScale.getScaleUserList().size() - 1).getId(); + id = openScale.addScaleUser(scaleUser); } - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - prefs.edit().putInt("selectedUserId", id).commit(); + openScale.selectScaleUser(id); openScale.updateScaleData(); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/fragments/OverviewFragment.java b/android_app/app/src/main/java/com/health/openscale/gui/fragments/OverviewFragment.java index 5acb9111..8896d292 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/fragments/OverviewFragment.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/fragments/OverviewFragment.java @@ -476,13 +476,13 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener if (parent.getChildCount() > 0) { ((TextView) parent.getChildAt(0)).setTextColor(Color.GRAY); - List scaleUserList = OpenScale.getInstance(getContext()).getScaleUserList(); + OpenScale openScale = OpenScale.getInstance(getContext()); + List scaleUserList = openScale.getScaleUserList(); ScaleUser scaleUser = scaleUserList.get(position); - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - prefs.edit().putInt("selectedUserId", scaleUser.getId()).commit(); - OpenScale.getInstance(getContext()).updateScaleData(); + openScale.selectScaleUser(scaleUser.getId()); + openScale.updateScaleData(); } } diff --git a/android_app/app/src/main/java/com/health/openscale/gui/fragments/TableFragment.java b/android_app/app/src/main/java/com/health/openscale/gui/fragments/TableFragment.java index c95d586c..d022678f 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/fragments/TableFragment.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/fragments/TableFragment.java @@ -263,8 +263,7 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { @Override public void onClick(View v) { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(v.getContext()); - int selectedUserId = prefs.getInt("selectedUserId", -1); + int selectedUserId = OpenScale.getInstance(getContext()).getSelectedScaleUserId(); if (selectedUserId == -1) { 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 3a852b2e..82b4fda6 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 @@ -125,8 +125,7 @@ public class BackupPreferences extends PreferenceFragment { List scaleUserList = openScale.getScaleUserList(); if (!scaleUserList.isEmpty()) { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()); - prefs.edit().putInt("selectedUserId", scaleUserList.get(0).getId()).commit(); + openScale.selectScaleUser(scaleUserList.get(0).getId()); openScale.updateScaleData(); } diff --git a/android_app/app/src/main/java/com/health/openscale/gui/preferences/MeasurementPreferences.java b/android_app/app/src/main/java/com/health/openscale/gui/preferences/MeasurementPreferences.java index 64aff159..fe195dd4 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/preferences/MeasurementPreferences.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/preferences/MeasurementPreferences.java @@ -247,10 +247,10 @@ public class MeasurementPreferences extends PreferenceFragment implements Shared deleteAllDialog.setPositiveButton(getResources().getString(R.string.label_yes), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()); - int selectedUserId = prefs.getInt("selectedUserId", -1); + OpenScale openScale = OpenScale.getInstance(getActivity().getApplicationContext()); + int selectedUserId = openScale.getSelectedScaleUserId(); - OpenScale.getInstance(getActivity().getApplicationContext()).clearScaleData(selectedUserId); + openScale.clearScaleData(selectedUserId); Toast.makeText(getActivity().getApplicationContext(), getResources().getString(R.string.info_data_all_deleted), Toast.LENGTH_SHORT).show(); } diff --git a/android_app/app/src/main/java/com/health/openscale/gui/preferences/UsersPreferences.java b/android_app/app/src/main/java/com/health/openscale/gui/preferences/UsersPreferences.java index 0e5bc1af..1fdfa944 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/preferences/UsersPreferences.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/preferences/UsersPreferences.java @@ -41,15 +41,13 @@ public class UsersPreferences extends PreferenceFragment { updateUserPreferences(); } - private void updateUserPreferences() - { - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()); - int selectedUserId = prefs.getInt("selectedUserId", -1); + private void updateUserPreferences() { + OpenScale openScale = OpenScale.getInstance(getActivity().getApplicationContext()); + + int selectedUserId = openScale.getSelectedScaleUserId(); getPreferenceScreen().removeAll(); - OpenScale openScale = OpenScale.getInstance(getActivity().getApplicationContext()); - List scaleUserList = openScale.getScaleUserList(); for (ScaleUser scaleUser : scaleUserList)