If a dataset needs to be authenticated the fill service
may not have the values but needs to tell the system for
which fields to show the fill UI. We now allow passing
a null value to mean the view is a part of the dataset
semantically but its value should remain unchanged.
If a dataset has no values, i.e. the related autofill ids
are mapped to null, we cannot properly filter. In this case
we always match such items regardless what the user typed.
While at this improved accessibility support for filtering
to announce when the number of items being filtered changes.
Also while at this allowed a dataset authentication to return
a response which replaces the current response and refreshes
the UI. Matching datasets with null values to any text plus
allowing a response to be returned from a dataset auth enables
the use case where there is always "Import" item at the
end of the list which when clicked can show arbitrarily more
data entries associated to other apps.
Another change is that we now provide the client state
bundle on both request and dataset auth.
Finally, this change gets rid of dataset waiting auth and
response waiting auth concepts since the reference to the
response and the dataset is piped with the auth request.
Fixed a bug where the width of the autofill UI was not
properly measured by going over all items in the adapter.
Now we measure enough height to fit the first three and the
width id the width of the widest item in the adapter.
Test: Added LoginActivityTest#testDatasetAuthTwoFieldsReplaceResponse
Added LoginActivityTest#testDatasetAuthTwoFieldsNoValues
Added LiginActivityTest#filterTextNullValuesAlwaysMatched
All autofill CTS tests pass
bug:37724701
bug:37424539
Change-Id: Ic19e5d7cbdbb7d110c9e7da0ad60b540cbf1aecf
This changelist enforces that activities targeting O and beyond
can only specify an orientation if they are fullscreen. The
change ignores the orientation on the server side and throws an
exception when the client has an orientation set in onCreate or
invokes Activity#setRequestedOrientation.
Fixes: 33483680
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerAppConfigurationTests#testNonFullscreenActivityProhibited
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test CtsServicesHostTestCases android.server.cts.ActivityManagerAppConfigurationTests#testLegacyNonFullscreenActivityPermitted
Change-Id: I4f7f79744918fad6465a537633dfadec8d05c6df
From the WTF log we know Args.run() sometimes gets called multiple
times.
Remove the Runnable interface from the Args class to make it
impossible to cast it to Runnable.
If the WTF still happens with this change, that'd be *very* interesting.
Test: Build and boot
Bug: 37809561
Change-Id: Id4bd9bd8d4098086649235fddfc2136527805838
we have a link to the client which is enough to find the views.
Also there was some cases where the windowToken was not updated
properly. This is moot now.
Also: Read a array of views from the client to speed up the
client<->AutofillManager communication.
Fixes: 38070352
Test: CtsAutoFillServiceTestCases
1 Started autofill, saw fill UI
2 Home button
3 Kill activity in background
4 Recents -> back to activity
5 Saw fill UI restored
Change-Id: I7c2c9411204fa5d65867efae9b7296399121c3a2
Instead of relaunching activity in-process, ask ActivityManager.
requestActivityRelaunch to relaunch it. It can make the correct
decision when activity needs to be relaunched.
Test: manual - switch between users to trigger ActivityThread.handleApplicationInfoChanged
Bug: 37992833
Bug: 37412579
Change-Id: I662a04e3cd82115a6008cef9308a2cf1038d51e1
ForegroundToken is now ImportanceToken, and doesn't actually
cause an app to become foreground (that is not needed for
toasts anyway).
Also improved output and logging -- new logs for changing
in key uid stats, and when force stopping services after a
uid goes idle.
Test: manual
Change-Id: I44dd391bb8d37857be1359f4b7021dc8d2cd0285
Otherwise it may cause a deadlock due to reversed lock ordering.
Test: create guest/switch/remove
Change-Id: Id11263ee2d358ab97b212477f896db7313605448
Fixes: 37347817
We've seen evidence of lab devices racing with other apps that are
using cache space immediately after tests wipe it clean, which can
cause test failures. To mitigate this, try our best to wait for the
device to go "idle" by watching for broadcast queues to fully drain.
Also improve javadocs along the way.
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Bug: 37486230, 37566983, 37913442, 37914374
Change-Id: I4d430db443b6fa6d33a625fe07b90279b5d51c12
The PopupWindow anchoring offset should be based on the bottom of the anchor
view, but we were using top. Hence, the PopupWindow.tryFitVertical() was
failing to place it above the view in some cases, even when there was plenty
of space.
Fixes: 37991460
Test: manual verification with virtual view sample
Test: CtsAutoFillServiceTestCases pass
Change-Id: Iffdfe0d7858e865192338184d63bf5b93ba7108f
- Better explanations of some strings.
- Fix to use the right package when an item is pressed in
the foreground services dialog.
- Improve java docs on Service.startForeground().
Bug: 37925387
735566 lv - Android - [Source] Context unclear or missing:
Apps running in background
Bug: 37925888
735566 lv - Android - [Source] Context unclear or missing:
Tap for details on battery and data usage
Bug: 37897953
735566 gl - Android - [Source] Context unclear or missing:
LEFT_SIDE, RIGHT_SIDE
Bug: 37943079
Music is dying mid playback
Test: manual
Change-Id: Ied41932c61f59335bd18dfba3fcb13af28a0bddd
Bug 37970839
When a view is removed from the hierarchy during the shared element
transition, it should not cause a NullPointerException.
Test: I524d99c7235e5888e5be2567c5410644e187b196
Change-Id: I59cadec15ae782c18d95923ceda9851827649341
The low priority notifications had their contrast calculated
against the white background and weren't satisfying
our contrast requirements.
This also aligns the case where the app had no colors better,
and ensures that it's actually using the secondary text
color there.
Test: existing tests pass
Change-Id: Ic11e9d06783e60998f35e0eb7f6f29fb1d86c7df
Fixes: 37444266
No longer need the proxy since VR Window Manager is in VrCore.
Bug: 36506799, 37542947
Test: Compiled and ran in VR on device.
Change-Id: Id5b5f34a1ad2b6da263527463d63777d40f18085
CompatibilityDisplay used for displaying 2D activities in Vr world. This
is confusing in more than one way. To clarify what it really means,
rename it to Vr2dDisplay.
Changes in this CL -
- /s/CompatibilityDisplay/Vr2dDisplay
- /s/Compatibility/Vr2d - in CompatibilityDisplay context.
Bug: 37851944
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test
CtsServicesHostTestCases android.server.cts.ActivityManagerDisplayTests
passes on Marlin.
Change-Id: I0a442302fa9d0f48bbd0c01a7766b94369e04386
Signed-off-by: Karthik Ravi Shankar <karthikrs@google.com>
- When launching an activity with CLEAR_TASK and NEW_TASK, the result code
of the start is START_SUCCESS, but we still need to notify SystemUI to
expand the PiP. However, because the PiP transition now waits for the
first draw, this can cause severe jank and delay if the original activity
is a trampoline activity. As a workaround, we immediately move the task
to the fullscreen stack when clearing and restarting the task to ensure
that the new task shows without delay.
Bug: 37501224
Test: Open YT in PIP, launch sub-shortcut from Home
Change-Id: I16bebf19b082f30695e99da1d93bc4adf5e9df0c
Change-Id: I9d95e2ea3ff89110f58f6d5585771ad301494e41
Test: Turn on "hide sensitive notifications on lockscreen", receive notification, make sure it has no actions
Fixes: 37907366
For ContentProvider and DocumentsProvider, throwing an exception in
their query methods will result in no Cursor returned to the remote
side. Without a cursor, there is no way to listen in on changes.
Removing the part regarding notifyChange since there's no established
paradigm on which URI to listen/notify changes on.
Test: Documentation change only.
Bug: 37876119
Change-Id: I0739794a1e8182918758ba953251ed9a3268f227
For AssistStructure, and AutofillValue, create a copy of the text in
setText and forText methods if it is a Spanned.
Fixes: 36838999
Test: cts-tradefed run cts -m CtsAutoFillServiceTestCases
Test: cts-tradefed run cts -m CtsAssistTestCases
Test: cts-tradefed run cts --test android.widget.cts.TextViewTest -m \
CtsWidgetTestCases
Change-Id: I52e780fa9baa17c375d3945dc714171f41fd7db5
Bug 37809561
Test: Build & boot -- didn't actually exercise the WTF case but it should work
since getStackTraceString accepts null too.
Change-Id: Iabfbe1fcde293fec919c65df7ea9650e1b247b9a