Commit Graph

113 Commits

Author SHA1 Message Date
Julia Reynolds
2494fd0187 Merge "Add missing conversation field" into udc-dev 2023-03-20 14:28:41 +00:00
Julia Reynolds
5164149efc Add missing conversation field
NotificationChannel#EDIT_CONVERSATION should show
both 'demote conversation' and 'promote conversation'
fields.

Test: View Partial and Full Settings for promoted and
demoted channels
Fixes: 273508155

Change-Id: I4a17a73d695d7c79837fc647b79968f535fa4393
2023-03-20 13:04:11 +00: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
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
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
xinghailu
1637a3a10a Cleanup plurals format
Change <one> to <1> in string res file
Test: Update, existing tests still pass
bug: 199230342

Change-Id: Ic3a5259570cb52cd1664638f3b1058c87a631c04
2022-12-27 12:12:11 +08:00
András Kurucz
918a7d1844 Merge "Allow to block/unblock Conversation Notifications from Settings" into tm-qpr-dev am: 80095fa001 am: e06c0d905e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20551986

Change-Id: I9965bff813d7943ed40271c739ea9a2e909759f3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-28 17:25:56 +00:00
András Kurucz
e06c0d905e Merge "Allow to block/unblock Conversation Notifications from Settings" into tm-qpr-dev am: 80095fa001
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20551986

Change-Id: I1437a24ea8da6e36be62a2dab42307a24dc5e167
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-28 16:57:05 +00:00
András Kurucz
0fa99226e1 Allow to block/unblock Conversation Notifications from Settings
The user can end up in a state where the Channel of a Conversation is
blocked (has an importance of 0).
Currently there was no way to unblock it, because we didn't allow it from
the Settings. Therefore now the option to block/unblock is added to the
Conversation Settings page.

Fixes: 255062535
Test: Block/Unblock a Conversation from Settings
Test: Mark a notification blocked and conversation by clicking the “Show
notifications” toggle and the “This is a conversation” button at once.
Now unblock it from the Settings.

Change-Id: I06778d259155d87d6af4bdb7013cd3b6c9a2e5ee
2022-11-23 13:24:36 +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
Yining Liu
7f6b3cc7ca Fix text in notification settings for apps that do not send notifications am: e899b4c96c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20283152

Change-Id: Ic748f560f9a4767b6c75349506ae569cde1473af
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-27 23:29:27 +00:00
Yining Liu
e899b4c96c Fix text in notification settings for apps that do not send notifications
Added a new string to show for apps apps that target T, but do not declare the POST_NOTIFICATIONS permission in notification settings.

Bug: 229108007
Test: `croot` `make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.notification.app.NotificationsOffPreferenceControllerTest"` and manual: open Settings-Notifications-App Settings, check the text for apps that does not post notifications with toggle disabled. Text should be: "This app does not send notifications" when system language is English.
Change-Id: I9822b6f983e00c5982522099e339d86fae45aefe
2022-10-27 20:19:44 +00:00
Chaohui Wang
507e5f8c90 Fix some errors for Settings project
Attrs could not have same name, so create a common parent for the
messageText. And BiometricEnrollCheckbox is not in use.

Replace some com.android.settingslib.R with com.android.settings.R,
because these are files in settings instead of settingslib.

Bug: 253772249
Test: TAP
Change-Id: Ifa796e923bf26facf4935be4968637affdb4b48b
2022-10-16 14:14:02 +08:00
Shen Lin
78fc8a21a4 Fix potential NPE crash in ConversationHeaderPreferenceController
mChannel is nullable and we have to do a null-check before calling its method.

Bug: 245506600

Test: manual and atest
Change-Id: Ib739f0f66f1a2aee1b2741263e7c206341782892
2022-09-09 10:16:29 +08:00
Michael Wright
475632c4fe Revert^3 "Improve App notification loading"
33710fd9e2

Change-Id: Ifb45f949c28bff04f8abfe3e1a73628f2e407241
2022-08-24 12:22:12 +00:00
Julia Reynolds
33710fd9e2 Revert^2 "Improve App notification loading"
c5f1cb11e0

