mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-11-26 20:06:52 +01:00
Moyoung: Add option for letting the device follow the phone DND setting
This commit is contained in:
parent
a586a9af52
commit
504faf6db0
@ -226,6 +226,7 @@ public class DeviceSettingsPreferenceConst {
|
|||||||
public static final String PREF_DO_NOT_DISTURB_LIFT_WRIST = "do_not_disturb_lift_wrist";
|
public static final String PREF_DO_NOT_DISTURB_LIFT_WRIST = "do_not_disturb_lift_wrist";
|
||||||
public static final String PREF_DO_NOT_DISTURB_NOT_WEAR = "do_not_disturb_not_wear";
|
public static final String PREF_DO_NOT_DISTURB_NOT_WEAR = "do_not_disturb_not_wear";
|
||||||
public static final String PREF_DO_NOT_DISTURB_BOOL = "do_not_disturb_on_off";
|
public static final String PREF_DO_NOT_DISTURB_BOOL = "do_not_disturb_on_off";
|
||||||
|
public static final String PREF_DO_NOT_DISTURB_FOLLOW_PHONE = "do_not_disturb_follow_phone";
|
||||||
public static final String PREF_DO_NOT_DISTURB_OFF = "off";
|
public static final String PREF_DO_NOT_DISTURB_OFF = "off";
|
||||||
public static final String PREF_DO_NOT_DISTURB_AUTOMATIC = "automatic";
|
public static final String PREF_DO_NOT_DISTURB_AUTOMATIC = "automatic";
|
||||||
public static final String PREF_DO_NOT_DISTURB_ALWAYS = "always";
|
public static final String PREF_DO_NOT_DISTURB_ALWAYS = "always";
|
||||||
|
@ -572,6 +572,7 @@ public class DeviceSpecificSettingsFragment extends AbstractPreferenceFragment i
|
|||||||
addPreferenceHandlerFor(PREF_DO_NOT_DISTURB_LIFT_WRIST);
|
addPreferenceHandlerFor(PREF_DO_NOT_DISTURB_LIFT_WRIST);
|
||||||
addPreferenceHandlerFor(PREF_DO_NOT_DISTURB_NOT_WEAR);
|
addPreferenceHandlerFor(PREF_DO_NOT_DISTURB_NOT_WEAR);
|
||||||
addPreferenceHandlerFor(PREF_DO_NOT_DISTURB_BOOL);
|
addPreferenceHandlerFor(PREF_DO_NOT_DISTURB_BOOL);
|
||||||
|
addPreferenceHandlerFor(PREF_DO_NOT_DISTURB_FOLLOW_PHONE);
|
||||||
addPreferenceHandlerFor(PREF_FIND_PHONE);
|
addPreferenceHandlerFor(PREF_FIND_PHONE);
|
||||||
addPreferenceHandlerFor(PREF_FIND_PHONE_DURATION);
|
addPreferenceHandlerFor(PREF_FIND_PHONE_DURATION);
|
||||||
addPreferenceHandlerFor(PREF_AUTOLIGHT);
|
addPreferenceHandlerFor(PREF_AUTOLIGHT);
|
||||||
|
@ -204,7 +204,7 @@ public abstract class AbstractMoyoungDeviceCoordinator extends AbstractBLEDevice
|
|||||||
generic.add(R.xml.devicesettings_moyoung_watchface);
|
generic.add(R.xml.devicesettings_moyoung_watchface);
|
||||||
generic.add(R.xml.devicesettings_liftwrist_display);
|
generic.add(R.xml.devicesettings_liftwrist_display);
|
||||||
// generic.add(R.xml.devicesettings_donotdisturb_no_auto); // not supported by Colmi i28 Ultra
|
// generic.add(R.xml.devicesettings_donotdisturb_no_auto); // not supported by Colmi i28 Ultra
|
||||||
generic.add(R.xml.devicesettings_donotdisturb_on_off);
|
generic.add(R.xml.devicesettings_donotdisturb_on_off_follow);
|
||||||
generic.add(R.xml.devicesettings_world_clocks);
|
generic.add(R.xml.devicesettings_world_clocks);
|
||||||
generic.add(R.xml.devicesettings_sync_calendar);
|
generic.add(R.xml.devicesettings_sync_calendar);
|
||||||
final List<Integer> health = deviceSpecificSettings.addRootScreen(DeviceSpecificSettingsScreen.HEALTH);
|
final List<Integer> health = deviceSpecificSettings.addRootScreen(DeviceSpecificSettingsScreen.HEALTH);
|
||||||
|
@ -18,8 +18,8 @@ package nodomain.freeyourgadget.gadgetbridge.service.devices.moyoung;
|
|||||||
|
|
||||||
import android.bluetooth.BluetoothGatt;
|
import android.bluetooth.BluetoothGatt;
|
||||||
import android.bluetooth.BluetoothGattCharacteristic;
|
import android.bluetooth.BluetoothGattCharacteristic;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.media.AudioManager;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.text.format.DateFormat;
|
import android.text.format.DateFormat;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
@ -81,7 +81,6 @@ import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.settings.MoyoungSett
|
|||||||
import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.settings.MoyoungSettingTimeRange;
|
import nodomain.freeyourgadget.gadgetbridge.devices.moyoung.settings.MoyoungSettingTimeRange;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.entities.BaseActivitySummary;
|
import nodomain.freeyourgadget.gadgetbridge.entities.BaseActivitySummary;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.entities.BaseActivitySummaryDao;
|
import nodomain.freeyourgadget.gadgetbridge.entities.BaseActivitySummaryDao;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession;
|
|
||||||
import nodomain.freeyourgadget.gadgetbridge.entities.Device;
|
import nodomain.freeyourgadget.gadgetbridge.entities.Device;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.entities.MoyoungActivitySample;
|
import nodomain.freeyourgadget.gadgetbridge.entities.MoyoungActivitySample;
|
||||||
import nodomain.freeyourgadget.gadgetbridge.entities.MoyoungBloodPressureSample;
|
import nodomain.freeyourgadget.gadgetbridge.entities.MoyoungBloodPressureSample;
|
||||||
@ -1409,6 +1408,24 @@ public class MoyoungDeviceSupport extends AbstractBTLEDeviceSupport {
|
|||||||
onAbortHeartRateTest();
|
onAbortHeartRateTest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChangePhoneSilentMode(int ringerMode) {
|
||||||
|
Prefs prefs = getDevicePrefs();
|
||||||
|
if (!prefs.getBoolean(DeviceSettingsPreferenceConst.PREF_DO_NOT_DISTURB_FOLLOW_PHONE, false)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
LOG.info("Phone ringer mode changed to {}, changing on device too", ringerMode);
|
||||||
|
switch (ringerMode) {
|
||||||
|
case AudioManager.RINGER_MODE_NORMAL:
|
||||||
|
case AudioManager.RINGER_MODE_VIBRATE:
|
||||||
|
sendSetting(getSetting("DO_NOT_DISTURB_ONOFF"), false);
|
||||||
|
break;
|
||||||
|
case AudioManager.RINGER_MODE_SILENT:
|
||||||
|
sendSetting(getSetting("DO_NOT_DISTURB_ONOFF"), true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFindDevice(boolean start) {
|
public void onFindDevice(boolean start) {
|
||||||
if (start)
|
if (start)
|
||||||
|
@ -9,4 +9,12 @@
|
|||||||
android:title="@string/mi2_prefs_do_not_disturb"
|
android:title="@string/mi2_prefs_do_not_disturb"
|
||||||
android:summary="@string/mi2_prefs_do_not_disturb_summary" />
|
android:summary="@string/mi2_prefs_do_not_disturb_summary" />
|
||||||
|
|
||||||
|
<SwitchPreferenceCompat
|
||||||
|
android:defaultValue="false"
|
||||||
|
android:icon="@drawable/ic_action_find_lost_device"
|
||||||
|
android:key="do_not_disturb_follow_phone"
|
||||||
|
android:layout="@layout/preference_checkbox"
|
||||||
|
android:title="@string/pref_dnd_follow_phone_title"
|
||||||
|
android:summary="@string/pref_dnd_follow_phone_summary" />
|
||||||
|
|
||||||
</androidx.preference.PreferenceScreen>
|
</androidx.preference.PreferenceScreen>
|
Loading…
Reference in New Issue
Block a user