Commit Graph

809 Commits

Author SHA1 Message Date
Matías Hernández
0baf70a4b3 Exclude implicit modes from the summary of the Modes entry in Settings
They are called "Do Not Disturb (App)" which places alphabetically near the top (in English). This can often result in a summary like "DND, Bedtime, DND (App)", which looks silly.

Fixes: 379089451
Test: atest ZenModeSummaryHelperTest
Flag: android.app.modes_ui
Change-Id: Id41caee09cca874297ca12d2ac934aed3f9a43ab
2024-11-14 15:33:54 +00:00
Matías Hernández
68158ee324 Merge "Use full day names in the a11y version of schedules in mode list descriptions" into main 2024-11-13 12:16:07 +00:00
Treehugger Robot
70b962a8a5 Merge "Handle null audio attributes" into main 2024-11-12 23:15:13 +00:00
Julia Reynolds
987d14b8df Merge "reduce number of binder calls when loading page" into main 2024-11-12 22:00:26 +00:00
Julia Reynolds
d6c932cd7e Handle null audio attributes
Test: SoundPreferenceControllerTest
Fixes: 358540739
Flag: EXEMPT bugfix
Change-Id: I9a0e6066ccc2315b276564178c13ed59dd22162b
2024-11-12 20:27:23 +00:00
Julia Reynolds
a37572a4e5 reduce number of binder calls when loading page
Test: ZenModeAllBypassingAppsPreferenceControllerTest
Test: ZenModeAppsLinkPreferenceControllerTest
Test: manual - load page and validate that it loads a few seconds faster
Flag: EXEMPT bug fix
Fixes: 368623163
Change-Id: I6d34a21f0948b117a96beefc405de4b623f49609
2024-11-12 18:29:41 +00:00
Matías Hernández
3863c67a01 Use full day names in the a11y version of schedules in mode list descriptions
Bug: 370358575
Test: atest ZenModesListItemPreferenceTest
Flag: android.app.modes_ui
Change-Id: I5d22b878c1d685476cf71167e7163be65416da68
2024-11-08 17:24:01 +01:00
Treehugger Robot
0f687eafc5 Merge "Fix stray ProfileSelectDialog when only one profile exists" into main 2024-11-07 19:09:43 +00:00
Matías Hernández
b152c2d34f Fix stray ProfileSelectDialog when only one profile exists
Fixes: 377829434
Test: atest ZenModePrioritySendersPreferenceControllerTest
Flag: android.app.modes_ui
Change-Id: Ia5f667fd937107af98dfb3a073cadeb935ff8a8a
2024-11-07 18:52:59 +01:00
Julia Reynolds
106738a1b1 Merge "Add skeleton page for bundling" into main 2024-11-06 16:59:57 +00:00
Julia Reynolds
976850dbdd Add skeleton page for bundling
Test: BundleTypePreferenceControllerTest
Test: BundleGlobalPreferenceControllerTest
Test: BundlePreferenceControllerTest
Fixes: 376476949
Flag: android.app.notification_classification_ui
Change-Id: I6fa7ddfeb5ee6d2033dee4b57b0cc0e76bb347f6
2024-11-05 17:03:40 +00:00
Jacky Wang
96aa9b27f1 Fix catalyst settings test failure
NO_IFTTT=Catalyst only