Change-Id: I5a6d39e0a5f2b7bd30bcc12e207b8bb23857c6d8
2022-08-10 13:41:22 -04:00
Neha Jain
c5f1cb11e0 Revert "Improve App notification loading"
Revert "Fix binder error when an app has many channels"

Revert submission 19290255-jr-bind-flicker

Reason for revert: b/240100577
Reverted Changes:
I9a1c96f75:Improve App notification loading
I391ce0b10:Fix binder error when an app has many channels

Change-Id: Iaae40de74d135a79c18201ec17e00f3d9d5f0f3b
2022-07-25 22:16:16 +00:00
Julia Reynolds
e90507373c Improve App notification loading
1) Use UiBlocker, for better animations for apps with a lot of channels
2) Only load data in onResume, because the data loading step in some
of the controllers is expensive

Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.notification"
Test: load small channel and large (6000ish) channel app pages
Test: load individual channel pages
Test: load in-app channel shelf UI
Fixes: 215072888
Change-Id: I9a1c96f75b02f94b3ffc529d17d9c0cad7752de1
2022-07-20 15:27:52 +00:00
Chaohui Wang
bd369cfee5 Fix Conversation page flickers
In this page, 3 conversation lists are implemented by the
ConversationListPreferenceController, these lists updates its contents
in updateState(), which is after the preference screen view created.
So when the first time this page is showed, animations of added contents
will be shown.

The improvement is when the first time, update the list in the
onCreate(), which is called before view creation, instead of the
updateState().

And also do the same thing for RecentConversationsPreferenceController.

Also, to reduce latency,
1. Because currently there are duplicated calls in
NoConversationsPreferenceController to check whether conversations are
exists or not, by removing the duplicated calls and reuse the result
from other controllers, the latency could be reduced.
2. Currently, there are seperated api calls, the
mBackend.getConversations(false) in AllConversationsPreferenceController
and the mBackend.getConversations(true) in
PriorityConversationsPreferenceController, use one
mBackend.getConversations(false) in ConversationListSettings to improve,
this does not change the behavior because the result is filtered in
matchesFilter() both before and after.
3. Currently, we sort conversations first then filter them, change to
filter first then sort to reduce latency.

Fix: 215073227
Test: visual check & robo tests
Change-Id: I028a7fabbbf64cf5627e6615372282a36eb784e5
2022-05-25 10:43:16 +08:00
Chaohui Wang
d30d1a74e1 Fix Conversation page flickers when back
In this page, there are 3 items flickery when back from conversation
page,
 - The summary under priority conversations
 - The summary under non-priority conversations
 - The clear all button under recent conversations

This is because there is no key on these 3 preferences, when preference
screen updated in onResume(), preference screen thought these 3 are new
items, shows an animation for them. Add keys to them to fix.

Bug: 215073227
Fix: 232341970
Test: visual check
Change-Id: I24691cfa89a624c1741786499b47ede87d518d1a
2022-05-20 16:25:00 +08:00
Julia Reynolds
2011588b16 Use NMS calculation of fixed importance
Rather than recalculating it again. Also align logic on
listing and details pages.

Test: NotificationBackendTest, NotificationPreferenceControllerTest
Bug: 231662091
Fixes: 231815850
Change-Id: If9572766666620008afb839ecb0828ace8d6073d
2022-05-11 16:38:04 +00:00
Julia Reynolds
4138b6f68a Remove notification permission feature flag
Tes: Settings notification robotests
Bug: 231344755
Change-Id: I3e35eede94ea88bee4c2e7fc03ce998ed68b4f81
2022-05-04 16:24:23 -04:00
Julia Reynolds
856cc0da65 Fix app notification toggle
Test: CTS Verifier 'Notification Listener Test'
Bug: 222372861
Change-Id: I060b8b9bf7b749736596676a3d98cd609dc65846
2022-03-08 09:18:56 -05:00
Mady Mellor
28f18c4b0a Merge "Use hasSentValidBubble in settings" 2022-01-14 17:58:50 +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
Mady Mellor
f9fc2e0d1e Use hasSentValidBubble in settings
This change makes it such that bubble settings will only be available once
the app has sent a bubble notification.

