mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-11-25 11:26:47 +01:00
Mi Band 8: Replace sleep time with sleep mode schedule (fix crash)
This commit is contained in:
parent
76c2a18af5
commit
809a809082
@ -141,6 +141,9 @@ public class DeviceSettingsPreferenceConst {
|
|||||||
public static final String PREF_SLEEP_TIME = "prefs_enable_sleep_time";
|
public static final String PREF_SLEEP_TIME = "prefs_enable_sleep_time";
|
||||||
public static final String PREF_SLEEP_TIME_START = "prefs_sleep_time_start";
|
public static final String PREF_SLEEP_TIME_START = "prefs_sleep_time_start";
|
||||||
public static final String PREF_SLEEP_TIME_END = "prefs_sleep_time_end";
|
public static final String PREF_SLEEP_TIME_END = "prefs_sleep_time_end";
|
||||||
|
public static final String PREF_SLEEP_MODE_SCHEDULE_ENABLED = "sleep_mode_schedule_enabled";
|
||||||
|
public static final String PREF_SLEEP_MODE_SCHEDULE_START = "sleep_mode_schedule_start";
|
||||||
|
public static final String PREF_SLEEP_MODE_SCHEDULE_END = "sleep_mode_schedule_end";
|
||||||
public static final String PREF_SLEEP_MODE_SLEEP_SCREEN = "pref_sleep_mode_sleep_screen";
|
public static final String PREF_SLEEP_MODE_SLEEP_SCREEN = "pref_sleep_mode_sleep_screen";
|
||||||
public static final String PREF_SLEEP_MODE_SMART_ENABLE = "pref_sleep_mode_smart_enable";
|
public static final String PREF_SLEEP_MODE_SMART_ENABLE = "pref_sleep_mode_smart_enable";
|
||||||
|
|
||||||
|
@ -551,6 +551,10 @@ public class DeviceSpecificSettingsFragment extends AbstractPreferenceFragment i
|
|||||||
|
|
||||||
addPreferenceHandlerFor(PREF_PREFIX_NOTIFICATION_WITH_APP);
|
addPreferenceHandlerFor(PREF_PREFIX_NOTIFICATION_WITH_APP);
|
||||||
|
|
||||||
|
addPreferenceHandlerFor(PREF_SLEEP_MODE_SCHEDULE_ENABLED);
|
||||||
|
addPreferenceHandlerFor(PREF_SLEEP_MODE_SCHEDULE_START);
|
||||||
|
addPreferenceHandlerFor(PREF_SLEEP_MODE_SCHEDULE_END);
|
||||||
|
|
||||||
addPreferenceHandlerFor("lock");
|
addPreferenceHandlerFor("lock");
|
||||||
|
|
||||||
String sleepTimeState = prefs.getString(PREF_SLEEP_TIME, PREF_DO_NOT_DISTURB_OFF);
|
String sleepTimeState = prefs.getString(PREF_SLEEP_TIME, PREF_DO_NOT_DISTURB_OFF);
|
||||||
|
@ -312,7 +312,7 @@ public abstract class XiaomiCoordinator extends AbstractBLEDeviceCoordinator {
|
|||||||
settings.add(R.xml.devicesettings_header_health);
|
settings.add(R.xml.devicesettings_header_health);
|
||||||
settings.add(R.xml.devicesettings_heartrate_sleep_alert_activity_stress_spo2);
|
settings.add(R.xml.devicesettings_heartrate_sleep_alert_activity_stress_spo2);
|
||||||
settings.add(R.xml.devicesettings_inactivity_dnd_no_threshold);
|
settings.add(R.xml.devicesettings_inactivity_dnd_no_threshold);
|
||||||
settings.add(R.xml.devicesettings_sleep_time); // TODO replace with sleep mode schedule
|
settings.add(R.xml.devicesettings_sleep_mode_schedule);
|
||||||
settings.add(R.xml.devicesettings_goal_notification);
|
settings.add(R.xml.devicesettings_goal_notification);
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -325,9 +325,10 @@ public class XiaomiScheduleService extends AbstractXiaomiService {
|
|||||||
final String end = XiaomiPreferences.prefFromHourMin(sleepMode.getSchedule().getEnd());
|
final String end = XiaomiPreferences.prefFromHourMin(sleepMode.getSchedule().getEnd());
|
||||||
|
|
||||||
final GBDeviceEventUpdatePreferences eventUpdatePreferences = new GBDeviceEventUpdatePreferences()
|
final GBDeviceEventUpdatePreferences eventUpdatePreferences = new GBDeviceEventUpdatePreferences()
|
||||||
.withPreference(DeviceSettingsPreferenceConst.PREF_SLEEP_TIME, sleepMode.getEnabled())
|
.withPreference("prefs_enable_sleep_time", null)
|
||||||
.withPreference(DeviceSettingsPreferenceConst.PREF_SLEEP_TIME_START, start)
|
.withPreference(DeviceSettingsPreferenceConst.PREF_SLEEP_MODE_SCHEDULE_ENABLED, sleepMode.getEnabled())
|
||||||
.withPreference(DeviceSettingsPreferenceConst.PREF_SLEEP_TIME_END, end);
|
.withPreference(DeviceSettingsPreferenceConst.PREF_SLEEP_MODE_SCHEDULE_START, start)
|
||||||
|
.withPreference(DeviceSettingsPreferenceConst.PREF_SLEEP_MODE_SCHEDULE_END, end);
|
||||||
|
|
||||||
getSupport().evaluateGBDeviceEvent(eventUpdatePreferences);
|
getSupport().evaluateGBDeviceEvent(eventUpdatePreferences);
|
||||||
}
|
}
|
||||||
@ -336,9 +337,9 @@ public class XiaomiScheduleService extends AbstractXiaomiService {
|
|||||||
LOG.debug("Set sleep mode config");
|
LOG.debug("Set sleep mode config");
|
||||||
|
|
||||||
final Prefs prefs = getDevicePrefs();
|
final Prefs prefs = getDevicePrefs();
|
||||||
final boolean enabled = prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_SLEEP_TIME, false);
|
final boolean enabled = prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_SLEEP_MODE_SCHEDULE_ENABLED, false);
|
||||||
final Date start = prefs.getTimePreference(DeviceSettingsPreferenceConst.PREF_SLEEP_TIME_START, "22:00");
|
final Date start = prefs.getTimePreference(DeviceSettingsPreferenceConst.PREF_SLEEP_MODE_SCHEDULE_START, "22:00");
|
||||||
final Date end = prefs.getTimePreference(DeviceSettingsPreferenceConst.PREF_SLEEP_TIME_END, "06:00");
|
final Date end = prefs.getTimePreference(DeviceSettingsPreferenceConst.PREF_SLEEP_MODE_SCHEDULE_END, "06:00");
|
||||||
|
|
||||||
final XiaomiProto.SleepMode sleepMode = XiaomiProto.SleepMode.newBuilder()
|
final XiaomiProto.SleepMode sleepMode = XiaomiProto.SleepMode.newBuilder()
|
||||||
.setEnabled(enabled)
|
.setEnabled(enabled)
|
||||||
|
@ -2411,4 +2411,8 @@
|
|||||||
<string name="menuitem_running">Running</string>
|
<string name="menuitem_running">Running</string>
|
||||||
<string name="menuitem_alerts">Alerts</string>
|
<string name="menuitem_alerts">Alerts</string>
|
||||||
<string name="menuitem_focus">Focus</string>
|
<string name="menuitem_focus">Focus</string>
|
||||||
|
<string name="bedtime">Bedtime</string>
|
||||||
|
<string name="wake_up_time">Wake Up</string>
|
||||||
|
<string name="pref_sleep_mode_schedule_title">Sleep Mode Schedule</string>
|
||||||
|
<string name="pref_sleep_mode_schedule_summary">Send a reminder and enter sleep mode at bedtime. At the scheduled wake-up time, the wake-up alarm will sound.</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
26
app/src/main/res/xml/devicesettings_sleep_mode_schedule.xml
Normal file
26
app/src/main/res/xml/devicesettings_sleep_mode_schedule.xml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<PreferenceScreen
|
||||||
|
android:icon="@drawable/ic_activity_sleep"
|
||||||
|
android:key="prefs_sleep_mode_schedule"
|
||||||
|
android:persistent="false"
|
||||||
|
android:title="@string/pref_sleep_mode_title">
|
||||||
|
|
||||||
|
<SwitchPreference
|
||||||
|
android:defaultValue="false"
|
||||||
|
android:icon="@drawable/ic_activity_sleep"
|
||||||
|
android:key="sleep_mode_schedule_enabled"
|
||||||
|
android:summary="@string/pref_sleep_mode_schedule_summary"
|
||||||
|
android:title="@string/pref_sleep_mode_schedule_title" />
|
||||||
|
|
||||||
|
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||||
|
android:defaultValue="22:00"
|
||||||
|
android:key="sleep_mode_schedule_start"
|
||||||
|
android:title="@string/bedtime" />
|
||||||
|
|
||||||
|
<nodomain.freeyourgadget.gadgetbridge.util.XTimePreference
|
||||||
|
android:defaultValue="06:00"
|
||||||
|
android:key="sleep_mode_schedule_end"
|
||||||
|
android:title="@string/wake_up_time" />
|
||||||
|
</PreferenceScreen>
|
||||||
|
</androidx.preference.PreferenceScreen>
|
Loading…
Reference in New Issue
Block a user