Bug: 332201912
Flag: EXEMPT test
Test: atest
Change-Id: I064a63dfe075374fbbe7bee293d8efe70a91e473
2024-11-04 06:30:36 +08:00
Mill Chen
7c9379e5d2 [Catalyst] Ring volume migration (1/n)
Bug: 373978964
Test: atest SeparateRingVolumePreferenceTest
Flag: com.android.settings.flags.catalyst_sound_screen
Change-Id: Ibf8f546c84ffb5467f62a250de37d96b5c974e15
2024-10-31 10:22:56 +00:00
Mill Chen
75b443375f [Catalyst] Media volume migration
Bug: 364898461
Test: atest MediaVolumePreferenceTest
Flag: com.android.settings.flags.catalyst_sound_screen
Change-Id: I172f336a7d1c843d071dd920d29aa35b4a1a8aaf
2024-10-31 02:43:34 +00:00
Treehugger Robot
9a022bcffb Merge "[Catalyst] Call volume migration" into main 2024-10-29 05:28:28 +00:00
Mill Chen
8f4f371131 [Catalyst] Call volume migration
Bug: 364898621
Test: atest CallVolumePreferenceTest
Flag: com.android.settings.flags.catalyst_sound_screen
Change-Id: I1464bd42fde7e0ae9063e2319c674b5e439b97f9
2024-10-29 04:25:13 +00:00
Julia Reynolds
cc8e87b0a5 Merge "Fix incorrect Settings assumption" into main 2024-10-28 18:32:00 +00:00
Matías Hernández
f201899e7c Merge "Add TtsSpan to schedule-time modes trigger segment so that full day names are read" into main 2024-10-28 16:26:40 +00:00
Julia Reynolds
451bd65471 Fix incorrect Settings assumption
Most apps will not have 4 bundle channels, even when
the flag is on

Test: BundleListPreferenceControllerTest
Fixes: 375674236
Flag: android.service.notification.notification_classification
Change-Id: Iab8e241881f9af71744b46fce356604cf9ed369c
2024-10-28 10:40:08 -04:00
Matías Hernández
1e8933123a Add TtsSpan to schedule-time modes trigger segment so that full day names are read
Bug: 370358575
Test: atest ZenModeTriggerUpdatePreferenceControllerTest + manual with Talkback
Flag: android.app.modes_ui
Change-Id: Ia9ed53c75176d887f26da90a713f1038cf26e01f
2024-10-28 12:01:10 +01:00
Matías Hernández
a9e8225ba4 Update summary of Modes entry in Settings
Instead of the number of automatic modes, simply list the first (up to 3) existing modes, according to the standard sort order, when none are active.

As a consequence, the summary is never empty now.

Fixes: 374179941
Test: atest ZenModeSummaryHelperTest + manual
Flag: android.app.modes_ui
Change-Id: I04f9d90a5e1e4ed13d66181b85d77fef8c6ff256
2024-10-24 16:18:50 +02:00
Jacky Wang
db3b6ee073 Simplify settings datastore calls
NO_IFTTT=Code refactor

Bug: 364899400
Flag: EXEMPT test
Test: atest DialPadTonePreferenceTest
Change-Id: Ifb4ab11e07b37952dfb3cc78d25383d563d5749d
2024-10-17 11:33:24 +08:00
Mill Chen
898feed16a Migrate Dial pad tones preference
Bug: 364899400
Test: atest DialPadTonePreferenceTest
Flag: com.android.settings.flags.catalyst_sound_screen
Change-Id: I5939a4d41ad61337f38bd5d48a1cb74f14f1e397
2024-10-16 09:25:13 +00:00
Jacky Wang
d38549d60b [Catalyst] Use hybrid mode for sound screen
Bug: 360015496
Flag: com.android.settings.flags.catalyst_sound_screen
Test: atest SoundScreenTest
Change-Id: Ifd685f8e3a546e8750a593201362540f60a3c031
2024-10-12 16:38:31 +08:00
Mill Chen
29036fd2a9 Sound screen migration
- Add a flag for sound and vibration migration
- Adding skeleton of sound screen

Bug: 360015496
Test: atest SoundScreenTest
Flag: com.android.settings.flags.catalyst_sound_screen
Change-Id: Id3a51663d3c1203be0046d12b312c5b64dc26683
2024-10-11 04:00:17 +00:00
Treehugger Robot
c7be2f126e Merge "Better Support for profiles in "People that can interrupt"" into main 2024-10-07 20:11:09 +00:00
Treehugger Robot
7aabe039f4 Merge "Don't disable "Done" button when it cannot be pressed" into main 2024-10-07 17:27:33 +00:00
Matías Hernández
25d75c0df7 Merge "Don't crash when recreating ZenModeTimePickerFragment" into main 2024-10-07 16:49:20 +00:00
Matías Hernández
73c7ee115b Don't disable "Done" button when it cannot be pressed
Show an error on tap instead. According to a11y guidelines this is preferrable.