Test: atest BubbleSummaryPreferenceControllerTest
Bug: 178387292
Change-Id: I459ffcedc4194d953e8b7170937e2eb5334d1422
2022-01-12 14:10:34 -08:00
Julia Reynolds
a1c0dc75cd Properly show conversation settings
... when the backing shortcut is missing, so users can change
notification settings when the shortcut hasn't yet been recreated by the
app when setting up a new device

Test: Robotests (confirmed that the 2 controllers that used
mConversationInfo already tested for null), manual
Fixes: 203991823

Change-Id: I477c6b0aef0d978767788cbfc1bfadea4d36cda8
2021-11-10 14:16:42 -05:00
Julia Reynolds
a024c10517 Migrate to using fixed permissions
When deciding which app/group/channel level fields are editable. If
an app has a fixed notification permission, no importance type fields
(including blocking, importance, minimizing, popping on screen, or
prioirty conversions) can be edited.

Test: Robotests
Bug: 194833441
Change-Id: Idc198ea05cd2ab6e43387ae4e8290f446ccfa0c6
2021-10-29 11:27:01 -04:00
TreeHugger Robot
99e05ea46c Merge "Add NEW_TASK flag for intents that leave Settings" into sc-v2-dev am: 5a7966884b am: e99fe9b60c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16018030

Change-Id: I740ef2294a340ad01366fd99df986f34563e28da
2021-10-11 16:05:50 +00:00
Julia Reynolds
f8cdea4b9d Add NEW_TASK flag for intents that leave Settings
Test: manual
Fixes: 202101382
Change-Id: Ie0cc7c10b19b49ad33227f3fdaad397e03e33858
2021-10-08 17:05:45 +00:00
Wilson Wu
9edf79741d Update settings PrimarySwitchPreference reference
To make InputMethodPreference support 2 target
reference, CL[1] move the PrimarySwitchPreference
into SettingsLib.

Change all PrimarySwitchPreference reference to
Settingslib one and remove the original one.

[1]: Idea3935d95b8d22b00ca89313e9eb3e979e4aa74

Bug: 197705032
Test: Presubmit
Change-Id: I95d111522344bb7cbdd380382e48fe60a5ebc9a2
2021-09-02 13:10:19 +08:00
Julia Reynolds
2ffbb747d4 Handle spanned conversation labels
Test: Robotests
Fixes: 194446117
Change-Id: If21f727e00b181f0da127b09e5a1c46ec3257836
2021-08-12 20:11:00 +00:00
Edgar Wang
9bac8ec684 Adjust bubbles avatar icon size to align left icon
Bug: 185596897
Test: robotest & visual
Change-Id: I5d283db7e6b7f0d8cda9689c1ead2fdd318cc8ab
2021-06-21 23:59:45 +08:00
Julia Reynolds
6a603e7f4b Clean up notification settings
- Reorganize settings
- Fix dividers
- Add icons
- Fix titles
- Fix colors
- Fix indentation
- Add summaries

Fixes: 190079590
Test: manual inspection, robotests

Change-Id: Ia03219575d3b0c78f9f9b088aa3cdaa29cfdf412
2021-06-18 14:36:20 -04:00
TreeHugger Robot
d6b3885ef5 Merge "Revert "Disable RecyclerView animation to fix the broken UI"" into sc-dev 2021-06-18 10:45:20 +00:00
Yi-Ling Chuang
357b08a63e Revert "Disable RecyclerView animation to fix the broken UI"
This reverts commit 5b219a34ab.

Reason for revert: <b/191335572>

