Huami: Fix default vibration patterns

This commit is contained in:
José Rebelo 2022-09-01 23:10:49 +01:00 committed by Gitea
parent 25668bb762
commit 1d9872b15a
2 changed files with 46 additions and 5 deletions

View File

@ -349,12 +349,53 @@ public abstract class HuamiCoordinator extends AbstractBLEDeviceCoordinator {
}
public static VibrationProfile getVibrationProfile(String deviceAddress, HuamiVibrationPatternNotificationType notificationType) {
final String defaultVibrationProfileId;
final int defaultVibrationCount;
switch (notificationType) {
case APP_ALERTS:
defaultVibrationProfileId = VibrationProfile.ID_SHORT;
defaultVibrationCount = 2;
break;
case INCOMING_CALL:
defaultVibrationProfileId = VibrationProfile.ID_RING;
defaultVibrationCount = 1;
break;
case INCOMING_SMS:
defaultVibrationProfileId = VibrationProfile.ID_STACCATO;
defaultVibrationCount = 2;
break;
case GOAL_NOTIFICATION:
defaultVibrationProfileId = VibrationProfile.ID_LONG;
defaultVibrationCount = 1;
break;
case ALARM:
defaultVibrationProfileId = VibrationProfile.ID_LONG;
defaultVibrationCount = 7;
break;
case IDLE_ALERTS:
defaultVibrationProfileId = VibrationProfile.ID_MEDIUM;
defaultVibrationCount = 2;
break;
case EVENT_REMINDER:
defaultVibrationProfileId = VibrationProfile.ID_LONG;
defaultVibrationCount = 1;
break;
case FIND_BAND:
defaultVibrationProfileId = VibrationProfile.ID_RING;
defaultVibrationCount = 3;
break;
default:
defaultVibrationProfileId = VibrationProfile.ID_MEDIUM;
defaultVibrationCount = 2;
}
Prefs prefs = new Prefs(GBApplication.getDeviceSpecificSharedPrefs(deviceAddress));
final String vibrationProfileId = prefs.getString(
HuamiConst.PREF_HUAMI_VIBRATION_PROFILE_PREFIX + notificationType.name().toLowerCase(Locale.ROOT),
VibrationProfile.ID_MEDIUM
defaultVibrationProfileId
);
final int vibrationProfileCount = prefs.getInt(HuamiConst.PREF_HUAMI_VIBRATION_COUNT_PREFIX + notificationType.name().toLowerCase(Locale.ROOT), 2);
final int vibrationProfileCount = prefs.getInt(HuamiConst.PREF_HUAMI_VIBRATION_COUNT_PREFIX + notificationType.name().toLowerCase(Locale.ROOT), defaultVibrationCount);
return VibrationProfile.getProfile(vibrationProfileId, (short) vibrationProfileCount);
}

View File

@ -139,7 +139,7 @@
<PreferenceCategory android:title="@string/vibration_profile_alarm_clock" />
<ListPreference
android:defaultValue="@string/p_alarm_clock"
android:defaultValue="@string/p_long"
android:entries="@array/vibration_profile"
android:entryValues="@array/vibration_profile_values"
android:key="huami_vibration_profile_alarm"
@ -147,7 +147,7 @@
android:summary="%s" />
<EditTextPreference
android:defaultValue="1"
android:defaultValue="7"
android:inputType="number"
android:key="huami_vibration_count_alarm"
android:maxLength="1"
@ -169,7 +169,7 @@
<PreferenceCategory android:title="@string/pref_screen_notification_idle_alerts" />
<ListPreference
android:defaultValue="@string/p_normal"
android:defaultValue="@string/p_medium"
android:entries="@array/vibration_profile"
android:entryValues="@array/vibration_profile_values"
android:key="huami_vibration_profile_idle_alerts"