Commit Graph

586 Commits

Author SHA1 Message Date
Behnam Heydarshahi
7aa8424cc0 Merge "Remove volume_separate_notification flag" into udc-dev 2023-05-22 14:09:22 +00:00
Julia Tuttle
6630c852d9 Add FSI toggle to per-app notification settings
Bug: 277938609
Test: atest FullScreenIntentPermissionPreferenceControllerTest
Test: # manual, verifying against "Special app access" screen
Change-Id: I9cb0d9bc99ce59a7b0ff6bcd2cab7a3c2d63f45f
2023-05-17 14:30:49 +00:00
Behnam Heydarshahi
f07e023302 Remove volume_separate_notification flag
Fully enable the feature

Bug: b/255363741, b/38477228

Test: make DEBUG_ROBOLECTRIC=1 ROBOTEST_FILTER="NotificationVolumePreferenceControllerTest|SeparateRingVolumePreferenceControllerTest|RingerModeAffectedPreferenceControllerTest|SoundSettingsTest" RunSettingsRoboTests -j40
Change-Id: Iec490fc254f71b6461dbf9f9beb4a11645a4a497
2023-05-15 21:19:26 +00:00
Vincent Wang
818f77cd1f Test Fix SettingRobolectricTest Fail
Bug: b/275023433
Test: NA
Change-Id: If2dcb8f6c196327129ccc9375b190e394c994efa
2023-05-09 06:26:39 +00:00
Matías Hernández
005a382091 Prevent guest users from toggling "hide silent notifications"
This is a global setting, not per user, and shouldn't be modifiable by a guest. It can still be toggled by other, "normal" users, for the same global effect.

Fixes: 260570341
Test: atest
Change-Id: Id6e1803b5364f3b50bdbc14af0468979c96b5638
2023-03-24 12:15:58 +01:00
Matías Hernández
08893ed0b3 Merge "Refresh the app's "Conversations" list when there are none" into udc-dev 2023-03-16 15:57:11 +00:00
Matías Hernández
a5eea1c034 Refresh the app's "Conversations" list when there are none
Also hide the header in that case (simiarly to bubbles).

Test: atest (new) + manual
Fixes: 273748214
Change-Id: I4f758a0bf5bb8cfa91701185f1568b358d8903a0
2023-03-16 15:07:13 +01:00
Julia Reynolds
068a55384b Merge "Reduce jank when revoking notification permission" into udc-dev 2023-03-15 14:50:07 +00:00
Julia Reynolds
a331c50b53 Reduce jank when revoking notification permission
-Reorder fields so the appear/disappear more cleanly
-Remove some divider lines- they don't animate with the content, for
some reason
-Remove an unused field
-Hide the badge field (remaining field with divider) if there are no
channels
-Change style of 'Notifications are blocked' field to better match
the other fields

Test: revoke notification permission for apps with and without channels
Test: BadgePreferenceControllerTest
Fixes: 233962859
Change-Id: Ife894172bf91d838edf3b0546c5ee00e206a855f
2023-03-15 09:08:10 -04:00
TreeHugger Robot
df5bbc630d Merge "Hide Dock speaker plays from sound pages" into udc-dev 2023-03-15 11:52:38 +00:00
Mill Chen
a860bf3220 Hide Dock speaker plays from sound pages
In order to ensure the setting only works on the analog docks, adding
the docking state checks.

Bug: 270492232
Test: manual test
1) Connect to digital dock
2) Check the sound page and the dock speaker plays shouldn't be
   displayed

Change-Id: I1dc1e0aac8b9067ec8f5f1defc721294caf2949e
2023-03-15 10:25:32 +00:00
Matías Hernández
0882b04ed5 Delete stuff related to removed "Conversations that can interrupt" settings
Bug: 226486181
Test: N/A, dead code removal only
Change-Id: I100db518880a7eee402af37f49e416ec61ff8486
2023-03-14 16:53:53 +01:00
Matías Hernández
bf1b95e0fe Don't allow setting channels to bypass DND if the app cannot show notifications
The fix makes the flow more consistent with preexisting behavior:
* Apps appear in the "Apps that can interrupt" section only if some channels are set to bypass DND *and* the app is able to show notifications.
* Channels cannot be set to bypass if those individual channels are blocked.

