Commit Graph

10 Commits

Author SHA1 Message Date
Chun-Ku Lin
d077ca6dd9 Pass null looper if the looper is not prepared in the calling thread
**Root cause**
The PreferenceController can be constructed by the
SettingsSearchIndexablesProvider where the looper of the thread is not
prepared. This result in not able to construct the PreferenceController
that will be used as part of the SettingsSearch.

Currently, if the SettingsSearchIndexablesProvider is not able to
construct the PreferenceController defined in xml, it would just
silently failed.

Test: atest SettingsUnitTests
Test: atest SettingsRoboTests

Flag: EXEMPT low risk bugfix
Bug: 352622249
Change-Id: I72a4ce24ec6842b9efe067e3cb7d1c73cd98a566
2024-08-29 23:02:34 +00:00
Ming-Shin Lu
8ec4d71630 Remove VibrationAttributes#CATEGORY_KEYBOARD (in Settings)
Since CL[1], [2] introduced USAGE_IME_FEEDBACK in VibrationAttributes
to be able to specify default / current vibration in VibrationSettings
according to the vibration usage naturally without using this category
attribute + a bypass flag to only support a fixed vibration scaling.

Remove CATEGORY_KEYBOARD attribute and replacing with USAGE_IME_FEEDBACK
in Settings for cleaning up logic.

[1]: I6256c4f47a8bbee4b649d35eabfbc0c94215c0d7
[2]: I764aa8bd72889d4af62b30bff75af9033f22052b

Flag: EXEMPT refactor
Bug: 332661766
Test: atest KeyboardVibrationTogglePreferenceControllerTest
Change-Id: I532e7d184d235bfa266fb590e60802c4e2fa7df2
2024-08-15 15:01:52 +00:00
Ahmad Khalil
4504f0ace4 Fix notification vibration demos in settings
While in zen mode, notification vibrations are ignored. These vibrations will also be ignored when attempting to demo the vibration intensity in settings.

Adding FLAG_BYPASS_INTERRUPTION_POLICY to the attributes of the vibration preview, to allow it to bypass the interruption policy and demo the vibration intensity as expected.

Fix: 301319836
Test: N/A
Change-Id: I240a896ff8e9516388a0238882db07f9680a184a
2024-01-31 10:45:55 +00:00
Wilson Wu
e9eb8e65ce Add keyboard vibration settings
Introduce keyboard vibration preference settings
to control keyboard vibration state.

Bug: 289107579
Test: atest KeyboardVibrationTogglePreferenceControllerTest
Change-Id: I9cc5d53f1b22c460ad2acc7e4a412fefbca586df
2023-10-18 02:50:56 +00:00
Lais Andrade
b827221ed3 Make sure vibration previews in Settings apply latest intensities
Update the Settings app to enforce fresh settings are applied to preview
vibrations triggered after the intensity is updated.

Add preview haptics to main switch, only when touch feedback is enabled,
and to the "apply ramping ringer" toggle for consistency with the rest
of the screen, using ringtone intensity for preview.

Bug: 219693646
Bug: 219695212
Bug: 157533521
Test: manual
Change-Id: I872a75d6b00dffae943b0f403185a39047909884
2022-03-21 18:33:44 +00:00
Lais Andrade
76b2cd60e5 Disable ring, notification and touch vibration in silent mode
Disable haptic settings for ring, notification and touch feedback when
the phone ringer mode is set to silent.

Preserve the setting values and display message explaining why those
settings are disabled.

Bug: 203188852
Test: *Vibration[Intensity|Toggle]PreferenceControllerTest
Change-Id: I6c24079ece9d637f2feb487f756937888a92caa7
2022-01-24 11:01:08 +00:00
Lais Andrade
8919e0ee50 Add primary switch for vibration settings screen
This re-lands commit fd54fc34c6.

Add primary switch that updates the VIBRATE_ON user setting. Update all settings in this page to be disabled when this main toggle is
off.

Bug: 30028435
Test: VibrationMainSwitchPreferenceControllerTest
Reason for revert: Re-landing change with fixed tests
Change-Id: If9219e3d81dd698f47219c80cac10b079b63e45d
2022-01-19 14:40:18 +00:00
Tsung-Mao Fang
47875a5dff Revert "Add primary switch for vibration settings screen"
This reverts commit fd54fc34c6.

Reason for revert: b/215275738

Change-Id: I93612df6493a2a4184a98b3f049e23aa888095f2
2022-01-19 03:40:40 +00:00
Lais Andrade
fd54fc34c6 Add primary switch for vibration settings screen
Add primary switch that updates the VIBRATE_ON user setting.

Update all settings in this page to be disabled when this main toggle is
off.

Bug: 30028435
Test: VibrationMainSwitchPreferenceControllerTest
Change-Id: I752ca3b914c46678a1347034c5b6cf24fd40cc13
2022-01-18 22:31:30 +00:00
Lais Andrade
141b5bb3bc 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
2022-01-12 22:59:29 +00:00