Commit Graph

643 Commits

Author SHA1 Message Date
Matías Hernández
7cfc461e63 Merge "Add support for rules with filter=ALL in ZenModesBackend" into main 2024-04-24 12:02:41 +00:00
Matías Hernández
3819299a08 Add support for rules with filter=ALL in ZenModesBackend
This is represented as an extra, special value for the AllowChannels field in ZenPolicy, with special treatment.

Bug: 327419222
Bug: 331267485
Test: atest ZenModeTest
Flag: android.app.modes_ui
Change-Id: I44440e40e729d295150b36beda824ddbfa1f170d
2024-04-24 12:07:20 +02:00
paulzhchen
5f391359e3 Reland add FeatureProvider for SyncAcrossDevices Settings integration.
Prior CL ag/26930404 was reverted because an unused class was
trimmed in AOSP, causing test cases to throw NoClassDefFoundError
exceptions. This CL combines ag/26930404 and ag/26995936 to address
the failure.

Bug: 330498032
Test: atest FakeFeatureFactory, atest SyncAcrossDevicesPreferenceControllerTest
Change-Id: I0a7ebccdebcad20e06d7542d7c4a0005885f393b
2024-04-24 02:02:35 +00:00
Yuri Lin
af82199317 Add info on whether the rule is active to ZenMode
modifying the corresponding methods on ZenModesBackend to collect that information from NotificationManager.

Bug: 327419222
Test: ZenModesBackendTest, ZenModeTest
Change-Id: I01cb0ffa21a7fecaa5128cec51ced3eff384f370
2024-04-22 10:57:32 -04:00
Matías Hernández
59c6a66f5c Introduce ZenModesBackend and ZenMode
Test: atest ZenModesBackendTest ZenModeTest
Bug: 327419222
Change-Id: Ic2871a6124b2df4b77275b54a940f7b47666991c
2024-04-16 11:21:37 +02:00
Fan Wu
596d6dd99b Remove LooperMode.LEGACY usage from settings/notification
Bug: 333808868

Test: atest
Change-Id: I11d68462adf60a02224306e848f9280cd1bdad4f
2024-04-11 03:29:19 +00:00
josephpv
14b2f9568e Add new filter to list private space apps when not in quite mode
This change handles listing of private space apps in Settings > Sound &
vibration > Do Not Disturb > Apps page.

Based on the new filter this page
- lists the apps from private space whenever profile is unlocked.
- when quite mode enabled privat space apps in the list is hidden.

Recording Link: b/322316632#comment3

Bug: 322316632
Test: Manual
Change-Id: Ie8a7b3376351c031a1abb8488eceb7859a1930fd
2024-03-27 20:43:12 +00:00
Matías Hernández
a1d8044cbf Populate new fields in modes created via Settings
Type and trigger description on creation; trigger description on update.

Bug: 317370174
Bug: 320997361
Test: atest ZenModeScheduleRuleSettingsTest ZenModeEventRuleSettingsTest
Change-Id: Idb1edcc8829b54ec85494966eb391e52012a5348
2024-03-25 15:57:10 +01:00
Yiyi Shen
27fb853173 [Audiosharing] Gates legacy le audio sharing UI in sound Settings.
Bug: 322295262
Test: atest
Change-Id: I5f58858ebc419be7aa6cc6f188b0722b5ace4392
2024-02-21 09:47:42 +00:00
Matías Hernández
c16384c2aa Adjust Settings tests to account for MODES_API
Fixes: 322166166
Test: atest ZenModeBackendTest ZenModeSliceBuilderTest ZenOnboardingActivityTest
Change-Id: I5bfb2ce842c1b1784c6802638512da23fd21b0c8
2024-01-24 17:53:46 +00:00
Fan Wu
b4318729ca Ignore failing zen mode related tests to bring back green postsubmit
Test: atest
Change-Id: Ibc7116400617b7ff8d34d4f0e767dd7bfc1609b4
2024-01-24 14:43:35 +08:00
Fan Wu
2a1051cbab Merge "Update custom shadow usage of ShadowActivityManager" into main 2024-01-11 02:59:31 +00:00
Fan Wu
1ce7938afc Update custom shadow usage of ShadowActivityManager
Test: atest SettingsRoboTests

Bug: 319052511
Change-Id: I15ee6a19d039808aab5089e309a872cf6bc818bc
2024-01-11 09:45:41 +08:00
Sunny Shao
bee65b4109 Merge "Revert^2 "Nullability Annotations replacement"" into main 2024-01-10 08:35:06 +00:00
Sunny Shao
076ed573eb Revert^2 "Nullability Annotations replacement"
This reverts commit 19d1d3d15d.

