From 870d6ed08ec05be436691d055efdd5996d59a925 Mon Sep 17 00:00:00 2001 From: OliE Date: Sat, 10 Jun 2017 13:34:29 +0200 Subject: [PATCH] ignore weight data that are out of range --- .../com/health/openscale/core/OpenScale.java | 9 +++++++ .../gui/preferences/BluetoothPreferences.java | 24 +++++++++++++++---- .../app/src/main/res/values-de/strings.xml | 1 + .../app/src/main/res/values/strings.xml | 1 + .../main/res/xml/bluetooth_preferences.xml | 1 + 5 files changed, 32 insertions(+), 4 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 cb7ac06b..2bef4f07 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 @@ -181,6 +181,7 @@ public class OpenScale { scaleData.setUserId(getSelectedScaleUser().id); } + // don't add scale data if no user is selected if (scaleData.getUserId() == -1) { return -1; } @@ -215,6 +216,14 @@ public class OpenScale { return inRangeWeights.entrySet().iterator().next().getValue(); } + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + + // if ignore out of range preference is true don't add this data + if (prefs.getBoolean("ignoreOfOutRange", false)) { + return -1; + } + + // return selected scale user id if not out of range preference is checked and weight is out of range of any user return getSelectedScaleUser().id; } diff --git a/android_app/app/src/main/java/com/health/openscale/gui/preferences/BluetoothPreferences.java b/android_app/app/src/main/java/com/health/openscale/gui/preferences/BluetoothPreferences.java index d04618e2..11103e6a 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/preferences/BluetoothPreferences.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/preferences/BluetoothPreferences.java @@ -17,6 +17,7 @@ package com.health.openscale.gui.preferences; import android.content.SharedPreferences; import android.os.Bundle; +import android.preference.CheckBoxPreference; import android.preference.EditTextPreference; import android.preference.ListPreference; import android.preference.MultiSelectListPreference; @@ -33,10 +34,16 @@ import java.util.Set; public class BluetoothPreferences extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener { - String[] btDeviceSupportInit; - String[] btDeviceSupportDataTransfer; - String[] btDeviceSupportDataHistory; - String[] btDeviceDefaultName; + public static final String PREFERENCE_KEY_BLUETOOTH_SMARTUSERASSIGN = "smartUserAssign"; + private static final String PREFERENCE_KEY_BLUETOOTH_IGNOREOUTOFRANGE = "ignoreOutOfRange"; + + private CheckBoxPreference smartAssignEnable; + private CheckBoxPreference ignoreOutOfRangeEnable; + + private String[] btDeviceSupportInit; + private String[] btDeviceSupportDataTransfer; + private String[] btDeviceSupportDataHistory; + private String[] btDeviceDefaultName; @Override public void onCreate(Bundle savedInstanceState) { @@ -44,6 +51,9 @@ public class BluetoothPreferences extends PreferenceFragment implements SharedPr addPreferencesFromResource(R.xml.bluetooth_preferences); + smartAssignEnable = (CheckBoxPreference) findPreference(PREFERENCE_KEY_BLUETOOTH_SMARTUSERASSIGN); + ignoreOutOfRangeEnable = (CheckBoxPreference) findPreference(PREFERENCE_KEY_BLUETOOTH_IGNOREOUTOFRANGE); + btDeviceSupportInit = getResources().getStringArray(R.array.bt_device_support_initializing); btDeviceSupportDataTransfer = getResources().getStringArray(R.array.bt_device_support_data_transfer); btDeviceSupportDataHistory = getResources().getStringArray(R.array.bt_device_support_data_history); @@ -82,6 +92,12 @@ public class BluetoothPreferences extends PreferenceFragment implements SharedPr } private void updatePrefSummary(Preference p) { + if (smartAssignEnable.isChecked()) { + ignoreOutOfRangeEnable.setEnabled(true); + } else { + ignoreOutOfRangeEnable.setEnabled(false); + } + if (p instanceof ListPreference) { ListPreference listPref = (ListPreference) p; diff --git a/android_app/app/src/main/res/values-de/strings.xml b/android_app/app/src/main/res/values-de/strings.xml index e7a9158d..4af152c4 100644 --- a/android_app/app/src/main/res/values-de/strings.xml +++ b/android_app/app/src/main/res/values-de/strings.xml @@ -126,4 +126,5 @@ Importiere Datensicherung Export Ordner nicht gefunden + Ignoriere Daten außerhalb des zulässigen Bereiches \ No newline at end of file diff --git a/android_app/app/src/main/res/values/strings.xml b/android_app/app/src/main/res/values/strings.xml index 4133e10c..ebdaee28 100644 --- a/android_app/app/src/main/res/values/strings.xml +++ b/android_app/app/src/main/res/values/strings.xml @@ -145,4 +145,5 @@ Backup Export dir not found + Ignore data that are out of range diff --git a/android_app/app/src/main/res/xml/bluetooth_preferences.xml b/android_app/app/src/main/res/xml/bluetooth_preferences.xml index 4af0b824..f6281199 100644 --- a/android_app/app/src/main/res/xml/bluetooth_preferences.xml +++ b/android_app/app/src/main/res/xml/bluetooth_preferences.xml @@ -4,4 +4,5 @@ + \ No newline at end of file