Bug: 191335572
Change-Id: I47ceb8d043e3b02a59e43a1ae021c3c7855cbe57
2021-06-18 10:45:13 +00:00
Julia Reynolds
0d937afbb8 Add a11y text for disappearing preference
Test: Talkback
Fixes: 182241259
Change-Id: I99c1ce635c5717e22ee28bc86b51bd3be4b83d91
2021-06-17 14:28:35 +00:00
Julia Reynolds
a2c2889c78 Merge "Update method name" into sc-dev 2021-06-09 17:33:23 +00:00
Julia Reynolds
b70d3d5c13 Update method name
Test: RoboTests
Bug: 184709662
Change-Id: I3a998a151f9647efae00909e2b4f88fa27d645eb
2021-06-09 09:53:09 -04:00
Giuliano Procida
ef0e09f7a3 Merge "Revert "Apply SettingsLib SeekBarPreference to Settings"" into sc-dev 2021-06-08 09:55:58 +00:00
Edgar Wang
cdff5c6ceb Revert "Apply SettingsLib SeekBarPreference to Settings"
Revert submission 13422386-seekbar-sc-dev

Reason for revert: build broken in SettingsGoogle
Reverted Changes:
I0c2d0d5fb:Apply SettingsLib SeekBarPreference to SettingsGoo...
I1844bb3b0:Apply SettingsLib SeekBarPreference to a11y vibrat...
Ia3e4adec8:Apply SettingsLib SeekBarPreference to a11y vibrat...
Iadee57e9d:Apply SettingsLib SeekBarPreference to a11y vibrat...
I219878716:Apply SettingsLib SeekBarPreference to Settings
I959f5672c:Create SettingsLibSeekBarPreference
I92545a69c:Apply SettingsLib SeekBarPreference to a11y vibrat...

Change-Id: Ie6c3b0dc072e044796abdb33fca305f9f9d47c4d
Bug: 176818438
2021-06-08 09:47:51 +00:00
Edgar Wang
4aad4a88a7 Merge "Apply SettingsLib SeekBarPreference to Settings" into sc-dev 2021-06-08 07:23:54 +00:00
Edgar Wang
d6b5bbb5cb Apply SettingsLib SeekBarPreference to Settings
Bug: 176818438
Test: robotest

Change-Id: I219878716457ce4bb7cad251bccf5d50d93030a5
2021-06-07 18:09:19 +00:00
Julia Reynolds
6d6280c634 Merge changes I31066a6f,I081cea0d into sc-dev
* changes:
  Fix broken test
  Updates to conversation page
2021-06-07 14:50:00 +00:00
Julia Reynolds
c94f997a2f Fix broken test
Test: robotests
Fixes: 189352955
Change-Id: I31066a6fdd72e923369e613b656ffe767b3e3b5c
2021-06-03 10:52:18 -04:00
Yi-Ling Chuang
5b219a34ab Disable RecyclerView animation to fix the broken UI
RecyclerView has item animation by default. In this bug, RV animation
seems to be interrupted by the page transitions(Shared Axis), and so
items could not finish sliding to its position.

Hence, disable RV animation to fix it.

Fixes: 189720797
Test: Navigate to Mobile & Wifi usage page and see the normal UI.
Change-Id: I52920715ae4b63ef78a73fcb9c76c6d20f80e012
2021-06-03 18:12:07 +08:00
Julia Reynolds
679445fb43 Updates to conversation page
- Make info preference not selectable
- remove dividers

Test: manual
Fixes: 189414449
Change-Id: I081cea0d51fbc2d1c54ac392cee88a5750985fce
2021-06-02 16:16:17 -04:00
Julia Reynolds
05f20f44f2 Improve entrance animations on convo page
By moving loading in each controller to the same thread.
There will still be shifting as the conversation prefs are added, but it
won't be the over thte top shift up and shift down motion that existed
prior to this cl.

Test: manual
Fixes: 188734400
Change-Id: I202981b603b8f9308b2b352a0939182910869cd6
2021-05-24 09:02:24 -04:00
Julia Reynolds
86af9e9da0 Add a11y announcement
Since the button for clearing recent conversations may still
exist after the user triggers the button since some of the
conversations might not be removable

Test: manual with talkback
Fixes: 185433664
Change-Id: Id58d76237643e4e206ea6d551cdf7dd9f5742282
2021-05-17 11:11:29 -04:00