Commit Graph

662 Commits

Author SHA1 Message Date
Alexander Roederer
4e10ac8dae Merge changes from topic "b308819928-ModesSettingsAppBreakthroughPage" into main
* changes:
  Moves ZenModeBypassingAppsSettings into modes dir
  Adds modes settings page for bypassing apps
2024-05-29 14:20:02 +00:00
Alexander Roederer
c50457613e Moves ZenModeBypassingAppsSettings into modes dir
Copies these files into modes dir, so we can continue to deprecate the
old zen directory

Bug: 308819928
Test: flash+test, atest ZenModeAllBypassingAppsPreferenceControllerTest,
atestZenModeAddBypassingAppsPreferenceControllerTest
Flag: android.app.modes_ui
Change-Id: Ib18930bb16a3d675e460028f5c52ef32060541ad

Change-Id: Id6c8d834bbd106fef068c5f04acf8cd71229a5e3
2024-05-29 12:23:59 +00:00
Alexander Roederer
c512046eb9 Adds modes settings page for bypassing apps
Adds the settings page that a user will reach from a mode settings page
when they tap on "App," to allow  them to select whether all, none, or
priority modes can break through and send notifications.

Bug: 308819928
Bug: 331267485
Flag: android.app.modes_ui DEVELOPMENT
Test: build and test, controller unit tests
Change-Id: I5bcebfca0fc2882f839afdced8d2b817dad14e6c
2024-05-28 22:12:27 +00:00
Julia Reynolds
97b462dbf0 Add button for activating modes manually
Fixes: 308819907
Flag: android.app.modes_ui
Test: ZenModeButtonPreferenceControllerTest
Test: atest com.android.settings.notification.modes
Change-Id: Id018d360c648dd948d2f950ca67cfbea71cc5c68
2024-05-28 13:17:43 -04:00
Yining Liu
3e46f1f1c9 Merge changes I081a35c8,I8a84f688,I60b64a0c into main
* changes:
  Clean un-used code for notification cool down
  Add tests for updating Settings Page for Avalanche Suppression
  Update Settings Page for Avalanche Suppression
2024-05-28 15:55:14 +00:00
Julia Reynolds
91c67cf728 Fix Messages onClick.
The state of the preference doesn't change until after we get the
callback.

Test: ZenModePrioritySendersPreferenceControllerTest
Flag: android.app.modes_ui
Fixes: 337079247
Change-Id: I1c98561de89e9398f26300bb14710f18991f78f4
2024-05-28 13:42:38 +00:00
Yining Liu
3d0640985b Clean un-used code for notification cool down
Clean the un-used code for notification cool down.

Bug: 330606963
Test: PoliteNotificationGlobalPreferenceControllerTest
Flag: com.android.server.notification.polite_notifications
Change-Id: I081a35c8be8b9996fabb04b238cb426f0da2de58
2024-05-24 22:18:48 +00:00
Yining Liu
fae05be212 Add tests for updating Settings Page for Avalanche Suppression
Add unit tests for the updating of the Settings
Page for the Avalanche
visual and auditory Suppression.

Bug: 330606963
Test: PoliteNotificationGlobalPreferenceControllerTest, PoliteNotifWorkProfileToggleControllerTest
Flag: com.android.server.notification.polite_notifications
Change-Id: I8a84f688eb0b3981fbb0fdb699755b4601583702
2024-05-24 22:18:48 +00:00
Matías Hernández
43d67b0080 Refactor preference controllers to receive and mutate ZenMode/ZenPolicy
Also fixed a handful of style issues / warnings along the way.

Fixes: 341950853
Fixes: 341910620
Test: atest com.android.settings.notification.modes
Flag: android.app.modes_ui
Change-Id: I65900941fcdf53824caf052fd0a24401c1bfb476
2024-05-23 20:29:06 +00:00
Julia Reynolds
11b10202fe Merge "Add display and notif vis effects to new modes ui" into main 2024-05-23 13:32:56 +00:00
Julia Reynolds
4a84e58dba Add display and notif vis effects to new modes ui
Test: atest com.android.settings.notification.modes
Flag: android.app.modes_ui
Fixes: 337087926
Fixes: 308820151
Change-Id: Id9cd9cc4b2d521713a2ba1d4581eb818ad0e5eee
2024-05-22 13:22:16 -04:00
Matías Hernández
52ac9410e8 Merge "Load app-provided mode icons asynchronously, and cache them" into main 2024-05-22 13:57:13 +00:00
Matías Hernández
90f60e5912 Load app-provided mode icons asynchronously, and cache them
Bug: 333528586
Bug: 308819461
Test: atest IconLoaderTest
Flag: android.app.modes_ui
Change-Id: I230d0a17bf21533dfca1f25d4806f9231105801b
2024-05-21 19:16:26 +00:00
Julia Reynolds
3f2bcf973a Migrate alarms and other interruptions to modes_ui
Also add missing tests for repeat callers

Flag: android.app.modes_ui
Test: ZenModesSummaryHelperTest
Test: ZenModeOtherPreferenceControllerTest
Test: ZenModeOtherLinkPreferenceControllerTest
Bug: 337086854
Change-Id: Ie0a849de61c32b5f9feacae9a1bac457f9dd526c
2024-05-21 11:54:48 -04:00
Julia Reynolds
2bd1799fb9 Migrate people settings to new modes UI
Flag: android.app.modes_ui
Bug: 337079247
Test: make -j RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.notification.modes
Change-Id: If5e7b82a006e856b4aceca7acdfc8cc0d11092a7
2024-05-20 21:29:13 +00:00
Julia Reynolds
f60595d0d5 Merge "Fix test failures" into main 2024-05-20 18:24:42 +00:00
Julia Reynolds
44044a1898 Fix test failures
Test: ZenModesBackendTest
Flag: android.app.modes_ui
Fixes: 341693051
Change-Id: I4149db371a85abe8008c10cf76a84206f75143f6
2024-05-20 13:31:40 -04:00
Yuri Lin
fdb948df20 Add mode names to search results dynamically.
The resulting search result takes the user to the modes aggregator page.

Flag: android.app.modes_ui
Bug: 332937523
Test: ZenModesListPreferenceControllerTest, manual with modes_ui on and off
Change-Id: I7372307cb995667f6f7234530a3140f5295ab06a
2024-05-20 11:29:29 -04:00
Yuri Lin
eff863e5a3 Redirect to new modes page when modes_ui is on.
The new modes page has essentially no content yet, but this is a rough proof of concept for the existing abstract classes and hopefully serves as a building block for future changes. It lists modes and those preferences lead to contentless pages that will be fleshed out later..

Flag: android.app.modes_ui
Bug: 327260745
Test: ZenModePreferenceControllerTest
Test: manual; individual pages only have skeleton functionality and should be unit tested in future CLs
Change-Id: I12f48b48f761e3c9ff1a173445b15f7536d34edb
2024-05-15 14:00:25 -04:00
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