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 3339dd0e4..444a42aec 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 @@ -127,6 +127,18 @@ public class ZeTimeConstants { public static final String PREF_DO_NOT_DISTURB_START = "zetime_do_not_disturb_start"; public static final String PREF_DO_NOT_DISTURB_END = "zetime_do_not_disturb_end"; + public static final String PREF_INACTIVITY_ENABLE = "zetime_inactivity_warnings"; + public static final String PREF_INACTIVITY_START = "zetime_inactivity_warnings_start"; + public static final String PREF_INACTIVITY_END = "zetime_inactivity_warnings_end"; + public static final String PREF_INACTIVITY_THRESHOLD = "zetime_inactivity_warnings_threshold"; + public static final String PREF_INACTIVITY_MO = "zetime_prefs_inactivity_repetitions_mo"; + public static final String PREF_INACTIVITY_TU = "zetime_prefs_inactivity_repetitions_tu"; + public static final String PREF_INACTIVITY_WE = "zetime_prefs_inactivity_repetitions_we"; + public static final String PREF_INACTIVITY_TH = "zetime_prefs_inactivity_repetitions_th"; + public static final String PREF_INACTIVITY_FR = "zetime_prefs_inactivity_repetitions_fr"; + public static final String PREF_INACTIVITY_SA = "zetime_prefs_inactivity_repetitions_sa"; + public static final String PREF_INACTIVITY_SU = "zetime_prefs_inactivity_repetitions_su"; + public static final String PREF_ANALOG_MODE = "zetime_analog_mode"; public static final String PREF_ACTIVITY_TRACKING = "zetime_activity_tracking"; public static final String PREF_HANDMOVE_DISPLAY = "zetime_handmove_display"; 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 46ec21fe5..50787b246 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 @@ -1614,4 +1614,50 @@ public class ZeTimeDeviceSupport extends AbstractBTLEDeviceSupport { sendMsgToWatch(builder, dateformat); } + + private void setInactivityAlert(TransactionBuilder builder) + { + Prefs prefs = GBApplication.getPrefs(); + boolean enabled = prefs.getBoolean(ZeTimeConstants.PREF_INACTIVITY_ENABLE, false); + int threshold = prefs.getInt(ZeTimeConstants.PREF_INACTIVITY_THRESHOLD, 60); + + if(threshold > 0xff) + { + threshold = 0xff; + GB.toast(getContext(), "Value for inactivity threshold is greater than 255min! ", Toast.LENGTH_LONG, GB.ERROR); + } + + byte[] inactivity = { + ZeTimeConstants.CMD_PREAMBLE, + ZeTimeConstants.CMD_INACTIVITY_ALERT, + ZeTimeConstants.CMD_SEND, + (byte)0x8, + (byte)0x0, + (byte)0x0, + (byte)threshold, + (byte)0x0, + (byte)0x0, + (byte)0x0, + (byte)0x0, + (byte)0x64, + (byte)0x0, + ZeTimeConstants.CMD_END + }; + + if(enabled) + { + int reps = (1 << 7); // set inactivity active: set bit 7 + reps |= prefs.getInt(ZeTimeConstants.PREF_INACTIVITY_MO, 0); + reps |= (prefs.getInt(ZeTimeConstants.PREF_INACTIVITY_TU, 0) << 1); + reps |= (prefs.getInt(ZeTimeConstants.PREF_INACTIVITY_WE, 0) << 2); + reps |= (prefs.getInt(ZeTimeConstants.PREF_INACTIVITY_TH, 0) << 3); + reps |= (prefs.getInt(ZeTimeConstants.PREF_INACTIVITY_FR, 0) << 4); + reps |= (prefs.getInt(ZeTimeConstants.PREF_INACTIVITY_SA, 0) << 5); + reps |= (prefs.getInt(ZeTimeConstants.PREF_INACTIVITY_SU, 0) << 6); + + inactivity[5] = (byte)reps; + } + + sendMsgToWatch(builder, inactivity); + } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1d48124c8..e86ca3de9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -228,6 +228,14 @@ YY/MM/DD DD/MM/YY MM/DD/YY + Repetitions + Monday + Tuesday + Wednesday + Thursday + Friday + Saturday + Sunday Auto export diff --git a/app/src/main/res/xml/zetime_preferences.xml b/app/src/main/res/xml/zetime_preferences.xml index 92af75e18..0b0bcf818 100644 --- a/app/src/main/res/xml/zetime_preferences.xml +++ b/app/src/main/res/xml/zetime_preferences.xml @@ -24,6 +24,77 @@ android:title="@string/zetime_activity_tracking" android:summary="@string/zetime_activity_tracking_summary" /> + + + + + + + + + + + + + + + + + + + + + + + + +