Fixes: 369942776
Test: atest ZenModeEditDonePreferenceControllerTest
Flag: android.app.modes_ui
Change-Id: Ib5e47a4151c1515e5085a776d538a27c2ef41574
2024-10-07 15:56:21 +00:00
Matías Hernández
504e927168 Better Support for profiles in "People that can interrupt"
* Show contacts from personal and work profile.
* Open personal or work profile Contacts app when choosing settings.
* Skip conversations with no ShortcutInfo (they are returned for a disabled work profile but we cannot show an icon for them).

Fixes: 371513451
Test: atest com.android.settings.notification.modes
Flag: android.app.modes_ui
Change-Id: Id8653a85ee4fd15dfccbecb3ea2d31e615d29f8c
2024-10-07 17:37:37 +02:00
Treehugger Robot
3ef49b9d5f Merge "[CDM][NLS] Check if the NLS service has an intent-filter" into main 2024-10-04 18:24:30 +00:00
Matías Hernández
e5720f43ee Don't crash when recreating ZenModeTimePickerFragment
Instead, just bail out.

Fixes: 369814629
Test: manual, with don't keep activities
Flag: android.app.modes_ui
Change-Id: I893b6363801b3a56bc29999dd801d7c8152cb5e8
2024-10-04 18:58:53 +02:00
Guojing Yuan
7ae59a42eb [CDM][NLS] Check if the NLS service has an intent-filter
Bug: 363248394
Test: CTS
Flag: EXEMPT bugfix
Change-Id: Ib79c219cde8d73a218ceb7911f4552d43e384d8e
2024-10-04 16:52:24 +00:00
Matías Hernández
154a91fc7e Merge "Use TextInputLayout for the name field in the create/rename mode page" into main 2024-10-03 20:45:04 +00:00
Matías Hernández
b234ca21ab Merge "Delete Settings code related to super-obsolete zen onboarding" into main 2024-10-03 17:01:36 +00:00
Matías Hernández
b1e28233c1 Use TextInputLayout for the name field in the create/rename mode page
In addition to looking nicer, this fixes two accessibility issues ("no hint when text is entered" and "reason for disabled button is unclear").

This requires a bit of theme merging black magic, because TextInputLayout requires a Theme.AppCompat descendant, which the Settings theme isn't.

Fixes: 356398157
Fixes: 370654542
Fixes: 369942776
Test: atest ZenModeEditNamePreferenceControllerTest
Flag: android.app.modes_ui
Change-Id: I92d8ec044dabc6daed5d755e206120ec7abc143e
2024-10-03 14:14:34 +02:00
Yining Liu
41cd514fb3 Notification Minimalism Settings Main Switch
Add a main preference switch for the lockscreen
notification minimalism feature

Bug: 330387368
Bug: 354047572
Flag: com.android.server.notification.notification_minimalism
Test: atest
LockscreenNotificationMinimalismPreferenceControllerTest

Change-Id: I9aa4c51f9e316dd0dd1529d712b5e9486e43453b
2024-09-26 20:58:18 +00:00
Yining Liu
8b6431878a Show the Tangor Unseen Notification Toggle when notification_minimalism is Enabled
Show the Tangor unseen notification toggle in the Notification settings when
notification_minimalism flag is enabled on both phones and large screen devices.

Bug: 330387368
Bug: 354047572
Flag: com.android.server.notification.notification_minimalism
Test: atest ShowOnlyUnseenNotificationsOnLockscreenPreferenceControllerTest
Change-Id: Ic126b7885eb29897b55c4acdc1a2f73b4bc7841e
2024-09-26 20:50:23 +00:00
Matías Hernández
a2e71cc7cb Delete Settings code related to super-obsolete zen onboarding
A notification was shown when upgrading from pre-P to P because default DND settings had changed. The default was later changed back so it was already obsolete at that point. Moreover, it should be impossible to upgrade from pre-P to V in one step.

