Commit Graph

852 Commits

Author SHA1 Message Date
Svet Ganov
f20a037ba2 Move API for disabling an autofill service to the manager
Test: the topic has a CTS test

bug:37170723

Change-Id: I2be18968ea8df0fd3fb070fe2efc3e811b0e5a76
2017-04-10 17:43:44 -07:00
Philip P. Moltmann
eab62baabf Restore session on new window after app kill
Also:
- Give the session an integer ID as the activityToken is not stable over
  restarts of the activity
- Verify that session is only accessed by one UID
- stabilize AccessibilityViewIds over activity lifecycle at least for
  the IDs we can do that. This required to split the ID namespace in
  "per-app" and "per-activity" views. Only the later ones can be
  restored.
- Do not end session when app is killed (as it can be restarted)

Bug: 35484143
Fixes: 36392498
Test: cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases --test=android.autofillservice.cts.SessionLifecycleTest
      cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases
Change-Id: I229acc1b3ce35fb57262da7d7466b5d4328b49d4
2017-04-08 00:48:55 +00:00
Felipe Leme
7d5adb5b86 Autofill Partitioning: support multiple SaveInfos.
Bug: 35707731
Test: CtsAutoFillServiceTestCases (with new tests) pass

Change-Id: I2f234ca13c7e74f84c762473e38f938ed47f216f
2017-04-06 22:19:22 -07:00
TreeHugger Robot
7a7c0ace82 Merge "Removed deprecated onFillRequest() method" into oc-dev 2017-04-06 22:20:49 +00:00
Kang Li
38a6da6473 Add a service to rank apps for ResolverActivity.
bug: 36952725,30982298

Test: used PTP before and after this fix.

Change-Id: I5b249af2dd0d9fe32d1e524e8d2675c863e92b5b
2017-04-06 18:08:14 +00:00
Julia Reynolds
9a8f641801 Merge "Remove unneeded methods" into oc-dev 2017-04-06 15:13:13 +00:00
Felipe Leme
52d5d3dfc7 Pass FillResponse bundle on subsequent onFillRequest() calls.
BUG: 35707731

Test: existing CtsAutoFillServiceTestCases pass
Test: more tests on PartitionedActivityTest

Change-Id: I510aff54d0d9d7e0cce90f9786e3e1f6cab180f9
2017-04-05 19:34:33 -07:00
TreeHugger Robot
aaca304a31 Merge "Created SaveInfo types for email and username." into oc-dev 2017-04-06 00:15:30 +00:00
Julia Reynolds
6031533702 Remove unneeded methods
Test: make, make cts, make cts-verifier, runtest systemui-notification
Change-Id: I25b559cfcc30f2d85f468adf840f9124e80f00b0
2017-04-05 18:36:07 -04:00
Felipe Leme
a9baa4c851 Merge "Changed FillResponse.setAuthentication() to require field ids." into oc-dev 2017-04-05 22:25:16 +00:00
TreeHugger Robot
b44feb154b Merge "Removed deprecated auto(F)ill classes." into oc-dev 2017-04-05 20:25:40 +00:00
Kang Li
b24399547c Merge "Revert "Add a service to rank apps for ResolverActivity."" into oc-dev 2017-04-05 19:50:10 +00:00
Kang Li
c88749fb5a Revert "Add a service to rank apps for ResolverActivity."
This reverts commit 90370e0b24.

b: 36952725

Change-Id: Ifa8f182c707cdbbc989b1f61630f7a8fa856d32d
2017-04-05 19:44:02 +00:00
Felipe Leme
b3c3537566 Changed FillResponse.setAuthentication() to require field ids.
Currently, authenticate FillResponses do not support partition and follows
the "Highlander approach" (There can be just only one), which causes the
authentication UI to show on all views.

This CL overloads FillResponse.setAuthentication() so it requires the
AutofillIds of the autofillable fields, although behind the scenes it
calls the old method - once clients use the new method, the old method
will be removed and the underlying implementation changed.

The new behavior will be tested by testFillResponseAuthJustOneField()
on LoginActivityTest, although currently it's testing the old behavior.

Test: LoginActivityTest.testFillResponseAuthJustOneField

Bug: 35707731
Bug: 36855717

