Apply some rules about what notifications are automatically
silenced.
Test: make ExtServicesUnitTests &&
adb install -r $OUT/testcases/ExtServicesUnitTests/ExtServicesUnitTests.apk &&
adb shell am instrument -w android.ext.services.tests.unit/android.support.test.runner.AndroidJUnitRunner
Bug: 111475013
Change-Id: Idf0434c0688b3249a9fc2d5aa655665e71e53249
- onRestore, the ZEN_MODE_CONFIG_ETAG shouldn't change
even though creationTime for zen automatic rules are updated
Test: ZenModeHelperTest.java
Change-Id: If241143f6759553b3297e5d7f12e3a3caddbd17d
Fixes: 111415419
Allow the notification assistant to block or silence
incoming notifications, or demote notifications after they
are posted
Also temporarily silence everything by default
Plus: bonus refactoring of the cancel notification runnable so I could
write just one of those tests :)
Bug: 111475013
Test: manual, runtest systemui-notification
Change-Id: Ifa04a21919f60d06080cd63e7d7747180b641308
For packages:
android.service.wallpaper
android.service.vr
android.service.voice
android.service.trust
android.service.textservice
android.service.restrictions
android.service.resolver
android.service.quicksettings
android.service.power
android.service.pm
android.service.persistentdata
android.service.oemlock
android.service.notification
android.service.media
android.service.gatekeeper
android.service.fingerprint
android.service.euicc
android.service.dreams
android.service.diskstats
android.service.chooser
android.service.carrier
android.service.battery
android.service.autofill
android.service.appwidget
android.service
This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.
Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@
Bug: 110868826
Test: m
Change-Id: I51645d8a8cdce3015749fc27e34830e822ef41ae
For example, when an app uses one activity to enter username, another for
password.
Bug: 112051762
Test: atest MultiScreenLoginTest # new API
Test: atest CtsAutoFillServiceTestCases # to make sure it doesn't break anything
Test: m -j update-api
Change-Id: Ia95888901ab72f75938efb87103cd76f5ec8ce09
If the apps has provided their own choices, they will be used, as opposed
to the "smart replies" from NAS.
Otherwise, smart replies will be applied to the notifications
with a freeform RemoteInput but without choices.
The smart reply model is not ready yet, so canned response is hardcoded
and it is disabled by default. To test it out, run
adb shell setprop persist.sys.smart_replies_experiment true
Also, to get rid of the target >= P SDK requirement, you may want to run:
adb shell settings put global smart_replies_in_notifications_flags enabled=true,max_squeeze_remeasure_attempts=3,requires_targeting_p=false
Test: atest SystemUITests
Test: atest frameworks/base/services/tests/uiservicestests/src/com/android/server/notification/NotificationListenerServiceTest.java
Test:
1. adb shell setprop persist.sys.smart_replies_experiment true
2. adb shell settings put global smart_replies_in_notifications_flags enabled=true,max_squeeze_remeasure_attempts=3,requires_targeting_p=false
3. Send a message to myself, observe the hardcoded smart replies.
Bug: 111674540
Change-Id: Ia61a77faef7c4dcba0501abfec80e3e8cc7274e4
All NotificationListenerService callbacks and methods will
still work for managed profiles, but NotificationAssistantServices
must operate within their current user.
Fixes: 111429721
Test: runtest systemui-notification
Change-Id: I9747db80f986e172e309f8f17559c943ce265c76
In P we introduced a private concept of AOD wallpapers, in Q
we're making it a public surface.
Bug: 111395593
Test: make
Change-Id: I4c406386f0ee15dc8734a24b040482b6cb807126
The metadata-based approach does not work with AAPT2.
Fixes: 80422287
Test: atest FieldsClassificationTest
Test: m -j update-api ExtServices
Change-Id: Ib7b626e77518e7eb4fcb88d85129cb67ed090c28
Specifically, a change in state from one DND provider
shouldn't result in another's state being cleared if they
aren't yet bound (or are intentionally unbound).
Fixes: 111251709
Test: cts, cts-verifier
Change-Id: I42a0ba935577e708d9df02e2a6d3620e42395a51
In O the settings were in the 'allow' section, not the 'disallow'
section, so the conditional needs to be reversed.
Test: runtest systemui-notification, manual
Change-Id: Icfcb328ac1d44b83b11d185be40c4ec696ebfb25
Fixes: 111313535
Here is the flow:
NAS generates Adjustment -> NMS convert this to RankingUpdate ->
SystemUI.NotificationListener receives the RankingUpdate in either
onNotificationPosted / onNotificationRankingUpdate (Depend on does NAS
provides the adjustment before the notification is en-queued) ->
NotificationEntryManager determines the need of reinflation ->
NotificationInflater inflates / reinflates the view with these
extra bits like smart actions.
Note: We do re-inflation here as simply adding a button to the existing
notification view seems problematic. For example, if the original
notification does not have any action, we will need to inflate the
template with the action container.
Screenshot:
https://hsv.googleplex.com/5731489463402496
Test: atest SystemUITests
Test: atest com.android.server.notification.NotificationAdjustmentExtractorTest
Test: Modify ExtServices to provide adjustment in
createEnqueuedNotificationAdjustment, post a notification with
a entity in a sample app, observed the notification is updated.
(Testing the onNotificationPosted flow)
Test: Modify ExtServices to provide adjustment in onNotificationPosted
by calling adjustNotification. Post a notification with
a entity in a sample app, observed the notification is updated.
(Testing the onRankingUpdated flow)
Test: Repeat the above test, but explicitly make the RowInflaterTask
slow by inserting Thread.sleep. This can test the onRankingUpdated
flow when the row is not yet inflated.
BUG: 110527159
Change-Id: I98aee3ac62f60b189ea92ac9fc000127325dfead
was invoked by a hardware button.
bug: 110378156
Test: lunch bat_land-userdbyg && m; deploy and use the input activity in kitchen sink to verify voice.
Change-Id: I0f3ac2783b2ea0ce6298123b67e75911d168d876
doclava was accidentally suppressing all these broken links
in @see tags. This CL fixes issues so we can start enfocing
checks for broken @see links.
Test: make docs
Change-Id: If7830ece85f8d1f27c991eae282230814726e115
Exempt-From-Owner-Approval: Fixing @see javadoc link issues that are currently completely broken
- AUTOFILL_UI_LATENCY
- AUTOFILL_AUTHENTICATED;
- AUTOFILL_DATASET_AUTHENTICATED
- AUTOFILL_INVALID_AUTHENTICATION
- AUTOFILL_INVALID_DATASET_AUTHENTICATION
At least one AUTOFILL_REQUEST is created on each session; additional ones are
created for each additional request made to the service (which is tracked by
FIELD_AUTOFILL_REQUEST_INDEX).
Also:
- Added TYPE_CLOSE to indicate a timeout waiting for the service response.
- Added FIELD_AUTOFILL_REQUEST_ORDINAL to indicate the order of the request in
the session.
- Added FIELD_AUTOFILL_NUMBER_REQUESTS on AUTOFILL_SESSION_FINISHED.
- Created an AUTOFILL_FIELD_FLAGS to avoid conflict with FIELD_FLAGS.
Test: atest CtsAutoFillServiceTestCases # to make sure it didn't break anything
Test: manually run some test and watched the result of
'adb shell logcat -b events | grep sysui', as described below.
1) LoginActivityTest#testAutoFillNoDatasets:
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,-1,1454,1]
[757,919,758,4,806,android.autofillservice.cts,908,android.autofillservice.cts,1455,1]
Where 907=AUTOFILL_REQUEST, 919=AUTOFILL_SESSION_FINISHED,
1454=FIELD_AUTOFILL_REQUEST_ORDINAL, 1455=FIELD_AUTOFILL_NUMBER_REQUESTS,
758:10 = TYPE_SUCCESS, 909 = FIELD_AUTOFILL_NUM_DATASETS (-1 == null response)
2) LoginActivityTest#testAutoFillTwoDatasetsSameNumberOfFields:
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,2,1145,60,1454,1]
Where 1145=FIELD_AUTOFILL_DURATION (60ms UI latency)
3) LoginActivityTest#testCancellationSignalCalledAfterTimeout:
[757,907,758,2,806,android.autofillservice.cts,908,android.autofillservice.cts,1454,1]
Where 758:2 = TYPE_CLOSE (timeout)
4) LoginActivityTest#testAutofillManuallyOneDataset:
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,1,1145,67,1452,1,1454,1]
Where 1452=FIELD_AUTOFILL_FLAGS and 1=FLAG_MANUAL_REQUEST
5) FillEventHistoryTest#testNoEvents_whenServiceReturnsFailure:
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,1,1145,48,1454,1]
[757,907,758,11,806,android.autofillservice.cts,908,android.autofillservice.cts,1454,2]
[757,919,758,4,806,android.autofillservice.cts,908,android.autofillservice.cts,1455,2]
Where 758:11 = TYPE_FAILURE
6) AuthenticationTest#testFillResponseAuthJustOneField
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,0,1145,91,1453,912,1454,1]
Where 1453:912 is FIELD_AUTOFILL_AUTHENTICATION_STATUS = AUTOFILL_AUTHENTICATED
7) AuthenticationTest#testDatasetAuthTwoDatasets
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,2,1145,64,1453,1126,1454,1]
Where 1453:1126 is FIELD_AUTOFILL_AUTHENTICATION_STATUS =
AUTOFILL_DATASET_AUTHENTICATED
8) AuthenticationTest#testFillResponseAuthServiceHasNoData
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,0,1145,49,1453,1128,1454,1]
Where 1453:1128 is FIELD_AUTOFILL_AUTHENTICATION_STATUS =
AUTOFILL_INVALID_AUTHENTICATION
9) VirtualContainerActivityCompatModeTest#testAutofillSync
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,1,1145,53,1414,1,1454,1]
[757,919,758,4,806,android.autofillservice.cts,908,android.autofillservice.cts,1414,1,1455,1]
Where 1414 is FIELD_AUTOFILL_COMPAT_MODE
10) FieldsClassificationTest#testHit_manyUserData_manyDetectableFields
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,0,1271,2,1454,1]
Where 1271 is FIELD_AUTOFILL_NUM_FIELD_CLASSIFICATION_IDS
11)PartitionedActivityTest#testAutofill4PartitionsMixManualAndAuto
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,1,1145,109,1454,1]
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,1,1452,1,1454,2]
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,1,1454,3]
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,1,1452,1,1454,4]
[757,919,758,4,806,android.autofillservice.cts,908,android.autofillservice.cts,1455,4]
Bug: 80093094
Fixes: 80095814
Change-Id: I87424834fc925a3bcba410eec5aa32fcd6253367
(cherry picked from commit 01d82a51670065a683ec67b5c3a7268617a19c1f)
- AUTOFILL_UI_LATENCY
- AUTOFILL_AUTHENTICATED;
- AUTOFILL_DATASET_AUTHENTICATED
- AUTOFILL_INVALID_AUTHENTICATION
- AUTOFILL_INVALID_DATASET_AUTHENTICATION
At least one AUTOFILL_REQUEST is created on each session; additional ones are
created for each additional request made to the service (which is tracked by
FIELD_AUTOFILL_REQUEST_INDEX).
Also:
- Added TYPE_CLOSE to indicate a timeout waiting for the service response.
- Added FIELD_AUTOFILL_REQUEST_ORDINAL to indicate the order of the request in
the session.
- Added FIELD_AUTOFILL_NUMBER_REQUESTS on AUTOFILL_SESSION_FINISHED.
- Created an AUTOFILL_FIELD_FLAGS to avoid conflict with FIELD_FLAGS.
Test: atest CtsAutoFillServiceTestCases # to make sure it didn't break anything
Test: manually run some test and watched the result of
'adb shell logcat -b events | grep sysui', as described below.
1) LoginActivityTest#testAutoFillNoDatasets:
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,-1,1454,1]
[757,919,758,4,806,android.autofillservice.cts,908,android.autofillservice.cts,1455,1]
Where 907=AUTOFILL_REQUEST, 919=AUTOFILL_SESSION_FINISHED,
1454=FIELD_AUTOFILL_REQUEST_ORDINAL, 1455=FIELD_AUTOFILL_NUMBER_REQUESTS,
758:10 = TYPE_SUCCESS, 909 = FIELD_AUTOFILL_NUM_DATASETS (-1 == null response)
2) LoginActivityTest#testAutoFillTwoDatasetsSameNumberOfFields:
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,2,1145,60,1454,1]
Where 1145=FIELD_AUTOFILL_DURATION (60ms UI latency)
3) LoginActivityTest#testCancellationSignalCalledAfterTimeout:
[757,907,758,2,806,android.autofillservice.cts,908,android.autofillservice.cts,1454,1]
Where 758:2 = TYPE_CLOSE (timeout)
4) LoginActivityTest#testAutofillManuallyOneDataset:
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,1,1145,67,1452,1,1454,1]
Where 1452=FIELD_AUTOFILL_FLAGS and 1=FLAG_MANUAL_REQUEST
5) FillEventHistoryTest#testNoEvents_whenServiceReturnsFailure:
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,1,1145,48,1454,1]
[757,907,758,11,806,android.autofillservice.cts,908,android.autofillservice.cts,1454,2]
[757,919,758,4,806,android.autofillservice.cts,908,android.autofillservice.cts,1455,2]
Where 758:11 = TYPE_FAILURE
6) AuthenticationTest#testFillResponseAuthJustOneField
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,0,1145,91,1453,912,1454,1]
Where 1453:912 is FIELD_AUTOFILL_AUTHENTICATION_STATUS = AUTOFILL_AUTHENTICATED
7) AuthenticationTest#testDatasetAuthTwoDatasets
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,2,1145,64,1453,1126,1454,1]
Where 1453:1126 is FIELD_AUTOFILL_AUTHENTICATION_STATUS =
AUTOFILL_DATASET_AUTHENTICATED
8) AuthenticationTest#testFillResponseAuthServiceHasNoData
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,0,1145,49,1453,1128,1454,1]
Where 1453:1128 is FIELD_AUTOFILL_AUTHENTICATION_STATUS =
AUTOFILL_INVALID_AUTHENTICATION
9) VirtualContainerActivityCompatModeTest#testAutofillSync
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,1,1145,53,1414,1,1454,1]
[757,919,758,4,806,android.autofillservice.cts,908,android.autofillservice.cts,1414,1,1455,1]
Where 1414 is FIELD_AUTOFILL_COMPAT_MODE
10) FieldsClassificationTest#testHit_manyUserData_manyDetectableFields
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,0,1271,2,1454,1]
Where 1271 is FIELD_AUTOFILL_NUM_FIELD_CLASSIFICATION_IDS
11)PartitionedActivityTest#testAutofill4PartitionsMixManualAndAuto
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,1,1145,109,1454,1]
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,1,1452,1,1454,2]
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,1,1454,3]
[757,907,758,10,806,android.autofillservice.cts,908,android.autofillservice.cts,909,1,1452,1,1454,4]
[757,919,758,4,806,android.autofillservice.cts,908,android.autofillservice.cts,1455,4]
Bug: 80093094
Fixes: 80095814
Merged-In: I87424834fc925a3bcba410eec5aa32fcd6253367
Change-Id: I87424834fc925a3bcba410eec5aa32fcd6253367
Added both blocking helper parameters to Global Settings to allow for
tweaking stats/values. Added listeners for value updates (so that
channels are updated properly with new thresholds).
Bug: 77143005
Test: manually, test cases
Change-Id: Ia5cfb29ca40500a694261bd5e9e60fa1f34e742a
- Upgrade -> migrate suppressScreenOn and suppressScreenOff to
suppressVisualEffects
- New -> all visual effects are off, starred contacts are allowed
to call
Also fixed an NPE noticed while testing this CL
Test: runtest systemui-notification
Change-Id: I1efd6e3f9bc7519b2fb769bae62ffa1aaae59cb6
Fixes: 78778706
Fixes: 78768955
1. Define default Themes for autofill window and save dialog.
(http://go/theme_autofill). Phone uses light themes, TV uses
dark themes.
2. Apply autofill theme to RemoteViews passed from autofill service.
So this can make sure the textColor of RemoteViews matches
the background of autofill theme uses.
Updated public javadoc that autofill service should not
hardcode color values.
3. A new TV ux that occupies half screen height (go/autofill-for-tv).
TV autofill now passes unhandled physical keyevent to app window
in the same way phone/tablet does.
4. Fixed ATV autofill window to be SYSTEM_DIALOG, so it wont be
clipped by app activity window (DialogLauncherActivityTest).
Bug: 71720680
Bug: 74072921
Test: CtsAutofillTest
Change-Id: Ib570227b0958b1800e8f0600b8aec36478568d74
Save has many limitations on compat mode, so we better not change the SaveInfo
behavior but rather document then.
This reverts commit 4f74a018c8.
Test: atest CtsAutoFillServiceTestCases:VirtualContainerActivityTest \
CtsAutoFillServiceTestCases:VirtualContainerActivityCompatModeTest
Bug: 77655074
Change-Id: I36bd28ca546dcedefe75de7815b76b8b5827aee3