Reason for revert: revert it because this is not the root cause.

bug: 316867690
Change-Id: I0f168dbb64044aa720202af7b1040afd4f028c9c
2024-01-10 07:34:01 +00:00
Iavor-Valentin Iftime
86a377dc11 Merge "Move vibrate while unlocked behind a flag" into main 2024-01-08 16:45:16 +00:00
Iván Budnik
b02f9f38e4 Inject mocks in RemoteVolumeControllerTest via constructor
This fix avoids the test wrongfully initializing real components before
the tests can modify mockable fields, which causes NPEs.

Bug: 318078730
Test: atest RemoteVolumeGroupControllerTest
Change-Id: I350e3e2e45eadb0f9737ba5d4b45c9f80e3355fb
2024-01-02 13:10:19 +00:00
Sunny Shao
19d1d3d15d Revert "Nullability Annotations replacement"
This reverts commit cf0501e4d7.

Reason for revert: b/317462033, it seems a flaky but revert it first.

Change-Id: Ie1d5e279cca6477fc17d8c27c1ecda8d7a6b2553
2023-12-29 02:28:24 +00:00
sunnyshao
cf0501e4d7 Nullability Annotations replacement
-- Replace the android.annotation.Nullable / android.annotation.NonNull
   with androidx.annotation.Nullable / androidx.annotation.NonNull

Bug: 316867690
Test: build pass
Change-Id: I0c1da55dfb09ece855151c47e0492d6f46538621
2023-12-20 08:50:09 +08:00
Valentin Iftime
fe331f1f8f Move vibrate while unlocked behind a flag
Keep this feature disabled for the initial release.

Test: atest NotificationAttentionHelperTest

Bug: 270456865
Change-Id: Ia80cc0c147bbc94fa5faf8e2f12a339a9355d332
2023-12-12 15:32:14 +01:00
Chaohui Wang
08a1c9876e Revert^2 "Migrate to CompoundButton.OnCheckedChangeListener"
8979681a8d

Change-Id: I60edd3aabf49afbe4aa016af780baa68d928bddf
2023-11-07 14:17:15 +00:00
Sebastian Pickl
8979681a8d Revert "Migrate to CompoundButton.OnCheckedChangeListener"
Revert submission 25147565-onSwitchChanged-CompoundButton

Reason for revert: breaking builds 

Bug:309601476

Reverted changes: /q/submissionid:25147565-onSwitchChanged-CompoundButton

Change-Id: Ie746db87d9c642599593aa3d5e5baf6b7ba89c0e
2023-11-07 13:26:36 +00:00
Chaohui Wang
71d1f021af Migrate to CompoundButton.OnCheckedChangeListener
Switch and SwitchCompat are both CompoundButton.

Using CompoundButton in Java will helps migration in the future.

Bug: 306658427
Test: manual - check Settings pages
Change-Id: If2e08a9a9557ec66a3b31ef18cd2e15943098a59
2023-11-07 20:22:27 +08:00
Alexander Roederer
d44bfaf86f Adds group to DND settings if channel names same
Adds the channel group name as a summary to the DND channel Preference if two
or more channels have identical names in the DND Menu. This allows users to
disambiguate between the channels.

Bug: 294333850
Test: Unit test updated, run with $make -j RunSettingsRoboTests ROBOTEST_FILTER=AppChannelsBypassingDndPreferenceControllerTest
Change-Id: I4eaf48e5b2ea6513098fde79c3f81d18c6f4bb3d
2023-11-02 13:51:04 +00:00
Chaohui Wang
64def2e3ce Migrate Enhanced notifications to SwitchPreferenceCompat
Settings use SwitchPreferenceCompat instead of SwitchPreference in the
future, for new Material 3 UI.

Also clean up unused fields in its controller.

Bug: 306658427
Test: manual - on Notifications page
Change-Id: I0c4dd3f088e68852a1f63ed46447c306f7c0f65a
2023-10-28 18:19:17 +08:00
Julia Reynolds
7679fec17e Remove duel switch from NAS switch
Test: NotificationAssistantPreferenceControllerTest
Fixes: 301340325
Change-Id: Id41fad70bdcda6de75b59befe3654b733dbf66e3
2023-10-25 13:01:57 -04:00
Iavor-Valentin Iftime
54bec848cc Merge "Settings for Polite Notifications" into main 2023-10-11 12:04:37 +00:00
Valentin Iftime
68916a9bbf Check for NameNotFoundException when querying for PackageInfo
PackageManager.getPackageInfo will throw NameNotFoundException if package was/is being removed.