Fixes: 265064188
Test: atest AppChannelsBypassingDndPreferenceControllerTest
Change-Id: If10f086fd60f0f70f53adb8f5cd67f90936bc35f
2023-03-07 16:41:36 +01:00
Julia Reynolds
cb6a88b862 Remove jank on DND schedule page
Only add/or remove preferences when absolutely needed.
Also fix a 'load data from backend' method that wasn't.

Fixes: 216747934
Test: ZenModeAutomaticRulesPreferenceControllerTest
Test: view schedules page
Test: add schedule
Test: remove schedule
Test: view schedule child page and return to schedules page
Change-Id: I237c2ca7ea89ee6e42354470a76712068a7f4dd7
2023-03-01 18:43:02 +00:00
TreeHugger Robot
408a4045f1 Merge "Reduce jank on DND apps page" into tm-qpr-dev am: 694742152d am: 2ecd05add8
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21477350

Change-Id: I06dc22c948192703fdf717a735ef9abc3df58496
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-21 21:32:14 +00:00
TreeHugger Robot
2ecd05add8 Merge "Reduce jank on DND apps page" into tm-qpr-dev am: 694742152d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21477350

Change-Id: I3b215c7f5c824c04837cc84f2af1c81e0702aa6c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-21 19:47:05 +00:00
Julia Reynolds
9f7af5946e Reduce jank on DND apps page
1) Remove call to redisplay the api when registering our app listener -
this meant all preferences were always removed/readded on page load
because the app list isn't ready at that time
2) Stop rebuilding the UI for events we don't care about
3) Keep existing preferences when possible and just do the diff of prefs
that need to be added/removed

Fixes: 234298144
Test: ZenModeAddBypassingAppsPreferenceControllerTest
Test: ZenModeAllBypassingAppsPreferenceControllerTest
Test: manually view page; add & remove apps that have dnd breakthrough
Change-Id: I57b36d36135dd25d1d2fd73073cf6b7a033659a6
2023-02-17 13:39:19 +00:00
Behnam Heydarshahi
dce497f72f Merge "Muting ring volume slider disables notification" into tm-qpr-dev am: 40a293fbdf am: d65e087b0d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21164988

Change-Id: I560670cee8bd07312766d494c4a66ef770e121cb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-16 15:47:36 +00:00
Behnam Heydarshahi
d65e087b0d Merge "Muting ring volume slider disables notification" into tm-qpr-dev am: 40a293fbdf
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21164988

Change-Id: I8043d9156b1602379a6580cffb29c5addf32d8ee
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-16 15:01:11 +00:00
Behnam Heydarshahi
d9c3cf855f Muting ring volume slider disables notification
With volume_separate_notification flag enbaled, muting ring volume
slice will cause notification volume slice to gray out.

There used to be a bug in which notification slice would not get
updated in response to a change in ring volume mute/unmute broadcast.
The resulting erroneous behavior was notification slider would get to
zero but not get grayed out. To fix that bug, VolumeSliceHelper listens
to ring stream mute/unmute broadcasts and forwards them to notification
slice.

Bug: b/266072907
Test: make DEBUG_ROBOLECTRIC=1 ROBOTEST_FILTER="NotificationVolumePreferenceControllerTest|VolumeSliceHelperTest" RunSettingsRoboTests -j40

Change-Id: I2ab51f1272bf99a0c3d9ca285354052d00910c90
2023-02-15 15:43:08 +00:00
Steve Elliott
23049925a2 Merge "Setting to control seen notification filtering" into tm-qpr-dev am: c8a6db40ac am: 2891e33edb
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21022067

