Autofill seems to need IDs to be preserved across things
like configuration changes, while accessibility will not
function without views with unique ids. Separating out the
two types of IDs. We can re-combine them once it's clear
that both demands can be satisfied.
Bug: 62301218
Test: Run a11y and autofill CTS, and verify that the play
store app functions with TalkBack after a screen rotation.
Change-Id: I17a99de2874768fc0ade3aa354130dd1f6b4cd7e
Instead of maintaining a separate structure just for overlay
paths, store them as user state in the package setting. Also
centralize updating the overlay paths to avoid issues with
inconsistent updates.
Fixes: 36561125
Test: Manual
Change-Id: Iac1c987e8650074dbc564e332d5da1950fad6ac5
This CL will be reverted once it merges into the next release branch
to re-introduce the proposed APIs.
This CL also makes the following code changes to preserve API
compatibility:
-- It keeps the recently added RemoteViews.clone() synchronized logic
intact, but moves it inside the method to avoid changing the API
signature.
-- It reverts the RttCall.read() behavior to the oc-dev logic, since
we can't throw IOException until we get an API level bump. (The
original logic returned null instead of throwing.)
Test: builds, boots
Bug: 62427252, 62431886, 62427329
Bug: 62468911, 62431162, 62428935, 62429096
Bug: 37290820, 37359238, 36886243
Bug: 30143923, 35761231, 62192626, 29829689
Change-Id: I83d723f598cb0ee1fe198e65debd86ef7fd0420c
Calls that return List<SessionInfo> can end up returning hundreds of
sessions, each of which include a "Bitmap appIcon" object. Since we
quickly smash the entire list through a ParceledListSlice, we risk
exhausting FDs for all the ashmem regions.
To mitigate this, we omit these icons from the bulk calls, and then
fetch individual icons on-demand when explicitly requested.
Test: create 2k sessions and verify system doesn't croak
Bug: 38021844
Change-Id: I932073defe5b9b34a636818a69009d49060215fb
Sometimes callers want to clear the calling identity [to avoid permission
calls]. In this case, allow passing the original calling identity to
internal methods.
Test: Manual; create profile account and observe launcher still works cross profile
Test: bit FrameworksServicesTests:com.android.server.pm.ShortcutManagerTest{1..10}
Change-Id: I73f8ad4b2dc1895227c3fcb14f3f1f18f600562f
Fixes: 38349978
1. Enables child APKs by default. (This is primarily so the tests work, but I'm
open to other options.)
2. Fixes bug where child packages would steal their parent's components of the
same type of the parent.
(e.g. if the child has a service, it would steal all of the parent's services,
but only reproduced for more complicated manifests)
This changes the way component parse args are cached and reused. Previously
they were cached in a field and reset each time a new package was scanned. But
with child APKs, a single manifest can have multiple packages. Now, the
lifetime of the cache is limited to a single <application> element, and rather
than being a member field, it's passed explicitly as a parameter so its
lifetime can be explicitly controlled without the need to remember to null it.
3. Adds tests for the bug PackageParser
These tests just test the parsing component without doing full installation.
And once b/62385737 (failing tests) are fixed, we can add new
PackageManagerTests.
Change-Id: Iccd148b571af86daab48d7a9e28ab6d636b1ad00
Fixes: 62032885
Test: Tested a large app with a child package and the previous issue did not reproduce after this change.
Previously, it was possible for the view hierarchy to be measured,
laid out, and drawn around a window frame size that did not match
the current configuration. This stems from new configurations not
always propagating back from WindowSession#relayout, which is
called from ViewRootImpl.
This changelist makes WindowManagerService#relayoutWindow always
return the latest configuration. It also adds rotation to the
configuration.
Fixes: 32839232
Test: go/wm-smoke
Test: Open Camera while rotating phone to landscape. Added
temporary logs to detect inconsistencies between measurements
and reported rotation on draw.
Change-Id: I39daca338b4f87eff1a509eb99493f01e710ced1
Most @SystemApi methods should be protected with system (or higher)
permissions, so annotate common methods with @RequiresPermission to
make automatic verification easier.
Verification is really only relevant when calling into system
services (where permissions checking can happen on the other side of
a Binder call), so annotate managers with the new @SystemService
annotation, which is now automatically documented.
This is purely a docs change; no logic changes are being made.
Test: make -j32 update-api && make -j32 offline-sdk-docs
Bug: 62263906
Change-Id: I2554227202d84465676aa4ab0dd336b5c45fc651