Test: atest FullScreenIntentPermissionPreferenceControllerTest
Bug: 296163845
Change-Id: I3242ac7e68fa7ed99fe99c7de7cd97aaf87948ee
2023-09-29 11:17:00 +02:00
Valentin Iftime
9f82e7381a Settings for Polite Notifications
Adds settings page for polite notifications.

Test: atest PoliteNotificationsPreferenceControllerTest
Test: atest PoliteNotificationFilterControllerTest
Test: atest PoliteNotifVibrateUnlockedToggleControllerTest
Test: atest PoliteNotifWorkProfileToggleControllerTest

Bug: 270456865

Change-Id: I3ec497b068c15205df97bb26ee007beed8da9ee1
2023-09-28 09:42:50 +00:00
Valentin Iftime
8eb200c177 Remove availability tests from RingVolumePreferenceControllerTest
Controller is always UNSUPPORTED_ON_DEVICE.

Test: atest com.android.settings.notification.RingVolumePreferenceControllerTest

Bug: 300157932
Bug: 302295368
Change-Id: I9f0a453d2966e68e34e381ed1b1a0a01e1e65e23
2023-09-27 15:30:54 +02:00
Valentin Iftime
92f268ae91 Fix Notifications SettingsRoboTests
Fix failing Settings Robolectric tests for notifications.

Test: atest SettingsRoboTests:com.android.settings.notification
Test: atest SettingsRoboTests:com.android.settings.notification.app

Bug: 300157932

Change-Id: I068017b5c9bf6beb83ae7c580ae3206807b358e7
2023-09-20 16:48:55 +02:00
Eric Rahm
802b922593 Revert "Test Fix SettingRobolectricTest Fail"
This reverts commit 818f77cd1f.

Reason for revert: Underlying issue fixed in ag/23454315.

Bug: b/275023433
Test: atest SettingsGlobalRoboTests

Change-Id: I1af272efd00b3c5bd35310512f5712d5d1c7d834
2023-09-11 13:38:36 +00:00
Julia Reynolds
67c2cf714b Fix failing test
Test: make -j RunSettingsRoboTests ROBOTEST_FILTER=NotificationAssistantPreferenceControllerTest
Fixes: 296531083
Change-Id: If949a76662aab6aa63e6ca793d9349254ce688e9
2023-08-28 18:19:21 +00:00
Rex Hoffman
3c961e1c0e Setup external/robolectric for SettingsRoboTests
Current failing tests: ab/I64100010182936387
Had to Ignore some of com.android.settings.accessibility tests, which will be fixed separately

Bug: 261728063
Test: atest SettingsRoboTests -- --test-arg com.android.tradefed.testtype.IsolatedHostTest:java-flags:-XX:CompressedClassSpaceSize=3g

Change-Id: I4a0cb992db924936826e0c9808accc78dddb5f30
2023-08-17 22:33:20 +00:00
Iván Budnik
dd6ee00476 Fix test in RemoteVolumeGroupControllerTest
The failure was caused by ag/24081083.

Bug: 292920056
Bug: 192657812
Test: atest RemoteVolumeGroupControllerTest
Change-Id: Iac59b69dd49b4873a72081ae5776fc2f451bbb10
2023-07-25 13:48:12 +00:00
Michael Mikhail
1ff1626fd5 Merge "Override the state description of volume seekbar." into udc-qpr-dev am: 4b77d876b9 am: 31f420ce9b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23985544

Change-Id: I74b6b1e03877780f28779b563ea8ad088aa1233d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-20 16:55:25 +00:00
Michael Mikhail
b222b96407 Override the state description of volume seekbar.
This overrides the state description of seekbar in order to adjust the
progress percentage. The percentage of seekbar is not matching with the
percentage said by talkback feature when the volume changes. This CL
rounds the percentage to match what is said by talkback.

Bug: 285458191
Test: Enabled talkback and checked percentages of sliders of all sounds
and vibrations volumes. Video attached in bug link.
Test: atest VolumeSeekBarPreferenceTest.

Change-Id: Iedcf3eccb13b7f8ee1a4ca521f0783c55d7a1902
2023-07-20 14:11:26 +00:00
Iván Budnik
f9fc86593c Remove duplicate routing logic from Settings app
Also, remove unused MediaRouter2Manager references.

This is a non-functional change.