Change-Id: I2ad7d426b9dbee84b440029a5d34124406ec78b6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-21 00:17:17 +00:00
Steve Elliott
2891e33edb Merge "Setting to control seen notification filtering" into tm-qpr-dev am: c8a6db40ac
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21022067

Change-Id: Ibb65634f4c0f6b45dc8a769d4a45c363c4c63522
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-20 23:35:41 +00:00
Steve Elliott
f127bc13b0 Setting to control seen notification filtering
Test: manual
  1. adb shell settings put secure \
     lock_screen_show_only_unseen_notifications <0|1>
  2. Settings > Notifications > General > Show only new notifications on
     lock screen
  3. Toggle setting
  Observe: if setting is enabled, seen notifications are filtered from
           the lockscreen, and vice versa
Bug: 254647461
Change-Id: I4f6e35a1d918095cea25a97f72ddd08869ad9b31
2023-01-19 22:22:30 +00:00
Azhara Assanova
7f8539b190 Merge "Make mutable implicit PendingIntents immutable" 2023-01-18 11:04:31 +00:00
Behnam Heydarshahi
74f725254e Merge "Ring & notif vol missing on a largescreen device" into tm-qpr-dev am: cf022d4537 am: 93ae531273
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20835100

Change-Id: Ifc2e24c703199737d647f55f8615d83795630477
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-12 17:18:05 +00:00
Behnam Heydarshahi
93ae531273 Merge "Ring & notif vol missing on a largescreen device" into tm-qpr-dev am: cf022d4537
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20835100

Change-Id: Id45cee329be0245b513ad3ddd4a405fef2efb223
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-12 16:37:26 +00:00
Behnam Heydarshahi
cf022d4537 Merge "Ring & notif vol missing on a largescreen device" into tm-qpr-dev 2023-01-12 16:15:27 +00:00
Sorin Basca
a962b4b712 NEW Use Mockito 4.6.1 API
Addressing skipping merge issue

Bug: 236636175
Test: atest SettingsRoboTests
Change-Id: Ie7caae0ea9aa212f1ee06d6fe89fa0776979e4e6
Merged-In: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
2023-01-12 01:35:44 +00:00
Behnam Heydarshahi
18469d2975 Ring & notif vol missing on a largescreen device
Before:
"Ring & notification volume" showed up in volume panel and in volume
settings.

Now (what prompted this bugreport):
A device config was changed to mark it not voice capable.
"Ring & notification volume" disappeared from both places;
"Notification volume" showed up only in volume settings, not panel.

Fix: the voice capable should not be a factor when determining
availability for ring/notification slices.

After this fix is applied:
"Ring & notification volume" to reappear at both settings and panel.

Bug: 256548882

Test: make DEBUG_ROBOLECTRIC=1 ROBOTEST_FILTER="VolumePanelTest|RingVolumePreferenceControllerTest|NotificationVolumePreferenceControllerTest|SeparateRingVolumePreferenceController" RunSettingsRoboTests -j40

Change-Id: Ie2b1913bde6a64303c4d9fde3724889f949c363b
2023-01-11 22:14:29 +00:00
Azhara Assanova
8327dbaeed Make mutable implicit PendingIntents immutable
Starting from target SDK U, we will block creation of mutable
PendingIntents with implicit Intents because attackers can mutate the
Intent object within and launch altered behavior on behalf of victim
apps. For more details on the vulnerability, see go/pendingintent-rca.

From a quick analysis, we concluded that the PendingIntents here do not
get mutated, so we made them immutable.

Reviewers, please call out if this is not the case.

Bug: 236704164
Bug: 229362273
Test: atest MediaVolumePreferenceControllerTest
Change-Id: Ic5f701b504c0d8d0d0a44b002117ee5ef1c188f7
2023-01-11 20:44:32 +00:00
Behnam Heydarshahi
53c32d487a Merge "Implement a separate controller for ring volume" into tm-qpr-dev am: ee56e95f90 am: 4fc098dc1b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20749598

