Loading res/xml/accessibility_vibration_settings.xml +4 −3 Original line number Diff line number Diff line Loading @@ -65,16 +65,17 @@ <PreferenceCategory android:key="vibration_category_haptics" android:title="@string/accessibility_interactive_haptics_category_title"> android:title="@string/accessibility_interactive_haptics_category_title" android:persistent="false"> <SwitchPreferenceCompat android:key="vibration_preference_touch" android:key="haptic_feedback_intensity" android:title="@string/accessibility_touch_vibration_title" app:keywords="@string/keywords_touch_vibration" app:controller="com.android.settings.accessibility.HapticFeedbackTogglePreferenceController" /> <SwitchPreferenceCompat android:key="vibration_preference_media" android:key="media_vibration_intensity" android:title="@string/accessibility_media_vibration_title" app:keywords="@string/keywords_media_vibration" app:controller="com.android.settings.accessibility.MediaVibrationTogglePreferenceController" /> Loading src/com/android/settings/accessibility/HapticFeedbackTogglePreferenceController.java +2 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.content.Context; import com.android.settings.accessibility.HapticFeedbackIntensityPreferenceController.HapticFeedbackVibrationPreferenceConfig; /** Preference controller for haptic feedback with only a toggle for on/off states. */ // LINT.IfChange public class HapticFeedbackTogglePreferenceController extends VibrationTogglePreferenceController { public HapticFeedbackTogglePreferenceController(Context context, String preferenceKey) { Loading @@ -32,3 +33,4 @@ public class HapticFeedbackTogglePreferenceController extends VibrationTogglePre return AVAILABLE; } } // LINT.ThenChange(TouchVibrationIntensitySwitchPreference.java) src/com/android/settings/accessibility/MediaVibrationIntensitySwitchPreference.kt 0 → 100644 +47 −0 Original line number Diff line number Diff line /* * Copyright (C) 2025 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.accessibility import android.content.Context import android.os.VibrationAttributes import android.provider.Settings import com.android.settings.R import com.android.settingslib.metadata.PreferenceAvailabilityProvider /** Accessibility settings for media vibration. */ // LINT.IfChange class MediaVibrationIntensitySwitchPreference : VibrationIntensitySwitchPreference( key = KEY, vibrationUsage = VibrationAttributes.USAGE_MEDIA, title = R.string.accessibility_media_vibration_title, ), PreferenceAvailabilityProvider { override val keywords: Int get() = R.string.keywords_media_vibration override fun isAvailable(context: Context) = context.isMediaVibrationPreferenceSupported() companion object { const val KEY = Settings.System.MEDIA_VIBRATION_INTENSITY } } /** Returns true is media vibration preference is supported by this device. */ private fun Context.isMediaVibrationPreferenceSupported(): Boolean = resources.getBoolean(R.bool.config_media_vibration_supported) // LINT.ThenChange(MediaVibrationTogglePreferenceController.java) src/com/android/settings/accessibility/MediaVibrationTogglePreferenceController.java +3 −1 Original line number Diff line number Diff line Loading @@ -18,10 +18,11 @@ package com.android.settings.accessibility; import android.content.Context; import com.android.settings.accessibility.MediaVibrationIntensityPreferenceController.MediaVibrationPreferenceConfig; import com.android.settings.R; import com.android.settings.accessibility.MediaVibrationIntensityPreferenceController.MediaVibrationPreferenceConfig; /** Preference controller for alarm vibration with only a toggle for on/off states. */ // LINT.IfChange public class MediaVibrationTogglePreferenceController extends VibrationTogglePreferenceController { public MediaVibrationTogglePreferenceController(Context context, String preferenceKey) { Loading @@ -34,3 +35,4 @@ public class MediaVibrationTogglePreferenceController extends VibrationTogglePre AVAILABLE : UNSUPPORTED_ON_DEVICE; } } // LINT.ThenChange(MediaVibrationIntensitySwitchPreference.java) src/com/android/settings/accessibility/TouchVibrationIntensitySwitchPreference.kt 0 → 100644 +37 −0 Original line number Diff line number Diff line /* * Copyright (C) 2025 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.accessibility import android.os.VibrationAttributes import android.provider.Settings import com.android.settings.R /** Accessibility settings for touch haptic feedback. */ // LINT.IfChange class TouchVibrationIntensitySwitchPreference : VibrationIntensitySwitchPreference( key = KEY, vibrationUsage = VibrationAttributes.USAGE_TOUCH, title = R.string.accessibility_touch_vibration_title, ) { override val keywords: Int get() = R.string.keywords_touch_vibration companion object { const val KEY = Settings.System.HAPTIC_FEEDBACK_INTENSITY } } // LINT.ThenChange(HapticFeedbackTogglePreferenceController.java) Loading
res/xml/accessibility_vibration_settings.xml +4 −3 Original line number Diff line number Diff line Loading @@ -65,16 +65,17 @@ <PreferenceCategory android:key="vibration_category_haptics" android:title="@string/accessibility_interactive_haptics_category_title"> android:title="@string/accessibility_interactive_haptics_category_title" android:persistent="false"> <SwitchPreferenceCompat android:key="vibration_preference_touch" android:key="haptic_feedback_intensity" android:title="@string/accessibility_touch_vibration_title" app:keywords="@string/keywords_touch_vibration" app:controller="com.android.settings.accessibility.HapticFeedbackTogglePreferenceController" /> <SwitchPreferenceCompat android:key="vibration_preference_media" android:key="media_vibration_intensity" android:title="@string/accessibility_media_vibration_title" app:keywords="@string/keywords_media_vibration" app:controller="com.android.settings.accessibility.MediaVibrationTogglePreferenceController" /> Loading
src/com/android/settings/accessibility/HapticFeedbackTogglePreferenceController.java +2 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.content.Context; import com.android.settings.accessibility.HapticFeedbackIntensityPreferenceController.HapticFeedbackVibrationPreferenceConfig; /** Preference controller for haptic feedback with only a toggle for on/off states. */ // LINT.IfChange public class HapticFeedbackTogglePreferenceController extends VibrationTogglePreferenceController { public HapticFeedbackTogglePreferenceController(Context context, String preferenceKey) { Loading @@ -32,3 +33,4 @@ public class HapticFeedbackTogglePreferenceController extends VibrationTogglePre return AVAILABLE; } } // LINT.ThenChange(TouchVibrationIntensitySwitchPreference.java)
src/com/android/settings/accessibility/MediaVibrationIntensitySwitchPreference.kt 0 → 100644 +47 −0 Original line number Diff line number Diff line /* * Copyright (C) 2025 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.accessibility import android.content.Context import android.os.VibrationAttributes import android.provider.Settings import com.android.settings.R import com.android.settingslib.metadata.PreferenceAvailabilityProvider /** Accessibility settings for media vibration. */ // LINT.IfChange class MediaVibrationIntensitySwitchPreference : VibrationIntensitySwitchPreference( key = KEY, vibrationUsage = VibrationAttributes.USAGE_MEDIA, title = R.string.accessibility_media_vibration_title, ), PreferenceAvailabilityProvider { override val keywords: Int get() = R.string.keywords_media_vibration override fun isAvailable(context: Context) = context.isMediaVibrationPreferenceSupported() companion object { const val KEY = Settings.System.MEDIA_VIBRATION_INTENSITY } } /** Returns true is media vibration preference is supported by this device. */ private fun Context.isMediaVibrationPreferenceSupported(): Boolean = resources.getBoolean(R.bool.config_media_vibration_supported) // LINT.ThenChange(MediaVibrationTogglePreferenceController.java)
src/com/android/settings/accessibility/MediaVibrationTogglePreferenceController.java +3 −1 Original line number Diff line number Diff line Loading @@ -18,10 +18,11 @@ package com.android.settings.accessibility; import android.content.Context; import com.android.settings.accessibility.MediaVibrationIntensityPreferenceController.MediaVibrationPreferenceConfig; import com.android.settings.R; import com.android.settings.accessibility.MediaVibrationIntensityPreferenceController.MediaVibrationPreferenceConfig; /** Preference controller for alarm vibration with only a toggle for on/off states. */ // LINT.IfChange public class MediaVibrationTogglePreferenceController extends VibrationTogglePreferenceController { public MediaVibrationTogglePreferenceController(Context context, String preferenceKey) { Loading @@ -34,3 +35,4 @@ public class MediaVibrationTogglePreferenceController extends VibrationTogglePre AVAILABLE : UNSUPPORTED_ON_DEVICE; } } // LINT.ThenChange(MediaVibrationIntensitySwitchPreference.java)
src/com/android/settings/accessibility/TouchVibrationIntensitySwitchPreference.kt 0 → 100644 +37 −0 Original line number Diff line number Diff line /* * Copyright (C) 2025 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.accessibility import android.os.VibrationAttributes import android.provider.Settings import com.android.settings.R /** Accessibility settings for touch haptic feedback. */ // LINT.IfChange class TouchVibrationIntensitySwitchPreference : VibrationIntensitySwitchPreference( key = KEY, vibrationUsage = VibrationAttributes.USAGE_TOUCH, title = R.string.accessibility_touch_vibration_title, ) { override val keywords: Int get() = R.string.keywords_touch_vibration companion object { const val KEY = Settings.System.HAPTIC_FEEDBACK_INTENSITY } } // LINT.ThenChange(HapticFeedbackTogglePreferenceController.java)