From b5e9727dcdd2cd55e37023a4034fe2b08adbcf02 Mon Sep 17 00:00:00 2001 From: Andreas Shimokawa Date: Sat, 5 Oct 2019 22:35:30 +0200 Subject: [PATCH] Make some more settings per-device settings - All ID115 settings migrated, allowing removal from settings activity - All timeformat settings for all devices migrated - All wrist location settings for all devices migrated (now you can have a mi band 3 on the left wrist and a bip on the right wrist :P) Also deduplicated some strings from zetime/generic preferences --- .../gadgetbridge/GBApplication.java | 67 ++++++++++++++++++- .../DeviceSettingsPreferenceConst.java | 5 +- .../DeviceSpecificSettingsFragment.java | 5 +- .../devices/hplus/HPlusConstants.java | 2 - .../devices/hplus/HPlusCoordinator.java | 28 +++++--- .../devices/huami/HuamiConst.java | 1 - .../amazfitbip/AmazfitBipCoordinator.java | 1 + .../amazfitcor/AmazfitCorCoordinator.java | 1 + .../amazfitcor2/AmazfitCor2Coordinator.java | 1 + .../huami/miband2/MiBand2Coordinator.java | 1 + .../huami/miband2/MiBand2HRXCoordinator.java | 13 ++++ .../huami/miband3/MiBand3Coordinator.java | 1 + .../huami/miband4/MiBand4Coordinator.java | 1 + .../devices/id115/ID115Constants.java | 3 - .../devices/id115/ID115Coordinator.java | 9 +++ .../devices/miband/MiBandConst.java | 1 - .../devices/miband/MiBandCoordinator.java | 9 +-- .../devices/zetime/ZeTimeConstants.java | 2 - .../devices/zetime/ZeTimeCoordinator.java | 20 ++++-- .../zetime/ZeTimePreferenceActivity.java | 5 +- .../service/devices/huami/HuamiSupport.java | 7 +- .../service/devices/id115/ID115Support.java | 9 +-- .../devices/zetime/ZeTimeDeviceSupport.java | 33 ++++++--- app/src/main/res/values-bg/strings.xml | 3 - app/src/main/res/values-ca/strings.xml | 3 - app/src/main/res/values-cs/strings.xml | 3 - app/src/main/res/values-de/strings.xml | 3 - app/src/main/res/values-el/strings.xml | 3 - app/src/main/res/values-es/strings.xml | 3 - app/src/main/res/values-et/strings.xml | 3 - app/src/main/res/values-fr/strings.xml | 3 - app/src/main/res/values-he/strings.xml | 3 - app/src/main/res/values-hu/strings.xml | 3 - app/src/main/res/values-it/strings.xml | 3 - app/src/main/res/values-nb-rNO/strings.xml | 3 - app/src/main/res/values-nl/strings.xml | 3 - app/src/main/res/values-pt-rBR/strings.xml | 3 - app/src/main/res/values-uk/strings.xml | 3 - app/src/main/res/values-zh-rCN/strings.xml | 3 - app/src/main/res/values/arrays.xml | 8 --- app/src/main/res/values/strings.xml | 3 - .../xml/devicesettings_screenorientation.xml | 11 +++ .../res/xml/devicesettings_wearlocation.xml | 12 ++++ app/src/main/res/xml/miband_preferences.xml | 8 --- app/src/main/res/xml/preferences.xml | 44 +----------- app/src/main/res/xml/zetime_preferences.xml | 15 ----- 46 files changed, 198 insertions(+), 176 deletions(-) create mode 100644 app/src/main/res/xml/devicesettings_screenorientation.xml create mode 100644 app/src/main/res/xml/devicesettings_wearlocation.xml diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBApplication.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBApplication.java index 6119391a2..9e066919e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBApplication.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBApplication.java @@ -78,9 +78,13 @@ import nodomain.freeyourgadget.gadgetbridge.util.Prefs; import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.AMAZFITBIP; import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.AMAZFITCOR; import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.AMAZFITCOR2; +import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.HPLUS; +import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.ID115; import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.MIBAND; import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.MIBAND2; import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.MIBAND3; +import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.MIBAND4; +import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.ZETIME; import static nodomain.freeyourgadget.gadgetbridge.model.DeviceType.fromKey; import static nodomain.freeyourgadget.gadgetbridge.util.GB.NOTIFICATION_CHANNEL_ID; @@ -99,7 +103,7 @@ public class GBApplication extends Application { private static SharedPreferences sharedPrefs; private static final String PREFS_VERSION = "shared_preferences_version"; //if preferences have to be migrated, increment the following and add the migration logic in migratePrefs below; see http://stackoverflow.com/questions/16397848/how-can-i-migrate-android-preferences-with-a-new-version - private static final int CURRENT_PREFS_VERSION = 4; + private static final int CURRENT_PREFS_VERSION = 5; private static LimitedQueue mIDSenderLookup = new LimitedQueue(16); private static Prefs prefs; private static GBPrefs gbPrefs; @@ -761,6 +765,67 @@ public class GBApplication extends Application { Log.w(TAG, "error acquiring DB lock"); } } + if (oldVersion < 5) { + try (DBHandler db = acquireDB()) { + DaoSession daoSession = db.getDaoSession(); + List activeDevices = DBHelper.getActiveDevices(daoSession); + for (Device dbDevice : activeDevices) { + SharedPreferences deviceSpecificSharedPrefs = GBApplication.getDeviceSpecificSharedPrefs(dbDevice.getIdentifier()); + if (deviceSpecificSharedPrefs != null) { + SharedPreferences.Editor deviceSharedPrefsEdit = deviceSpecificSharedPrefs.edit(); + DeviceType deviceType = fromKey(dbDevice.getType()); + + String newWearside = null; + String newOrientation = null; + String newTimeformat = null; + switch (deviceType) { + case AMAZFITBIP: + case AMAZFITCOR: + case AMAZFITCOR2: + case MIBAND: + case MIBAND2: + case MIBAND3: + case MIBAND4: + newWearside = prefs.getString("mi_wearside", "left"); + break; + case HPLUS: + newWearside = prefs.getString("hplus_wrist", "left"); + newTimeformat = prefs.getString("hplus_timeformat", "24h"); + break; + case ID115: + newWearside = prefs.getString("id115_wrist", "left"); + newOrientation = prefs.getString("id115_screen_orientation", "horizontal"); + break; + case ZETIME: + newWearside = prefs.getString("zetime_wrist", "left"); + newTimeformat = prefs.getInt("zetime_timeformat", 1) == 2 ? "am/pm" : "24h"; + break; + } + if (newWearside != null) { + deviceSharedPrefsEdit.putString("wearlocation", newWearside); + } + if (newOrientation != null) { + deviceSharedPrefsEdit.putString("screen_orientation", newOrientation); + } + if (newTimeformat != null) { + deviceSharedPrefsEdit.putString("timeformat", newTimeformat); + } + deviceSharedPrefsEdit.apply(); + } + } + editor.remove("hplus_timeformat"); + editor.remove("hplus_wrist"); + editor.remove("id115_wrist"); + editor.remove("id115_screen_orientation"); + editor.remove("mi_wearside"); + editor.remove("zetime_timeformat"); + editor.remove("zetime_wrist"); + + } catch (Exception e) { + Log.w(TAG, "error acquiring DB lock"); + } + } + editor.putString(PREFS_VERSION, Integer.toString(CURRENT_PREFS_VERSION)); editor.apply(); } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSettingsPreferenceConst.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSettingsPreferenceConst.java index a470e6cc2..e1f22d366 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSettingsPreferenceConst.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSettingsPreferenceConst.java @@ -1,5 +1,8 @@ package nodomain.freeyourgadget.gadgetbridge.activities.devicesettings; public class DeviceSettingsPreferenceConst { + public static final String PREF_DATEFORMAT = "dateformat"; public static final String PREF_TIMEFORMAT = "timeformat"; -} + public static final String PREF_WEARLOCATION = "wearlocation"; + public static final String PREF_SCREEN_ORIENTATION = "screen_orientation"; +} \ No newline at end of file diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSpecificSettingsFragment.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSpecificSettingsFragment.java index d18dcb9e8..cb1fe6c63 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSpecificSettingsFragment.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/devicesettings/DeviceSpecificSettingsFragment.java @@ -21,8 +21,8 @@ import nodomain.freeyourgadget.gadgetbridge.util.Prefs; import nodomain.freeyourgadget.gadgetbridge.util.XTimePreference; import nodomain.freeyourgadget.gadgetbridge.util.XTimePreferenceFragment; +import static nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst.*; import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_ACTIVATE_DISPLAY_ON_LIFT; -import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DATEFORMAT; import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DISCONNECT_NOTIFICATION; import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DISCONNECT_NOTIFICATION_END; import static nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst.PREF_DISCONNECT_NOTIFICATION_START; @@ -289,6 +289,9 @@ public class DeviceSpecificSettingsFragment extends PreferenceFragmentCompat { addPreferenceHandlerFor(PREF_DISPLAY_ITEMS); addPreferenceHandlerFor(PREF_LANGUAGE); addPreferenceHandlerFor(PREF_EXPOSE_HR_THIRDPARTY); + addPreferenceHandlerFor(PREF_WEARLOCATION); + addPreferenceHandlerFor(PREF_SCREEN_ORIENTATION); + addPreferenceHandlerFor(PREF_TIMEFORMAT); String displayOnLiftState = prefs.getString(PREF_ACTIVATE_DISPLAY_ON_LIFT, PREF_DO_NOT_DISTURB_OFF); boolean displayOnLiftScheduled = displayOnLiftState.equals(PREF_DO_NOT_DISTURB_SCHEDULED); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/HPlusConstants.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/HPlusConstants.java index 06c478672..527097535 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/HPlusConstants.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/HPlusConstants.java @@ -128,8 +128,6 @@ public final class HPlusConstants { public static final String PREF_HPLUS_SCREENTIME = "hplus_screentime"; public static final String PREF_HPLUS_ALLDAYHR = "hplus_alldayhr"; - public static final String PREF_HPLUS_TIMEFORMAT = "hplus_timeformat"; - public static final String PREF_HPLUS_WRIST = "hplus_wrist"; public static final String PREF_HPLUS_SIT_START_TIME = "hplus_sit_start_time"; public static final String PREF_HPLUS_SIT_END_TIME = "hplus_sit_end_time"; public static final String PREF_HPLUS_UNICODE = "hplus_unicode"; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/HPlusCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/HPlusCoordinator.java index 7c6ca3303..621ae54d2 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/HPlusCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/HPlusCoordinator.java @@ -43,6 +43,7 @@ import nodomain.freeyourgadget.gadgetbridge.GBApplication; import nodomain.freeyourgadget.gadgetbridge.GBException; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.SettingsActivity; +import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; @@ -196,10 +197,10 @@ public class HPlusCoordinator extends AbstractDeviceCoordinator { } } - public static byte getTimeMode(String address) { - String tmode = prefs.getString(HPlusConstants.PREF_HPLUS_TIMEFORMAT, getContext().getString(R.string.p_timeformat_24h)); + public static byte getTimeMode(String deviceAddress) { + String tmode = GBApplication.getDeviceSpecificSharedPrefs(deviceAddress).getString(DeviceSettingsPreferenceConst.PREF_TIMEFORMAT, "24h"); - if(tmode.equals(getContext().getString(R.string.p_timeformat_24h))) { + if ("24h".equals(tmode)) { return HPlusConstants.ARG_TIMEMODE_24H; }else{ return HPlusConstants.ARG_TIMEMODE_12H; @@ -269,12 +270,14 @@ public class HPlusCoordinator extends AbstractDeviceCoordinator { return (byte) 255; } - public static byte getUserWrist(String address) { - String value = prefs.getString(HPlusConstants.PREF_HPLUS_WRIST, getContext().getString(R.string.left)); + //FIXME: unused + public static byte getUserWrist(String deviceAddress) { + SharedPreferences sharedPreferences = GBApplication.getDeviceSpecificSharedPrefs(deviceAddress); + String value = sharedPreferences.getString(DeviceSettingsPreferenceConst.PREF_WEARLOCATION, "left"); - if(value.equals(getContext().getString(R.string.left))){ + if ("left".equals(value)) { return HPlusConstants.ARG_WRIST_LEFT; - }else{ + } else { return HPlusConstants.ARG_WRIST_RIGHT; } } @@ -290,10 +293,19 @@ public class HPlusCoordinator extends AbstractDeviceCoordinator { public static void setUnicodeSupport(String address, boolean state){ SharedPreferences.Editor editor = prefs.getPreferences().edit(); editor.putBoolean(HPlusConstants.PREF_HPLUS_UNICODE + "_" + address, state); - editor.commit(); + editor.apply(); } public static boolean getUnicodeSupport(String address){ return (prefs.getBoolean(HPlusConstants.PREF_HPLUS_UNICODE + "_" + address, false)); } + + @Override + public int[] getSupportedDeviceSpecificSettings(GBDevice device) { + return new int[]{ + //R.xml.devicesettings_wearlocation, // disabled, since it is never used in code + R.xml.devicesettings_timeformat + }; + } + } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/HuamiConst.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/HuamiConst.java index c4ccca2bf..891a14c0e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/HuamiConst.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/HuamiConst.java @@ -60,7 +60,6 @@ public class HuamiConst { public static final String PREF_DISPLAY_ITEMS = "display_items"; public static final String PREF_LANGUAGE = "language"; - public static final String PREF_DATEFORMAT = "dateformat"; public static final String PREF_EXPOSE_HR_THIRDPARTY = "expose_hr_thirdparty"; public static final String PREF_USE_CUSTOM_FONT = "use_custom_font"; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitbip/AmazfitBipCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitbip/AmazfitBipCoordinator.java index 90e84f759..09cb0dd6a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitbip/AmazfitBipCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitbip/AmazfitBipCoordinator.java @@ -81,6 +81,7 @@ public class AmazfitBipCoordinator extends HuamiCoordinator { public int[] getSupportedDeviceSpecificSettings(GBDevice device) { return new int[]{ R.xml.devicesettings_amazfitbip, + R.xml.devicesettings_wearlocation, R.xml.devicesettings_custom_emoji_font, R.xml.devicesettings_liftwrist_display, R.xml.devicesettings_disconnectnotification, diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitcor/AmazfitCorCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitcor/AmazfitCorCoordinator.java index 91103a461..7b35d5a88 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitcor/AmazfitCorCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitcor/AmazfitCorCoordinator.java @@ -84,6 +84,7 @@ public class AmazfitCorCoordinator extends HuamiCoordinator { public int[] getSupportedDeviceSpecificSettings(GBDevice device) { return new int[]{ R.xml.devicesettings_amazfitcor, + R.xml.devicesettings_wearlocation, R.xml.devicesettings_custom_emoji_font, R.xml.devicesettings_liftwrist_display, R.xml.devicesettings_disconnectnotification, diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitcor2/AmazfitCor2Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitcor2/AmazfitCor2Coordinator.java index 963e997fd..eab4dce79 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitcor2/AmazfitCor2Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/amazfitcor2/AmazfitCor2Coordinator.java @@ -86,6 +86,7 @@ public class AmazfitCor2Coordinator extends HuamiCoordinator { public int[] getSupportedDeviceSpecificSettings(GBDevice device) { return new int[]{ R.xml.devicesettings_amazfitcor, + R.xml.devicesettings_wearlocation, R.xml.devicesettings_liftwrist_display, R.xml.devicesettings_disconnectnotification, R.xml.devicesettings_pairingkey}; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband2/MiBand2Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband2/MiBand2Coordinator.java index a8bd207a6..52d22230a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband2/MiBand2Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband2/MiBand2Coordinator.java @@ -84,6 +84,7 @@ public class MiBand2Coordinator extends HuamiCoordinator { public int[] getSupportedDeviceSpecificSettings(GBDevice device) { return new int[]{ R.xml.devicesettings_miband2, + R.xml.devicesettings_wearlocation, R.xml.devicesettings_donotdisturb_withauto, R.xml.devicesettings_liftwrist_display, R.xml.devicesettings_rotatewrist_cycleinfo, diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband2/MiBand2HRXCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband2/MiBand2HRXCoordinator.java index 994aadfa7..d646482a5 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband2/MiBand2HRXCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband2/MiBand2HRXCoordinator.java @@ -25,6 +25,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import androidx.annotation.NonNull; + +import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiConst; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiCoordinator; @@ -75,4 +77,15 @@ public class MiBand2HRXCoordinator extends HuamiCoordinator { return false; } + @Override + public int[] getSupportedDeviceSpecificSettings(GBDevice device) { + return new int[]{ + R.xml.devicesettings_miband2, + R.xml.devicesettings_wearlocation, + R.xml.devicesettings_donotdisturb_withauto, + R.xml.devicesettings_liftwrist_display, + R.xml.devicesettings_rotatewrist_cycleinfo, + R.xml.devicesettings_pairingkey + }; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband3/MiBand3Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband3/MiBand3Coordinator.java index ad757c876..d2f23274a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband3/MiBand3Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband3/MiBand3Coordinator.java @@ -103,6 +103,7 @@ public class MiBand3Coordinator extends HuamiCoordinator { public int[] getSupportedDeviceSpecificSettings(GBDevice device) { return new int[]{ R.xml.devicesettings_miband3, + R.xml.devicesettings_wearlocation, R.xml.devicesettings_dateformat, R.xml.devicesettings_nightmode, R.xml.devicesettings_donotdisturb_withauto, diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband4/MiBand4Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband4/MiBand4Coordinator.java index fba3a5856..68ce12840 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband4/MiBand4Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/miband4/MiBand4Coordinator.java @@ -88,6 +88,7 @@ public class MiBand4Coordinator extends HuamiCoordinator { public int[] getSupportedDeviceSpecificSettings(GBDevice device) { return new int[]{ R.xml.devicesettings_miband3, + R.xml.devicesettings_wearlocation, R.xml.devicesettings_dateformat, R.xml.devicesettings_nightmode, R.xml.devicesettings_liftwrist_display, diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/id115/ID115Constants.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/id115/ID115Constants.java index 86d70bcca..7c822a986 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/id115/ID115Constants.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/id115/ID115Constants.java @@ -23,9 +23,6 @@ import nodomain.freeyourgadget.gadgetbridge.model.NotificationType; import static nodomain.freeyourgadget.gadgetbridge.service.btle.AbstractBTLEDeviceSupport.BASE_UUID; public class ID115Constants { - public static final String PREF_WRIST = "id115_wrist"; - public static final String PREF_SCREEN_ORIENTATION = "id115_screen_orientation"; - public static final UUID UUID_SERVICE_ID115 = UUID.fromString(String.format(BASE_UUID, "0AF0")); public static final UUID UUID_CHARACTERISTIC_WRITE_NORMAL = UUID.fromString(String.format(BASE_UUID, "0AF6")); public static final UUID UUID_CHARACTERISTIC_NOTIFY_NORMAL = UUID.fromString(String.format(BASE_UUID, "0AF7")); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/id115/ID115Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/id115/ID115Coordinator.java index d431978e3..f60532eaf 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/id115/ID115Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/id115/ID115Coordinator.java @@ -31,6 +31,7 @@ import java.util.Collections; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import nodomain.freeyourgadget.gadgetbridge.GBException; +import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; @@ -154,4 +155,12 @@ public class ID115Coordinator extends AbstractDeviceCoordinator { public boolean supportsFindDevice() { return false; } + + @Override + public int[] getSupportedDeviceSpecificSettings(GBDevice device) { + return new int[]{ + R.xml.devicesettings_wearlocation, + R.xml.devicesettings_screenorientation + }; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandConst.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandConst.java index a69ca4ead..7e2ab22a7 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandConst.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandConst.java @@ -23,7 +23,6 @@ import nodomain.freeyourgadget.gadgetbridge.util.Version; public final class MiBandConst { public static final String PREF_USER_ALIAS = "mi_user_alias"; - public static final String PREF_MIBAND_WEARSIDE = "mi_wearside"; public static final String PREF_MIBAND_ADDRESS = "development_miaddr"; // FIXME: should be prefixed mi_ public static final String PREF_MIBAND_ALARMS = "mi_alarms"; public static final String PREF_MIBAND_DONT_ACK_TRANSFER = "mi_dont_ack_transfer"; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandCoordinator.java index fd8154294..1676d1249 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandCoordinator.java @@ -22,7 +22,6 @@ import android.app.Activity; import android.bluetooth.BluetoothDevice; import android.bluetooth.le.ScanFilter; import android.content.Context; -import android.content.SharedPreferences; import android.net.Uri; import android.os.Build; import android.os.ParcelUuid; @@ -38,6 +37,7 @@ import de.greenrobot.dao.query.QueryBuilder; import nodomain.freeyourgadget.gadgetbridge.GBApplication; import nodomain.freeyourgadget.gadgetbridge.GBException; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; @@ -228,10 +228,10 @@ public class MiBandCoordinator extends AbstractDeviceCoordinator { return info; } - public static int getWearLocation(String miBandAddress) throws IllegalArgumentException { + public static int getWearLocation(String deviceAddress) throws IllegalArgumentException { int location = 0; //left hand - Prefs prefs = GBApplication.getPrefs(); - if ("right".equals(prefs.getString(MiBandConst.PREF_MIBAND_WEARSIDE, "left"))) { + Prefs prefs = new Prefs(GBApplication.getDeviceSpecificSharedPrefs(deviceAddress)); + if ("right".equals(prefs.getString(DeviceSettingsPreferenceConst.PREF_WEARLOCATION, "left"))) { location = 1; // right hand } return location; @@ -261,6 +261,7 @@ public class MiBandCoordinator extends AbstractDeviceCoordinator { @Override public int[] getSupportedDeviceSpecificSettings(GBDevice device) { return new int[]{ + R.xml.devicesettings_wearlocation, R.xml.devicesettings_lowlatency_fwupdate, R.xml.devicesettings_fake_timeoffset }; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/zetime/ZeTimeConstants.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/zetime/ZeTimeConstants.java index 3355f3958..c1dacc406 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/zetime/ZeTimeConstants.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/zetime/ZeTimeConstants.java @@ -124,7 +124,6 @@ public class ZeTimeConstants { public static final byte INACTIVITY_TYPE = (byte) 0x08; public static final byte LOW_POWER_TYPE = (byte) 0x09; // watch settings - public static final String PREF_WRIST = "zetime_wrist"; public static final byte WEAR_ON_LEFT_WRIST = (byte) 0x00; public static final byte WEAR_ON_RIGHT_WRIST = (byte) 0x01; @@ -160,7 +159,6 @@ public class ZeTimeConstants { public static final String PREF_ACTIVITY_TRACKING = "zetime_activity_tracking"; public static final String PREF_HANDMOVE_DISPLAY = "zetime_handmove_display"; public static final String PREF_CALORIES_TYPE = "zetime_calories_type"; - public static final String PREF_TIME_FORMAT = "zetime_time_format"; public static final String PREF_DATE_FORMAT = "zetime_date_format"; public static final String PREF_ALARM_SIGNALING = "zetime_alarm_signaling"; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/zetime/ZeTimeCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/zetime/ZeTimeCoordinator.java index ddc7a484d..3f80a8b53 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/zetime/ZeTimeCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/zetime/ZeTimeCoordinator.java @@ -22,11 +22,12 @@ import android.bluetooth.le.ScanFilter; import android.content.Context; import android.net.Uri; -import java.util.Collection; - import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import nodomain.freeyourgadget.gadgetbridge.GBException; + +import java.util.Collection; + +import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractDeviceCoordinator; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; @@ -37,9 +38,6 @@ import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; import nodomain.freeyourgadget.gadgetbridge.model.ActivitySample; import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; -/** - * Created by lightwars on 06.02.18. - */ public class ZeTimeCoordinator extends AbstractDeviceCoordinator { @Override @@ -135,7 +133,7 @@ public class ZeTimeCoordinator extends AbstractDeviceCoordinator { } @Override - protected void deleteDevice(@NonNull GBDevice gbDevice, @NonNull Device device, @NonNull DaoSession session) throws GBException { + protected void deleteDevice(@NonNull GBDevice gbDevice, @NonNull Device device, @NonNull DaoSession session) { } @@ -161,4 +159,12 @@ public class ZeTimeCoordinator extends AbstractDeviceCoordinator { @Override public boolean supportsUnicodeEmojis() { return true; } + + @Override + public int[] getSupportedDeviceSpecificSettings(GBDevice device) { + return new int[]{ + R.xml.devicesettings_timeformat, + R.xml.devicesettings_wearlocation, + }; + } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/zetime/ZeTimePreferenceActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/zetime/ZeTimePreferenceActivity.java index da9d9f57b..e1128f297 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/zetime/ZeTimePreferenceActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/zetime/ZeTimePreferenceActivity.java @@ -22,6 +22,7 @@ import android.preference.Preference; import nodomain.freeyourgadget.gadgetbridge.GBApplication; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivity; +import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst; public class ZeTimePreferenceActivity extends AbstractSettingsActivity { @Override @@ -43,8 +44,6 @@ public class ZeTimePreferenceActivity extends AbstractSettingsActivity { addPreferenceHandlerFor(ZeTimeConstants.PREF_SCREENTIME); - addPreferenceHandlerFor(ZeTimeConstants.PREF_WRIST); - addPreferenceHandlerFor(ZeTimeConstants.PREF_ANALOG_MODE); addPreferenceHandlerFor(ZeTimeConstants.PREF_ACTIVITY_TRACKING); @@ -57,8 +56,6 @@ public class ZeTimePreferenceActivity extends AbstractSettingsActivity { addPreferenceHandlerFor(ZeTimeConstants.PREF_CALORIES_TYPE); - addPreferenceHandlerFor(ZeTimeConstants.PREF_TIME_FORMAT); - addPreferenceHandlerFor(ZeTimeConstants.PREF_DATE_FORMAT); addPreferenceHandlerFor(ZeTimeConstants.PREF_INACTIVITY_ENABLE); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiSupport.java index f32400011..7b726360b 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiSupport.java @@ -53,6 +53,7 @@ import nodomain.freeyourgadget.gadgetbridge.GBApplication; import nodomain.freeyourgadget.gadgetbridge.Logging; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.SettingsActivity; +import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst; import nodomain.freeyourgadget.gadgetbridge.database.DBHandler; import nodomain.freeyourgadget.gadgetbridge.database.DBHelper; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventBatteryInfo; @@ -127,7 +128,6 @@ import nodomain.freeyourgadget.gadgetbridge.util.DeviceHelper; import nodomain.freeyourgadget.gadgetbridge.util.GB; import nodomain.freeyourgadget.gadgetbridge.util.NotificationUtils; import nodomain.freeyourgadget.gadgetbridge.util.Prefs; -import nodomain.freeyourgadget.gadgetbridge.util.StringUtils; import nodomain.freeyourgadget.gadgetbridge.util.Version; import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.DEFAULT_VALUE_VIBRATION_COUNT; @@ -1502,7 +1502,7 @@ public class HuamiSupport extends AbstractBTLEDeviceSupport { case MiBandConst.PREF_SWIPE_UNLOCK: setBandScreenUnlock(builder); break; - case HuamiConst.PREF_DATEFORMAT: + case DeviceSettingsPreferenceConst.PREF_DATEFORMAT: setDateFormat(builder); break; case HuamiConst.PREF_LANGUAGE: @@ -1511,6 +1511,9 @@ public class HuamiSupport extends AbstractBTLEDeviceSupport { case HuamiConst.PREF_EXPOSE_HR_THIRDPARTY: setExposeHRThridParty(builder); break; + case DeviceSettingsPreferenceConst.PREF_WEARLOCATION: + setWearLocation(builder); + break; } builder.queue(getQueue()); } catch (IOException e) { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/id115/ID115Support.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/id115/ID115Support.java index 77363230d..bcc2c1206 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/id115/ID115Support.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/id115/ID115Support.java @@ -30,6 +30,7 @@ import java.util.TimeZone; import java.util.UUID; import nodomain.freeyourgadget.gadgetbridge.GBApplication; +import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst; import nodomain.freeyourgadget.gadgetbridge.devices.id115.ID115Constants; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.ActivityUser; @@ -296,11 +297,11 @@ public class ID115Support extends AbstractBTLEDeviceSupport { } ID115Support setWrist(TransactionBuilder builder) { - String value = GBApplication.getPrefs().getString(ID115Constants.PREF_WRIST, + String value = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getString(DeviceSettingsPreferenceConst.PREF_WEARLOCATION, "left"); byte wrist; - if (value.equals("left")) { + if ("left".equals(value)) { wrist = ID115Constants.CMD_ARG_LEFT; } else { wrist = ID115Constants.CMD_ARG_RIGHT; @@ -314,11 +315,11 @@ public class ID115Support extends AbstractBTLEDeviceSupport { } ID115Support setScreenOrientation(TransactionBuilder builder) { - String value = GBApplication.getPrefs().getString(ID115Constants.PREF_SCREEN_ORIENTATION, + String value = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getString(DeviceSettingsPreferenceConst.PREF_SCREEN_ORIENTATION, "horizontal"); byte orientation; - if (value.equals("horizontal")) { + if ("horizontal".equals(value)) { orientation = ID115Constants.CMD_ARG_HORIZONTAL; } else { orientation = ID115Constants.CMD_ARG_VERTICAL; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/zetime/ZeTimeDeviceSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/zetime/ZeTimeDeviceSupport.java index 6432bb9f7..ae0352a84 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/zetime/ZeTimeDeviceSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/zetime/ZeTimeDeviceSupport.java @@ -39,6 +39,7 @@ import java.util.UUID; import nodomain.freeyourgadget.gadgetbridge.GBApplication; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSettingsPreferenceConst; import nodomain.freeyourgadget.gadgetbridge.database.DBHandler; import nodomain.freeyourgadget.gadgetbridge.database.DBHelper; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventBatteryInfo; @@ -147,7 +148,7 @@ public class ZeTimeDeviceSupport extends AbstractBTLEDeviceSupport { try { TransactionBuilder builder = performInitialized("sendConfiguration"); switch (config) { - case ZeTimeConstants.PREF_WRIST: + case DeviceSettingsPreferenceConst.PREF_WEARLOCATION: setWrist(builder); break; case ZeTimeConstants.PREF_SCREENTIME: @@ -170,7 +171,7 @@ public class ZeTimeDeviceSupport extends AbstractBTLEDeviceSupport { case ZeTimeConstants.PREF_CALORIES_TYPE: setCaloriesType(builder); break; - case ZeTimeConstants.PREF_TIME_FORMAT: + case DeviceSettingsPreferenceConst.PREF_TIMEFORMAT: setTimeFormate(builder); break; case ZeTimeConstants.PREF_DATE_FORMAT: @@ -1421,7 +1422,7 @@ public class ZeTimeDeviceSupport extends AbstractBTLEDeviceSupport { // function serving the settings private void setWrist(TransactionBuilder builder) { - String value = GBApplication.getPrefs().getString(ZeTimeConstants.PREF_WRIST, "left"); + String value = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getString(DeviceSettingsPreferenceConst.PREF_WEARLOCATION, "left"); byte[] wrist = {ZeTimeConstants.CMD_PREAMBLE, ZeTimeConstants.CMD_USAGE_HABITS, @@ -1430,7 +1431,7 @@ public class ZeTimeDeviceSupport extends AbstractBTLEDeviceSupport { (byte) 0x0, ZeTimeConstants.WEAR_ON_LEFT_WRIST, ZeTimeConstants.CMD_END}; - if (value.equals("right")) { + if ("right".equals(value)) { wrist[5] = ZeTimeConstants.WEAR_ON_RIGHT_WRIST; } @@ -1681,8 +1682,11 @@ public class ZeTimeDeviceSupport extends AbstractBTLEDeviceSupport { } private void setTimeFormate(TransactionBuilder builder) { - Prefs prefs = GBApplication.getPrefs(); - int type = prefs.getInt(ZeTimeConstants.PREF_TIME_FORMAT, 0); + String timeFormat = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).getString(DeviceSettingsPreferenceConst.PREF_TIMEFORMAT, "24h"); + int type = 1; + if ("am/pm".equals(timeFormat)) { + type = 2; + } byte[] timeformat = {ZeTimeConstants.CMD_PREAMBLE, ZeTimeConstants.CMD_TIME_SURFACE_SETTINGS, @@ -1961,8 +1965,17 @@ public class ZeTimeDeviceSupport extends AbstractBTLEDeviceSupport { SharedPreferences.Editor prefs = GBApplication.getPrefs().getPreferences().edit(); prefs.putString(ZeTimeConstants.PREF_DATE_FORMAT, Integer.toString(msg[5])); - prefs.putString(ZeTimeConstants.PREF_TIME_FORMAT, Integer.toString(msg[6])); prefs.apply(); + + String timeFormat = "24h"; + + SharedPreferences.Editor prefsEditor = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).edit(); + + if (msg[6] == 2) { + timeFormat = "am/pm"; + } + prefsEditor.putString(DeviceSettingsPreferenceConst.PREF_TIMEFORMAT, timeFormat); + prefsEditor.apply(); } private void getSignaling(byte[] msg) { @@ -2021,12 +2034,12 @@ public class ZeTimeDeviceSupport extends AbstractBTLEDeviceSupport { } private void getWrist(byte[] msg) { - SharedPreferences.Editor prefs = GBApplication.getPrefs().getPreferences().edit(); + SharedPreferences.Editor prefs = GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress()).edit(); if (ZeTimeConstants.WEAR_ON_LEFT_WRIST == msg[5]) { - prefs.putString(ZeTimeConstants.PREF_WRIST, "left"); + prefs.putString(DeviceSettingsPreferenceConst.PREF_WEARLOCATION, "left"); } else if (ZeTimeConstants.WEAR_ON_RIGHT_WRIST == msg[5]) { - prefs.putString(ZeTimeConstants.PREF_WRIST, "right"); + prefs.putString(DeviceSettingsPreferenceConst.PREF_WEARLOCATION, "right"); } prefs.apply(); } diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index e9af4037d..73b92d320 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -305,9 +305,6 @@ Вид калории Само активно изгорени калории Активно и неактивно изгорени калории - Часови формат - 24часа - 12часа Формат на датата ГГ/ММ/ДД ДД/ММ/ГГ diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index e734ef05a..d31fdd31b 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -659,9 +659,6 @@ Tipus de calories Només les calories cremades de forma activa Calories cremades de forma activa i en repòs - Format d\'hora - 24h - 12h Format de data AA/MM/DD DD/MM/AA diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 81b524e83..69e7c9739 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -647,9 +647,6 @@ Nastavení kalorií Pouze spálené kalorie Aktivní a neaktivní spálené kalorie - Formát času - 24h - 12h Formát datumu YY/MM/DD DD/MM/YY diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index d8815db7f..0dc5239c1 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -652,9 +652,6 @@ Herzfrequenz Einstellungen Herzfrequenz Alarm Herzfrequenz Alarm aktivieren - Zeitformat - 24h - 12h Datumsformat JJ/MM/TT TT/MM/JJ diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 348ddb7df..31b334832 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -656,9 +656,6 @@ Τύπος θερμίδων Ενεργές μόνο θερμίδες που έχετε κάψει Ενεργές και ανενεργές θερμίδες - Μορφή ώρας - 24ωρη - 12ωρη Μορφή ημερομηνίας ΕΕ/ΜΜ/ΗΗ ΗΗ/ΜΜ/ΕΕ diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index b2b1f2863..ed4045d93 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -648,9 +648,6 @@ Gire la muñeca para activar o desactivar la pantalla. Tipo de calorías Solo activo para quemar calorías - Formato de hora - 24H - 12H Formato de fecha aa/mm/dd dd/mm/aa diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index c1ff10b3a..0c1395ecf 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -201,9 +201,6 @@ Kalorite tüüp Ainult aktiivselt põletatud kalorid Aktiivselt ja passiivselt põletatud kalorid - Kellaaja vorming - 24h - 12h Kuupäeva vorming Kordused Esmaspäev diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index dfa720d8e..68f620725 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -650,9 +650,6 @@ Temps de sommeil préféré en heures Type de calories Seulement les calories brûlées activement Calories brûlées activement et au repos - Format de l\'heure - 24h - 12h Format de la date aaaa/mm/jj jj/mm/aaaa diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index 30c44b8d9..019f4549e 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -644,9 +644,6 @@ סוג קלוריות קלוריות פעילות שנשרפו בלבד קלוריות פעילות ובלתי פעילות שנשרפו בלבד - תצורת זמן - 24 שעות - 12 שעות תצורת תאריך YY/MM/DD DD/MM/YY diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index f7dffee61..8164b3642 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -414,9 +414,6 @@ Biztos a gyári beállítások visszaállításában\? Analóg mód Képernyő be és kikapcsolása csukló forgatása által. - Időformátum - 24 óra - 12 óra Dátum formátum Ismétlés Hétfő diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 1bb7c9532..f22af9655 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -630,8 +630,6 @@ Frequenza cardiaca massima Frequenza cardiaca minima Ruota il polso per attivare o disattivare il display. - 24h - 12h Formato data AA/MM/GG GG/MM/AA @@ -656,7 +654,6 @@ Tipo calorie Solo calorie bruciate attivamente Calorie bruciate attivamente e passivamente - Formato ora Ripetizioni Imposta il tipo di segnale per l\'allarme Silenzioso diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index 2dd015e29..978ddb61a 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -637,9 +637,6 @@ Aktivitetssporing Håndbevegelse Kaloritype - Tidsformat - 24t - 12t Datoformat ÅÅ/MM/DD DD/MM/ÅÅ diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index a541a719f..a625f624e 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -651,9 +651,6 @@ Soort calorieën Alleen calorieën verbrand gedurende activiteiten Verbrande calorieën actief en inactief - Tijd formaat - 24 uur - 12 uur Datum formaat YY/MM/DD DD/MM/YY diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 9ffaae78c..f1b3ff785 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -657,9 +657,6 @@ Tipo de calorias Só ativar calorias queimadas Calorias queimadas ativas e inativas - Formato da hora - 24h - 12h Formato da data AA/MM/DD DD/MM/AA diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 99377fe17..c7b75ad75 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -466,9 +466,6 @@ Мінімальне серцебиття Аналоговий режим Лише вручну - Формат часу - 24г - 12г Формат дати РР/ММ/ДД ДД/ММ/РР diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 00263d77f..533c0d73f 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -651,9 +651,6 @@ 卡路里类型 仅运动消耗的热量 运行和非运动消耗的热量 - 时间格式 - 24小时制 - 12小时制 日期格式 YY/MM/DD DD/MM/YY diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index c86d9c54f..326b1f064 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -546,14 +546,6 @@ 0 1 - - @string/zetime_time_format_24h - @string/zetime_time_format_12h - - - 1 - 2 - @string/zetime_date_format_1 @string/zetime_date_format_2 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 166540353..fcccadd6f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -210,9 +210,6 @@ Calories type Only active burnt calories Active and inactive burnt calories - Time format - 24h - 12h Date format YY/MM/DD DD/MM/YY diff --git a/app/src/main/res/xml/devicesettings_screenorientation.xml b/app/src/main/res/xml/devicesettings_screenorientation.xml new file mode 100644 index 000000000..b8ed5301c --- /dev/null +++ b/app/src/main/res/xml/devicesettings_screenorientation.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/app/src/main/res/xml/devicesettings_wearlocation.xml b/app/src/main/res/xml/devicesettings_wearlocation.xml new file mode 100644 index 000000000..7dfa3c3e6 --- /dev/null +++ b/app/src/main/res/xml/devicesettings_wearlocation.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/app/src/main/res/xml/miband_preferences.xml b/app/src/main/res/xml/miband_preferences.xml index ff281d0cc..13dca15b9 100644 --- a/app/src/main/res/xml/miband_preferences.xml +++ b/app/src/main/res/xml/miband_preferences.xml @@ -9,14 +9,6 @@ android:maxLength="17" android:title="@string/miband_prefs_alias" /> - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/xml/zetime_preferences.xml b/app/src/main/res/xml/zetime_preferences.xml index 63a84c5e6..02a85af14 100644 --- a/app/src/main/res/xml/zetime_preferences.xml +++ b/app/src/main/res/xml/zetime_preferences.xml @@ -4,13 +4,6 @@ android:key="pref_category_zetime_general" android:title="@string/pref_header_general"> - - -