Change-Id: I601f3e4776aa8763415a06d8d802901a930728d2
2017-04-04 20:17:57 -07:00
Felipe Leme
a86aee6ef3 Removed deprecated onFillRequest() method
Bug: 35708229
Test: manual verification
Test: CtsAutoFillServiceTestCases pass

Change-Id: Ie6d146386752273b6a35d16102ccedaf6a161676
2017-04-04 18:30:54 -07:00
Felipe Leme
f78e952d8d Removed deprecated auto(F)ill classes.
Bug: 35956626
Test: manual verification
Test: CtsAutoFillServiceTestCases pass
Change-Id: Icb622589c41e6a286d51e3f85bd5a813e483b5ea
2017-04-04 18:28:09 -07:00
TreeHugger Robot
ba2e284a62 Merge "Initial implementation of autofill partitioning." into oc-dev 2017-04-04 21:42:52 +00:00
Felipe Leme
0962262f42 Created SaveInfo types for email and username.
Bug: 35707731
Test: LoginActivityTest#testCustomizedSaveUsername
Test: LoginActivityTest#testCustomizedSaveEmailAddress
Change-Id: I3598c64e4f6bb9ceff544c3994d6cdeebd760a85
2017-04-04 14:09:07 -07:00
Felipe Leme
f43ca7968f Initial implementation of autofill partitioning.
BUG: 35707731
Test: existing CtsAutoFillServiceTestCases pass
Test: PartitionedActivityTest

Change-Id: If9df5fe63249f0b9e9da058d1c9327dfd3c09cf3
2017-04-04 10:30:54 -07:00
Kang Li
90370e0b24 Add a service to rank apps for ResolverActivity.
bug: 30982298
Test: manual - shared images in Camera, texts in Messenger, and webpages
in Chrome.

Change-Id: If335c269ca54145839ad8fd4b3f9b93a74b550f8
(cherry picked from commit 35b9e30155)
2017-04-03 23:44:59 +00:00
Jason Monk
be436bdefe Merge "Add test API for if the device supports QS" into oc-dev 2017-04-03 19:11:44 +00:00
Felipe Leme
78696bfeb7 Moar pre-partitioning refactoring.
On ViewState: split value into mCurrentValue and mAutofilledValue.
On Session: replacing mAutofilledDataset by mDatasetWaitingAuth and
            ViewState.getAutofilledValue() (mAutofilledDataset is still needed,
	    but will be removed in the first partitioning CL).

Also fixed a missed 'return' on TimePicker.autofill()

Bug: 35707731
Test: CtsAutoFillServiceTestCases pass

Change-Id: Icc32701ae3e499a77d99e6ae1daa7d070a3df631
2017-03-31 10:24:39 -07:00
Jason Monk
213eb4f162 Add test API for if the device supports QS
Test: cts-tradefed run cts-dev -m CtsSystemUiHostTestCases
Change-Id: Ib2dbbab8c4d0b7bae912f29f417e7e245bfd5b71
Fixes: 36363728
2017-03-31 09:26:27 -04:00
Jason Monk
609edbeb86 Speculative fix for QS CTS test
Explicitly send broadcasts to systemui, because thats where they are
going.

Test: cts
Change-Id: I2fdc74f2cf874e818ef52f37a58adf7cd38ca455
Fixes: 35704517
(cherry picked from commit c7f7111095)
2017-03-28 17:12:48 +00:00
Kevin Schoedel
28eae8e551 Manage controller connection from VrCore to VrWindowManager.
Use VrManager as a proxy to pass the controller data file descriptor
from VrCore to VrWindowManager, since the latter is a purely native
service with no Java visibility.

This is intended to be replaced by moving the relevant parts of
VrWindowManager into VrCore (b/36506799).

Bug: 35619424
Test: manual on device
Change-Id: I9545349893ed9b23de4ba8d3cb61c7d403ad0b97
2017-03-24 15:10:29 +00:00
Felipe Leme
24d5893b25 Added a UserManager.DISALLOW_AUTOFILL restriction.
bug: 35710740

Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases -t android.autofillservice.cts.LoginActivityTest#testUserRestriction
Test: cts-tradefed run commandAndExit cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedDeviceOwnerTest#testDisallowAutofill_allowed
Test: cts-tradefed run commandAndExit cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedProfileOwnerTest#testDisallowAutofill_allowed
Test: cts-tradefed run commandAndExit cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testDisallowAutofill_allowed

