This field contains the autofill session id (Thank You, Captain Obvious!), which
is useful to correlate autofill metrics that are not logged on
AUTOFILL_REQUEST.
Test: atest CtsAutoFillServiceTestCases # to make sure it didn't break anything
Test: manually run some test and watched
'adb shell logcat -b events | grep sysui'. Example:
[757,913,758,4,806,android.autofillservice.cts,871,android.autofillservice.cts.LoginActivity,914,2,915,2,1456,-2045861404
Fixes: 80093094
Merged-In: If4b1c9ab616b2ba580745096894997eb7edb3e34
Change-Id: If4b1c9ab616b2ba580745096894997eb7edb3e34
Test: atest CtsAutoFillServiceTestCases # to make sure it didn't break anything
Test: manually run some test and watched
'adb shell logcat -b events | grep sysui'
Fixes: 80151641
Change-Id: I5b83e6ceb549a641d10c39bbfd4f24d0a43d1a23
- 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
When there is authentication view, autofill does not use ListView, so
it's missing the focus/ripple effect. This CL let the parent of
authentication view use the same ripple drawable as ListView.
Test: manual test on phone and TV
atest CtsAutoFillServiceTestCases
Bug: b/79980365
Change-Id: Ief15304a3e533dbd6f45b7925db0b0c39977fd04
Test: manual verification using Chrome and sample service
Test: atest CtsAutoFillServiceTestCases
Fixes: 79747293
Change-Id: I83b6fa23e9e7307e9eb44720942f55dc58820ed7
This field is used on pretty much all Autofill metrics, except
AUTOFILL_USERDATA_UPDATED, AUTOFILL_SERVICE_DISABLED_SELF, and
AUTOFILL_INVALID_PERMISSION.
Test: atest CtsAutoFillServiceTestCases
Test: adb shell logcat -b events | grep sysui
Bug: 79351659
Change-Id: I2e2f3dcc780a3896162b158926f5ee89c7cb342d
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 4f74a018c8ee9801f1d5ce2c7ec726251efc4fbf.
Test: atest CtsAutoFillServiceTestCases:VirtualContainerActivityTest \
CtsAutoFillServiceTestCases:VirtualContainerActivityCompatModeTest
Bug: 77655074
Change-Id: I36bd28ca546dcedefe75de7815b76b8b5827aee3
Otherwise, it will log false negatives when app launches a new activity in the
same autofill session. Example:
04-18 19:34:32.392 5423 7199 W AutofillSession: Activity ComponentInfo{com.netgear.WiFiAnalytics/com.netgear.WiFiAnalytics.WiFiAnalyticsWifiRoomSignal} forged different component on AssistStructure: ComponentInfo{com.netgear.WiFiAnalytics/com.netgear.WiFiAnalytics.WiFiAnalyticsWifiAnalyzerTab}
Fixes: 78235438
Bug: 69981710
Test: manual verification, cannot be CTS tested.
Test: CtsAutoFillServiceTestCases
Change-Id: I0408cd159c2be22841a1f6c36a4a2c17e59a6219
autofill should use relative location to app window as PopupWindow
is based on relative location.
The fixed reverted changes made in compatibility mode CL that made
autofill window TYPE_SYSTEM_DIALOG.
Changing PopupWindow to use absolute screen location is another fix
choice, but it does not allow autofill window to be automatically
moved when app window changes location (e.g. adjust split window
separator or bring up IME)
The autofill window switches to TYPE_APPLICATION_ABOVE_SUB_PANEL with
IME disabled. So it still appears above IME and most other app
windows, unless app window is TYPE_APPLICATION_ABOVE_SUB_PANEL too.
Fixes: 73555917
Bug: 77587135
Test: manually tested compability mode with chrome amazon login
manually tested splitted window
atest CtsAutoFillServiceTestCases
Change-Id: I6b8ecf3fe7a91cebea1f7a868f4b15fbed8b0051
So it can be customized in a per-device basis...
Test: atest CtsAutoFillServiceTestCases
Bug: 69796626
Change-Id: I1dd617b7ae658dbff898ff5c9c0ee3fbf195a929
These are useful to emulate the behavior of Autofill on TV.
Test: adb shell cmd autofill get full_screen_mode
Test: adb shell cmd autofill set full_screen_mode true # then ran sample
Bug: 77155952
Change-Id: I0cb7757559e8132e9777eb63b5442de485261a0b
When a dataset is selected, the framework tries to autofill all views belonging
to it. But if one (or more view) failed to autofill, we should let the user
recover by tapping the view again.
This scenario typically happens when views are recycled.
Test: atest MutableAutofillIdTest#testViewGoneDuringAutofillCanStillBeFilled
Test: atest CtsAutoFillServiceTestCases # manually retrying flaky failures
Fixes: 76149637
Change-Id: I7a6352c68b4a7d5e4cb80a7346c66efd831f21c8
The contents of a browser URL bar is typically changed for 2 reasons:
1.User entered a new URL.
2.Form was submitted and the URL changed.
On scenario #1, the current session should be canceled, while on #2 it should be
committed. Scenario #2 is already handled when the service sets a SaveInfo, so
this CL handles the other cases:
1.Focus on URL bar is ignored so it does not trigger a new partition.
2.If URL bar changed and service didn't set a SaveInfo, the session is canceled.
Fixes: 76027553
Test: manual test with Chrome
Test: new tests on VirtualContainerActivityCompatModeTest:
testFocusOnUrlBarIsIgnored()
testUrlBarChangeIgnoredWhenServiceCanSave()
testUrlBarChangeCancelsSessionWhenServiceCannotSave
testUrlBarChangeCancelsSessionWhenServiceReturnsNullResponse
Test: atest CtsAutoFillServiceTestCases
Change-Id: I19d2aa4c8b25def0d5eca1c59cfdc2ffe33dd388
It will be removed before the final P build.
Test: atest FrameworksServicesTests:AutofillManagerServiceTest CtsAutoFillServiceTestCases
Fixes: 74445943
Change-Id: I9bc243a3c1ae78f2c385dbb907d362d8ab16b34c
The syntax of that setting changed from P Developer Preview1 to the final P, so
it's safer to use a new name than risk breaking devices during the update.
Bug: 74458004
Test: atest CtsAutoFillServiceTestCases:VirtualContainerActivityCompatModeTest\
FrameworksCoreTests:SettingsBackupTest
Change-Id: I1c507e8eae20f598dfe259178667ae6c2bc892ff
These ids used to be defined at the manifest but now are defined on settings,
so we need to provide default values until the settings are fixed.
Test: atest FrameworksServicesTests:AutofillManagerServiceTest
Bug: 74445943
Change-Id: I050a96d73cb9e008179865381c6abc3041e82844
The manifest attribute is still public as it might have been used by autofill
services deployed against P DP1; it will be removed after the next developer
previs is branched out. We also need to assumie a default value for the buttons
if not specified by settings, but that will be done in a separate change so it
can be easily reverted.
Also implemented support for multiple buttons, and added unit tests.
Test: atest CtsAutoFillServiceTestCases:VirtualContainerActivityCompatModeTest \
CtsAutoFillServiceTestCases:VirtualContainerActivityTest \
FrameworksServicesTests:AutofillManagerServiceTest
Bug: 74445943
Bug: 72811561
Fixes: 73786629
Change-Id: I066ecf40fde2c5318dd8633a659fca8b7af8aecd
This behavior existed since autofill was introduced on O and it won't be fixed
on P, so there's no point on warning. In fact, the warning is often a red
herring for other issues, not to mention a big logcat spammer.
Bug: 35708678
Test: manual verification looking at logcat
Change-Id: I40be4ce25abc5b097ea67e5cb34bb9c4237f0826