From 9065049733e0446945a793ce7f68cae56366d66b Mon Sep 17 00:00:00 2001 From: Tsung-Mao Fang Date: Thu, 27 Oct 2022 17:58:32 +0800 Subject: [PATCH] Remove "Always show icon when in vibrate mode" If device doesn't support vibrator, then disable this feature. Test: No this setting Fix: 253165108 Change-Id: I58e2bf7b36a3af61d458fc2cb8c92c18219d6684 --- .../notification/VibrateIconPreferenceController.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/notification/VibrateIconPreferenceController.java b/src/com/android/settings/notification/VibrateIconPreferenceController.java index 25d23264131..d772b47d59e 100644 --- a/src/com/android/settings/notification/VibrateIconPreferenceController.java +++ b/src/com/android/settings/notification/VibrateIconPreferenceController.java @@ -19,6 +19,7 @@ package com.android.settings.notification; import static com.android.settings.notification.SettingPref.TYPE_SECURE; import android.content.Context; +import android.os.Vibrator; import android.provider.Settings.Secure; import com.android.settings.SettingsPreferenceFragment; @@ -27,16 +28,18 @@ import com.android.settingslib.core.lifecycle.Lifecycle; public class VibrateIconPreferenceController extends SettingPrefController { private static final String KEY_VIBRATE_ICON = "vibrate_icon"; + private final boolean mHasVibrator; public VibrateIconPreferenceController(Context context, SettingsPreferenceFragment parent, Lifecycle lifecycle) { super(context, parent, lifecycle); + mHasVibrator = context.getSystemService(Vibrator.class).hasVibrator(); mPreference = new SettingPref( TYPE_SECURE, KEY_VIBRATE_ICON, Secure.STATUS_BAR_SHOW_VIBRATE_ICON, 0 /*default off*/); } @Override public boolean isAvailable() { - return true; + return mHasVibrator; } }