Change-Id: I41b2bf9fe3bc8df627c6650960bd11346c430a7e
2017-03-22 17:20:48 -07:00
TreeHugger Robot
d00fe5a544 Merge "Add custom presentation (RemoteViews) on Dataset values." 2017-03-22 01:43:44 +00:00
Steven Thomas
b70845c708 Revert "Revert "Add remote callbacks for persistent vr mode""
This reverts commit 2abf1c60cc.

We need the ability to register remote callbacks for persistent vr mode,
so vr flinger can register for persistent vr mode events.

Bug: 35885165

Test: Manually confirmed vr flinger can register and receive persistent
vr mode events.

Change-Id: I7713c4c8acae9a369fd0c06695ef712fddd12be8
2017-03-21 20:01:28 +00:00
Felipe Leme
5311206f34 Add custom presentation (RemoteViews) on Dataset values.
New tests on LoginActivityTest:

- testAutofillOneDatasetCustomPresentation()
- testAutofillMultipleDatasetsCustomPresentations()
- testAutofillMultipleDatasetsCustomPresentationSameFields()
- testAutofillMultipleDatasetsCustomPresentationFirstDatasetMissingSecondField()
- testAutofillMultipleDatasetsCustomPresentationSecondDatasetMissingFirstField()

Fixes: 36067706
Test: CtsAutoFillServiceTestCases pass

Change-Id: Iacb660bf5a5cf311dea4bfcbfe1b3722aab34715
2017-03-20 18:20:28 -07:00
Jin Qian
3b1ed1cb3d Merge "Revert "Add remote callbacks for persistent vr mode"" 2017-03-21 00:19:32 +00:00
Jin Qian
2abf1c60cc Revert "Add remote callbacks for persistent vr mode"
This reverts commit 504c6d67d0.

Change-Id: Ia0f8d508272211736d421cf097abaa0bcbc3abab
2017-03-21 00:04:53 +00:00
Steven Thomas
de2ea83563 Merge "Add remote callbacks for persistent vr mode" 2017-03-20 23:43:53 +00:00
Andrii Kulian
c1b59ed73e Merge "Separate global and override config sent to client" 2017-03-17 15:39:37 +00:00
Julia Reynolds
f619bc5211 Removing 'delegate' from constant names
Change-Id: I2ac4e3ae08f1084da34ea74fdd5177e2d58987af
Fixes: 35812334
Test: build
2017-03-17 08:43:22 -04:00
Steven Thomas
504c6d67d0 Add remote callbacks for persistent vr mode
We need the ability to register remote callbacks for persistent vr mode,
so vr flinger can register for persistent vr mode events.

Bug: 35885165

Test: Manually confirmed vr flinger can register and receive persistent
vr mode events.

Change-Id: I28ee7f4e103fc53ae3e5d8e692cb2f6fa7bdbc82
2017-03-16 23:14:39 -07:00
Karthik Ravi Shankar
e6ccc3e816 Merge "Add API to get compatibility display id" 2017-03-17 02:34:07 +00:00
Andrii Kulian
446079600e Separate global and override config sent to client
There is some flakiness in View#onConfigurationChanged callback -
if ViewRootImpl receives config update earlier than ActivityThread,
it may not detect the configuration change and skip inner updates.
Also now ViewRootImpl assumes that it receives the global config as
a param, but instead it gets merged config from WM. This means that
ViewRootImpl#sConfigCallbacks was sending incorrect values to the
recipients.

This CL switches to sending global and override configuration to the
client separately. Also in case if there is a corresponding activity,
it first updates it and waits for update callback to ViewRootImpl.
This way global config and override config for activity will always
be set first and resources will be updated before inner state of
ViewRootImpl is updated.

Bug: 35870157
Bug: 34164473
Test: android.server.cts.ActivityManagerDisplayTests
Test: testOnMovedToDisplayCallback
Change-Id: Ic9e7541cf25ecfac6ec90e48f7efb0ece91f657e
2017-03-16 19:13:02 -07:00
Felipe Leme
fe4e6a219a Temporarily removed check for null requiredIds on SaveInfo builder.
Bug: 36076444
Test: manual verification
Change-Id: I8fc5ef537d229d9eda78d458a71d85ac69440c94
2017-03-16 12:37:17 -07:00
Felipe Leme
2ac463e3f5 Allow users to manually request Autofill.
- Added a requestAutofill(view,flags) method, that when passed with
  FLAG_MANUAL_AUTOFILL triggers a manual request.