Change-Id: I2ed97051fc0602324c12960e3696c4933911abcc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-11 15:14:24 +00:00
Behnam Heydarshahi
4fc098dc1b Merge "Implement a separate controller for ring volume" into tm-qpr-dev am: ee56e95f90
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20749598

Change-Id: I1dbbde115a9e92ecc1b602607827d51ec2078102
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-11 14:34:49 +00:00
Treehugger Robot
88e923f7ce Merge "Amend "Reset notification importance" list item style" am: aef592eb18 am: 9c8ff84746 am: 8601b70e1c
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2382194

Change-Id: I1e2cabff29c20c9a759743116ba9d57710c3d1bb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-11 12:17:05 +00:00
Treehugger Robot
8601b70e1c Merge "Amend "Reset notification importance" list item style" am: aef592eb18 am: 9c8ff84746
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2382194

Change-Id: Ibb2373d9410439be710b78c9e61c697f87bb28b4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-11 11:53:43 +00:00
Shen Lin
1721d0f276 Amend "Reset notification importance" list item style
Using LayoutPreference here makes list look like abrupt, we would like
to switch to normal Preference to align listitem style.

Bug: 265062898
Test: atest ImportanceResetPreferenceControllerTest -c
Change-Id: I93961de148915699d2cba46bdba71e667e8ea10a
2023-01-11 05:21:59 +00:00
Behnam Heydarshahi
4f87dd4b56 Implement a separate controller for ring volume
When ring volume is separated from notification, a new xml preferece and
controller is needed for it, so that the settings search can show/hide
the slice correctly.

1. Use a separate preference and controller for ring volume (vs ring &
notification combined)
2. Notification slice in settings no longer grays out when ringer mode
is set to mute or vibrate.
3. Introduce an abstract RingerModeAffected preference controller class
to factor out duplicate code among ring, notification, and separate-ring
controller classes.

Bug: b/259084354

Test:   make ROBOTEST_FILTER=RingVolumePreferenceControllerTest
RunSettingsRoboTests -j40
        make ROBOTEST_FILTER=SeparateRingVolumePreferenceControllerTest
RunSettingsRoboTests -j40
        make ROBOTEST_FILTER=NotificationVolumePreferenceControllerTest
RunSettingsRoboTests -j40
        make ROBOTEST_FILTER=VolumePanelTest RunSettingsRoboTests -j40
	make
ROBOTEST_FILTER=RingerModeAffectedVolumePreferenceControllerTest -j40

Known Issue:
1. When streams are separate and ring volume set to mute/vibrate,
notification is set to zero, but not disabled. So it can be turned on
by user (and in settings the icon will stay mute/vibrate instead of
changing to the normal notification icon).

2. In the above scenario after notification is unmuted in settings,
the notification icon continues to stay vibrate/mute -- should change
to the normal notification icon.

Note: This feature is controlled using a boolean DeviceConfig flag:
systemui/"volume_separate_ring". The default value is 'false', which is
meant to keep the experience the same as before. It will be set to
'true' for teamfood and dogfood. Eventually the flag will be removed and
the code in the 'true' branch will prevail.


Change-Id: Ibec871eafeef4081e96c5e0dd04535565d50a077
2022-12-28 22:33:50 +00:00
changbetty
81ff62f0dd [LE Audio] Add broadcast icon when device is broadcasting but LE device
is disconnected

Bug: 260173555
Test: make RunSettingsRoboTests ROBOTEST_FILTER=MediaVolumePreferenceControllerTest
Change-Id: I9e8117d5c885953ab7931833de81ceab63273d43
2022-12-05 07:24:29 +00:00
Steve Elliott
66284b5528 Merge "Revert^2 "Add configuration for defaulting notification behavior"" into tm-qpr-dev am: fece948623 am: 81fc1b0b4d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20530303

