Update Settings to use intensity settings as main preference keys
Updating the Settings app to allow setting the value off for key HAPTIC_FEEDBACK_INTENSITY. This setting state is also copied onto HAPTIC_FEEDBACK_ENABLED setting, so both should be in sync after this change. Similar logic is applied between RING_VIBRATION_INTENSITY and VIBRATE_WHEN_RINGING. This will not disable the hardware feedback since that one is controlled by a separate setting key now. The "vibrate for calls" was also removed and the single toggle for "vibrate first then ring gradually" was moved into the "Vibration & haptics" page. Bug: 185351540 Test: [HapticFeedback|NotificationVibration|RingVibration][Intensity|Toggle]PreferenceControllerTest and manual testing of the AOSP settings app Change-Id: I9c94cef331a1500a1272a601ba32667ca995ddab
This commit is contained in:
@@ -20,25 +20,27 @@ import android.content.Context;
|
||||
import android.os.VibrationAttributes;
|
||||
import android.provider.Settings;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
/** Preference controller for notification vibration intensity */
|
||||
public class NotificationVibrationIntensityPreferenceController
|
||||
extends VibrationIntensityPreferenceController {
|
||||
|
||||
@VisibleForTesting
|
||||
static final String PREF_KEY = "notification_vibration_preference_screen";
|
||||
/** General configuration for notification vibration intensity settings. */
|
||||
public static final class NotificationVibrationPreferenceConfig
|
||||
extends VibrationPreferenceConfig {
|
||||
|
||||
public NotificationVibrationIntensityPreferenceController(Context context) {
|
||||
super(context, PREF_KEY, Settings.System.NOTIFICATION_VIBRATION_INTENSITY, "");
|
||||
public NotificationVibrationPreferenceConfig(Context context) {
|
||||
super(context, Settings.System.NOTIFICATION_VIBRATION_INTENSITY,
|
||||
VibrationAttributes.USAGE_NOTIFICATION);
|
||||
}
|
||||
}
|
||||
|
||||
public NotificationVibrationIntensityPreferenceController(Context context,
|
||||
String preferenceKey) {
|
||||
super(context, preferenceKey, new NotificationVibrationPreferenceConfig(context));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailabilityStatus() {
|
||||
return AVAILABLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getDefaultIntensity() {
|
||||
return mVibrator.getDefaultVibrationIntensity(VibrationAttributes.USAGE_NOTIFICATION);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user