- Added same method for virtual views
- Overloaded existing AutofillService request methods to take a flag.
- Added an AUTOFILL context menu option on TextViews.
- Added a canRequestAutofill() that is used to enable the context menu.

BUG: 35708229
Test: manual verification
Test: existing CtsAutoFillServiceTestCases pass
Test: android.autofillservice.cts.LoginActivityTest#testManualAutofill pass

Change-Id: I1a64d40da3373774451d178b1cabf20f11120e9d
2017-03-15 09:37:10 -07:00
Felipe Leme
82e3793c15 Decouple Dataset ids from SaveInfo.
The FillResponse was automatically adding the AutofillId of all Datasets to
the SaveInfo object, but that would cause problems when the AutofillService
is not able to save some data (for example, if it comes from a read-only
backend).

Bug: 36076444
Test: OptionalSaveActivityTest pass
Test: m update-api
Change-Id: I1d5faaddf29e1be0f357438c8485e07caf975293
2017-03-14 15:56:58 -07:00
Felipe Leme
104b932b7b Fixed obsolete TODOs.
Test: not needed
Bug: 35395043
Bug: 26742218

Change-Id: I0e5adb574610374055a6546b66529a7aed7cc413
2017-03-14 08:41:49 -07:00
Felipe Leme
43818a73eb Temporarily re-added addSavableIds() with AutoFillId.
Bug: 35727295
Test: manual verification using client using old API
Change-Id: I5589c5e38c11fc4d2a04df6c540a8cded6475ac4
2017-03-13 10:47:40 -07:00
Karthik Ravi Shankar
3a47ec2edd Add API to get compatibility display id
Add an API to get the compatibility display ID from CompatibilityDisplay
in the framework.

Testing Done: Compiled, built and used this API from ActivityManager and
it works.

Bug: 36071574
Change-Id: Ie4d1eb6a6befa7dbc3413519de20e2762529079d
Signed-off-by: Karthik Ravi Shankar <karthikrs@google.com>
2017-03-10 16:12:26 -08:00
Felipe Leme
640f30a776 Replaced auto-fill by autofill to keep it consistent with API style.
This change will affects 2 types of apps: autofill service implementations
and apps that use autofill APIs.

Since just the former is known to be used at the moment, we're not trying
to keep backward compatibility with the latter.

Bug: 35956626
Test: CtsAutoFillServiceTestCases pass
Test: android.provider.SettingsBackupTest pass

Change-Id: Ia720083508716deae9e887f9faa7ae7c5a82f471
2017-03-09 08:14:49 -08:00
Felipe Leme
6ee1ed48b5 Removed deprecated setSavableids().
Bug: 35727295
Test: LoginActivityTest#testAutoFillOneDatasetAndSave passes

Change-Id: I33a33bf438fe258685025118a3dfa8a59bd456da
2017-03-07 19:09:16 -08:00
TreeHugger Robot
5048c1cbb1 Merge "Fill-provider can control the negative button label and listener" 2017-03-03 04:45:38 +00:00
Svet Ganov
33d06fcac5 Fill-provider can control the negative button label and listener
Test: New CTS tests added and all autp-fill tests pass

bug:35869744

Change-Id: I55e5938038e612d728498658a763208f7022f85a
2017-03-03 02:58:18 +00:00
Svet Ganov
7ad1128137 Allow auto-fill services to disable themselves
1. Added a new API for a connected auto-fill service to
   disable itself

2. Added a new shell command to destroy all pending sessions
   which is used in CTS tests

3. Fixed a bug where the unbind timeout was in minutes
   instead of seconds

Test: wrote CTS tests, all auto-fill tests pass

bug:35848030

Change-Id: I681605aa0b8c004a0f14e30b57117c291d89a894
2017-03-03 02:56:32 +00:00
Jason Monk
d43a7ab3a2 Add API to indicate which tile was long-clicked.
Test: make
Change-Id: I5ff5a3ed954e231b6d63e02bf64bfe771cd78b0f
Fixes: 34832801
2017-03-02 14:46:10 -05:00
Julia Reynolds
a11d0b18ec Api review feedback.
Change-Id: I4628fcec43ec5dbacd208401d9ace2dbe658da64
Fixes: 35812235
Fixes: 35812334
Fixes: 35812179
Test: make
2017-02-28 17:59:31 +00:00