Bug: 192657812
Test: Presubmit
Change-Id: I72f5f40e157cea922ad40a2602fba881572fb708
2023-07-19 15:58:39 +00:00
Treehugger Robot
3365eb3e7a Merge "Improve volume slider" into main 2023-07-10 10:27:21 +00:00
Mill Chen
c69899ccef Improve volume slider
In the Settings, the Preference#onBindViewHolder will be invoked
3 times when a preference is getting highlighted. This caused that a
disabled volume slider becomes enabled after getting highlighted.

This change is to optimize the init method of VolumeSeekbarPreference
to speed up the initial process and fix the unexpected behavior.

Bug: 275352565
Test: manual test and robotest pass
Change-Id: I77f28386f6d6e4a45297f1ca7bcbaf16ed6136a4
2023-07-07 20:52:13 +08:00
Mill Chen
45d9e390b2 Fix do not disturb bypass user restriction
Do not disturb search result can still switch on/off when users are
restricted by DISALLOW_ADJUST_VOLUME. The DND search result is presented
by slice and there was no user restriction check when creating DND
slice, which caused DND search result can access. To prevent DND from
being access if user restriction is enabled, adding user restriction
check during creating the DND slice.

Bug: 242846154
Test: robotest pass and manual test
Change-Id: I897a99e9dda2f9f84365d96841a4c4f4cf975331
2023-07-07 20:25:18 +08:00
Michael Mikhail
48faaab788 Merge changes from topic "cherrypick-volume-gar-chain-" into udc-qpr-dev am: c156b6c427 am: 0d1b67b73e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23830401

Change-Id: I5793b74a6737ad920bbdf1dd49667adf231b2e5a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-30 14:34:07 +00:00
Michael Mikhail
c156b6c427 Merge changes from topic "cherrypick-volume-gar-chain-" into udc-qpr-dev
* changes:
  Trigger talkback for notification volume change
  Add content description to volume title in settings.
2023-06-30 12:56:45 +00:00
Matías Hernández
412fc3e2c4 Merge "Settings: don't try to allow NLSes with too-long component names" into udc-dev am: 4d34eb2c7a am: 143d105dc9
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23726247

Change-Id: I71f428e90b132c4282827b698623ee1d43c0f7c1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-28 18:35:53 +00:00
Michael Mikhail
2f393303c9 Add content description to volume title in settings.
Adds content description that is announced by talkback when a11y focus
is on volume preference. This improves talkback announcement when view changes.

Fixes: 285529113
Bug: 285455826
Fixes: 285487766
Test: atest VolumeSeekBarPreferenceControllerTest
Test: atest VolumeSeekBarPreferenceTest
Change-Id: Ibe80b4b1d489dc058df1cc79c96b034d5ddc6e56
2023-06-27 17:32:01 +00:00
Matías Hernández
027f0a46ae Settings: don't try to allow NLSes with too-long component names
* NotificationAccessConfirmationActivity (triggered through CompanionDeviceManager) -> Don't show the dialog, bail out early similarly to other invalid inputs.
* NotificationAccessSettings (from Special App Access) -> No changes, but use the canonical constant now.
* ApprovalPreferenceController (used in NotificationAccessDetails) -> Disable the toggle, unless the NLS was previously approved (in which case it can still be removed).

Fixes: 260570119
Fixes: 286043036
Test: atest + manually
Change-Id: Ifc048311746c027e3683cdcf65f1079d04cf7c56
2023-06-21 17:02:32 +02:00
Matías Hernández
7e6819735f Don't hide approved NLSes in Settings am: ff255c6eda am: 50df60c93c am: a49e14f8ff am: 0aa241be99 am: 2b1faa0aea am: dcbe38baa9 am: 0bb6ddf0b6
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23563580

Change-Id: If67948d9e0c95b74dd05a77a13f31822ce358f2f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-14 17:23:53 +00:00
Matías Hernández
dcbe38baa9 Don't hide approved NLSes in Settings am: ff255c6eda am: 50df60c93c am: a49e14f8ff am: 0aa241be99 am: 2b1faa0aea
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23563580

Change-Id: I69d2ef43afb54ce3b9d141d4f676b688dd1c5c59
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-14 15:52:58 +00:00
Matías Hernández
0aa241be99 Don't hide approved NLSes in Settings am: ff255c6eda am: 50df60c93c am: a49e14f8ff
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23563580

Change-Id: I8cd7cc9605b3728f9f96c3479d17aa1b362d9cda
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-14 14:22:10 +00:00
Matías Hernández
a49e14f8ff Don't hide approved NLSes in Settings am: ff255c6eda am: 50df60c93c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23563580

Change-Id: I840d7836ae899bcd40eafc772b96c9460c3f8a02
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-14 13:42:07 +00:00