Bug: 346789065
Test: N/A
Flag: EXEMPT Unflaggable -- removing resources, manifest entries, etc.
Change-Id: I2862211dc9709b741e60beca5fc029cc054745a3
2024-09-26 14:30:23 +02:00
Julia Reynolds
2fe4cb6393 Merge "Make legacy DND pages not searchable" into main 2024-09-24 20:19:17 +00:00
Julia Reynolds
0c5eb711a9 Make legacy DND pages not searchable
Flag: EXEMPT unflaggable
Fixes: 341726633
Test: manual, searching in settings
Change-Id: I592a1775a890711086db1099fb333c1dc1a11e0b
2024-09-24 15:18:16 +00:00
Matías Hernández
a78f2b834c Merge "Don't add the "Events" mode anymore, and delete it if disabled" into main 2024-09-23 12:49:05 +00:00
Matías Hernández
97f06864f8 Don't add the "Events" mode anymore, and delete it if disabled
Fixes: 368227085
Test: atest ZenModeHelperTest
Flag: android.app.modes_ui
Change-Id: Idd5563505ca92463485b433e80f29bf3e0f98d39
2024-09-19 13:51:19 +02:00
Treehugger Robot
2b9e976cbb Merge "Hide the Default Notification Sound if enabling customized vibration" into main 2024-09-19 10:07:01 +00:00
Treehugger Robot
ad856d326f Merge changes from topic "b361144180-PreferenceControllerMixin" into main
* changes:
  Move ListAddMode PrefController key to constructor
  ZenModesListAdd extend BasePreferenceContoller
2024-09-17 17:28:27 +00:00
Alexander Roederer
c6c5c1dfad Move ListAddMode PrefController key to constructor
Passes the key for the ZenModesListAddModePreferenceController into the
constructor, to be supplied from the Fragment.

Flag: android.app.modes_ui
Bug: 361144180
Test: atest ZenModesListAddModePreferenceControllerTest
Change-Id: I23d5c11f8676b9ed2bde807e24f20346444e7963
2024-09-17 16:15:00 +00:00
yumeichen
23bba426b5 Hide the Default Notification Sound if enabling customized vibration
Flag:com.android.server.notification.notification_vibration_in_sound_uri
Test: atest NotificationRingtonePreferenceControllerTest
Bug: 358525376

Change-Id: Ic7517828df746700ceb6e0605a9d32066c7aed50
2024-09-17 14:38:02 +00:00
Matías Hernández
5b26a37a7e Rename usages of ZenRule.isAutomaticActive() to isActive() in Settings
Bug: 363193376
Test: N/A, automatic refactor
Flag: EXEMPT automatic refactor
Change-Id: Ice1ceccbe09e6206555b2f2b75bd7ea39d24dfd7
2024-09-11 13:39:43 +00:00
Matías Hernández
50c954923f Support (non-editable) display of DND with a filter != PRIORITY
Whenever setInterruptionFilter() is called with NONE or ALARMS, the Do Not Disturb mode now shows the current policy (nothing allowed or alarms/media allowed), instead of the normal PRIORITY policy. This policy is read-only in the UI since it cannot be customized.

This should be, or at least become, pretty rare (with small exceptions, apps targeting V that call setInterruptionFilter() will use an implicit mode instead of changing the global zen mode, plus using these filters is quite nonstandard in itself).

Fixes: 361586248
Test: atest & manual (toggling DND via cmd shell)
Flag: android.app.modes_ui
Change-Id: If2439480235d30aa310ad8925341183b9761784c
2024-08-30 15:03:03 +02:00
Matías Hernández
227548d927 Make ZenIconLoader injectable (in SystemUI)
In settings, reduce calls to getInstance(), and pass it to preferences and their controllers instead.

Bug: 360399800
Test: atest ZenModesListItemPreferenceTest ZenModesListPreferenceControllerTest
Flag: android.app.modes_ui
Change-Id: I318320575e3bd32b5d13a385fa644f8032484e1c
2024-08-28 14:10:20 +02:00