From 00954dfa6dc9e6e1fb6052ec95c40dfe7f4e6423 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Rebelo?= Date: Sun, 19 Mar 2023 22:25:44 +0000 Subject: [PATCH] Zepp OS: Add config to keep screen on during workout --- .../devicesettings/DeviceSettingsPreferenceConst.java | 1 + .../devicesettings/DeviceSpecificSettingsFragment.java | 1 + .../gadgetbridge/devices/huami/Huami2021Coordinator.java | 1 + .../devices/huami/Huami2021SettingsCustomizer.java | 3 ++- .../huami/zeppos/services/ZeppOsConfigService.java | 1 + app/src/main/res/values/strings.xml | 2 ++ .../res/xml/devicesettings_workout_keep_screen_on.xml | 9 +++++++++ 7 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 app/src/main/res/xml/devicesettings_workout_keep_screen_on.xml 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 c9f6dd4bac..3892915d47 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 @@ -208,6 +208,7 @@ public class DeviceSettingsPreferenceConst { public static final String PREF_AUTOREMOVE_MESSAGE = "autoremove_message"; public static final String PREF_AUTOREMOVE_NOTIFICATIONS = "autoremove_notifications"; public static final String PREF_SCREEN_ON_ON_NOTIFICATIONS = "screen_on_on_notifications"; + public static final String PREF_WORKOUT_KEEP_SCREEN_ON = "workout_keep_screen_on"; public static final String PREF_OPERATING_SOUNDS = "operating_sounds"; public static final String PREF_KEY_VIBRATION = "key_vibration"; public static final String PREF_FAKE_RING_DURATION = "fake_ring_duration"; 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 1d32e2d7f8..c2068a35b7 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 @@ -427,6 +427,7 @@ public class DeviceSpecificSettingsFragment extends PreferenceFragmentCompat imp addPreferenceHandlerFor(PREF_AUTOREMOVE_MESSAGE); addPreferenceHandlerFor(PREF_AUTOREMOVE_NOTIFICATIONS); addPreferenceHandlerFor(PREF_SCREEN_ON_ON_NOTIFICATIONS); + addPreferenceHandlerFor(PREF_WORKOUT_KEEP_SCREEN_ON); addPreferenceHandlerFor(PREF_KEY_VIBRATION); addPreferenceHandlerFor(PREF_OPERATING_SOUNDS); addPreferenceHandlerFor(PREF_FAKE_RING_DURATION); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/Huami2021Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/Huami2021Coordinator.java index f1fe2cd503..9cbae53a29 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/Huami2021Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/Huami2021Coordinator.java @@ -222,6 +222,7 @@ public abstract class Huami2021Coordinator extends HuamiCoordinator { settings.add(R.xml.devicesettings_workout_start_on_phone); settings.add(R.xml.devicesettings_workout_send_gps_to_band); } + settings.add(R.xml.devicesettings_workout_keep_screen_on); settings.add(R.xml.devicesettings_workout_detection); // diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/Huami2021SettingsCustomizer.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/Huami2021SettingsCustomizer.java index 63d5128e12..2eb079718f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/Huami2021SettingsCustomizer.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/Huami2021SettingsCustomizer.java @@ -204,7 +204,8 @@ public class Huami2021SettingsCustomizer extends HuamiSettingsCustomizer { DeviceSettingsPreferenceConst.PREF_HEADER_GPS, DeviceSettingsPreferenceConst.PREF_WORKOUT_START_ON_PHONE, DeviceSettingsPreferenceConst.PREF_WORKOUT_SEND_GPS_TO_BAND, - DeviceSettingsPreferenceConst.PREF_HEADER_WORKOUT_DETECTION + DeviceSettingsPreferenceConst.PREF_HEADER_WORKOUT_DETECTION, + DeviceSettingsPreferenceConst.PREF_WORKOUT_KEEP_SCREEN_ON )); hidePrefIfNoneVisible(handler, DeviceSettingsPreferenceConst.PREF_HEADER_AGPS, Arrays.asList( DeviceSettingsPreferenceConst.PREF_AGPS_EXPIRY_REMINDER_ENABLED, diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/services/ZeppOsConfigService.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/services/ZeppOsConfigService.java index 639c070db5..09e59ebab7 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/services/ZeppOsConfigService.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/services/ZeppOsConfigService.java @@ -298,6 +298,7 @@ public class ZeppOsConfigService extends AbstractZeppOsService { LIFT_WRIST_SCHEDULED_END(ConfigGroup.DISPLAY, ConfigType.DATETIME_HH_MM, 0x0a, PREF_DISPLAY_ON_LIFT_END), LIFT_WRIST_RESPONSE_SENSITIVITY(ConfigGroup.DISPLAY, ConfigType.BYTE, 0x0b, PREF_DISPLAY_ON_LIFT_SENSITIVITY), SCREEN_ON_ON_NOTIFICATIONS(ConfigGroup.DISPLAY, ConfigType.BOOL, 0x0c, PREF_SCREEN_ON_ON_NOTIFICATIONS), + WORKOUT_KEEP_SCREEN_ON(ConfigGroup.DISPLAY, ConfigType.BOOL, 0x0d, PREF_WORKOUT_KEEP_SCREEN_ON), ALWAYS_ON_DISPLAY_FOLLOW_WATCHFACE(ConfigGroup.DISPLAY, ConfigType.BOOL, 0x0e, PREF_ALWAYS_ON_DISPLAY_FOLLOW_WATCHFACE), ALWAYS_ON_DISPLAY_STYLE(ConfigGroup.DISPLAY, ConfigType.STRING_LIST, 0x0f, PREF_ALWAYS_ON_DISPLAY_STYLE), diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 702a6f4b60..4445d8f716 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -469,6 +469,8 @@ Start/stop fitness app tracking on phone when a GPS workout is started on the band Send GPS during workout Send the current GPS location to the band during a workout + Keep screen on during a workout + The screen will stay on during a workout, and brightness will be adjusted to continuously display real-time workout data Workout Detection Detect workout automatically Workout Categories diff --git a/app/src/main/res/xml/devicesettings_workout_keep_screen_on.xml b/app/src/main/res/xml/devicesettings_workout_keep_screen_on.xml new file mode 100644 index 0000000000..faaef91e84 --- /dev/null +++ b/app/src/main/res/xml/devicesettings_workout_keep_screen_on.xml @@ -0,0 +1,9 @@ + + + +