Change-Id: I510fcf15b561e4f89df2b1b69ad74ca0350c1426
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-22 23:40:10 +00:00
Steve Elliott
81fc1b0b4d Merge "Revert^2 "Add configuration for defaulting notification behavior"" into tm-qpr-dev am: fece948623
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20530303

Change-Id: I9cd33ea6d02cf1243034a399162dfffcd0fd8f65
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-22 23:05:49 +00:00
Steve Elliott
30ccc43ae1 Revert^2 "Add configuration for defaulting notification behavior"
Test: go through SUW on affected device, view notification screen
Bug: 240472040
Change-Id: I34dbe28226d830bc5ba633e72cd529d97021de85
2022-11-21 15:16:40 +00:00
Sam Dubey
c536eb4dc4 Revert "Add configuration for defaulting notification behavior" am: a2d06273c1 am: 48eae58586
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20505171

Change-Id: I0e2693f89594f6c473c5c2e9dbb6a34ea6bf5864
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-17 14:29:58 +00:00
Sam Dubey
48eae58586 Revert "Add configuration for defaulting notification behavior" am: a2d06273c1
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20505171

Change-Id: Ic9b89ba7d709e09be8217252485adcfc49575d70
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-17 14:01:32 +00:00
Sam Dubey
a2d06273c1 Revert "Add configuration for defaulting notification behavior"
Likely causing b/259499400

This reverts commit a92688d642.

Change-Id: I781a7ecf9139eca11e1db895f86268b893258543
2022-11-17 07:33:18 +00:00
TreeHugger Robot
7765c7129b Merge "Add configuration for defaulting notification behavior" into tm-qpr-dev am: e2e892d46c am: 54170343cf
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20454246

Change-Id: Ic5021313463c2fb955d2e5066a5b8f9dec4603fb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-15 23:40:08 +00:00
TreeHugger Robot
54170343cf Merge "Add configuration for defaulting notification behavior" into tm-qpr-dev am: e2e892d46c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20454246

Change-Id: I3f6ad58e5f8292642d7eb958402d172537536d0d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-15 23:00:52 +00:00
Steve Elliott
a92688d642 Add configuration for defaulting notification behavior
Test: RedactionInterstitialTest
Test: go through SUW on a phone
Bug: 240472040
Change-Id: I7bcd9f1a128c757881693e0251d305d2e26e4fd8
2022-11-11 14:08:09 -05:00
Behnam Heydarshahi
bff773b41b Merge "Read flag to show/hide notification slider" into tm-qpr-dev am: 2552ae08ae am: 6b156be280
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20180104

Change-Id: If6e7bd4facd8a3bea6528b25767aed45e7175f7d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-03 18:33:40 +00:00
Behnam Heydarshahi
6b156be280 Merge "Read flag to show/hide notification slider" into tm-qpr-dev am: 2552ae08ae
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20180104

Change-Id: I7321b1bfe1e7d89924b38cd6adf2853d336740d9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-03 16:15:00 +00:00
Behnam Heydarshahi
2ac6fc5709 Read flag to show/hide notification slider
Replace the build-time boolean resource with a run time device config flag that
signals whether the ring notification slider should be displayed or not

Bug: b/38477228
Test: make DEBUG_ROBOLECTRIC=1 ROBOTEST_FILTER=NotificationVolumePreferenceControllerTest RunSettingsRoboTests -j40
      make DEBUG_ROBOLECTRIC=1 ROBOTEST_FILTER=RingVolumePreferenceControllerTest RunSettingsRoboTests -j40
Change-Id: I8b9a2cbd5af7fa1bba56ff9ba62771d677d4a932
2022-11-01 20:31:38 +00:00
Yining Liu
923cdcae41 Fix text in notification settings for apps that do not send notifications am: e899b4c96c am: 7f6b3cc7ca
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20283152

Change-Id: I3b63362fab7d5c532d231b7db82553fc9a7bde4d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-28 00:23:19 +00:00