Add APIs to update and retrieve enterprise-related system drawables,
the APIs are guarded by a new permission that will be granted to the new
device management role holder.
Bug: 203548565
Bug: 188410712
Test: manual
Change-Id: Iab29db23a87e1481ba7e2996a704dcb2702444be
As CL[1] introduced WindowTokenClient for WindowProviderService (aka the
parent class of InputMethodService starts from CL[2]) as a token that
IME context can associate with the windowContainer of
the InputMethod window in server side. Like the activity context,
IME context can adopt configuration/resources update when the IME
window changed by display/window changes.
And, the IME context caller can also create another type of context
with wrapping IME context (i.e. calling createDisplayContext to create
a display context), that makes this context can be mixed the window
token of WindowProviderService since it's the base context.
However, the finalization of the context mixed WindowTokenClient
will detach the token when the attached context type is non-window
context, this action will mis-detach the token when it managed by
WindowProviderService.
So like SoftKeyboard previously using
createDisplayContext in CL[3] to workaround context resources issues,
will in-directly expose this mis-detach token issue as the above.
Beside, the handling of WindowTokenClient#{onConfigurationChange,
onWindowTokenRemoved} does not thread-safe since this is called from
IPC.
As the result, the fix is to ignore the check in ContextImpl#finalize
to not detach the token when it managed by WindowProviderService,
also make sure to post to the main handler when received
onConfigurationChanged/onWindowTokenRemoved in WindowTokenClient.
Note that this fix could help to resolve "The Window Context should
have been attached to a DisplayArea." exception if the token has been
detached as the above case that happens before the next
WindowProviderService#attachToWindowToken invoked.
[1]: I64a1614f32d097785915f6105b1813a929e0fe32
[2]: Ie565e30ed5dd3f2cfe27355a6dded76dc3adc14b
[3]: Ic592a1d2fb2da149220c8b503b522b3e864bcc77
Bug: 213118079
Bug: 211062619
Test: manual as steps:
1) adb install -r EditTextVariations.apk
2) adb install -r SoftKeyboard.apk
3) adb shell ime enable com.example.android.softkeyboard/.SoftKeyboard
4) adb shell ime set com.example.android.softkeyboard/.SoftKeyboard5
5) Enable screen auto-rotation
6) Launch EditTextVariations from launcher's shortcut
7) Tap the first EditText field to show IME
8) Rotate the device to the landscape mode
9) Expect the IME should not be shrunk
Change-Id: I7beb7a122af93e596239a36db62073233cea0726
Currently, 'dumpsys activity' can dump the state of some managers:
- AutofillManager
- ContentCapturemaanger
- UiTranslationController
But the support for these custom dumping is hardcoded into
Activity itself, which makes it harder to extend. For example,
automotive builds provide an app-side Car object, which currently
cannot be dumped.
This CL makes the mechanism more flexible by providing a couple new
public / SystemAPIs that let Automotive (or other mainline modules)
extend it.
Examples:
$ adb shell dumpsys activity com.android.car.carlauncher/.CarLauncher --list-dumpables
$ adb shell dumpsys activity com.android.car.carlauncher/.CarLauncher --dump-dumpable CarUserManager
$ adb shell dumpsys activity service com.android.systemui/.SystemUIService CarUserManager
NOTE: this CL only adds the new APIs; a follow-up CL will change the
existing managers to use them.
Test: see above
Test: m update-api
Bug: 149254050
CTS-Coverage-Bug: 149254050
Change-Id: I6920ff3542d3d75edd667c2c7658e9d0a7af534f
If apps have conversations but not bubbles, we still show bubble settings
for them which is confusing for users. This change exposes whether an app
has sent a notification with valid bubble metadata, this allows us to hide
the setting until a bubble is actually sent.
If the app directs the user to bubble settings via the public intent,
they are still available.
Test: atest PreferencesHelper
Bug: 178387292
Change-Id: I7d3d92df49e7f4ed1d2c05cbba5f6f7786789d32
Revert submission 16468379
Reason for revert: Feature development is moving to T.
Reverted Changes:
Id9b9a8930:[3/n] Camera Compat UI: Add a camera compat contro...
Id6be4a954:Enable a camera app compat control on Large screen...
I083aa6718:[2/n] Camera Compat UI: Add interfaces for client-...
Bug: 206602997
Change-Id: I9ad876043fd61f708a8f468fffd1ef371bfa0866
Clarify that both null and empty list can be used to clear the
previously set value.
Bug: 214105366
Test: compile
Change-Id: Ic6aaedf655b64c78d2d07dc00177911c08a8e7e9
Test: Manual test using a non-privileged app, atest
android.permission.cts.SelfRevokeRuntimePermissionTest
When calling the API, the permission (along with any other permissions
from the same group) for the current package is downgraded to a one-time
permission, and a one-time permission session is started.
Bug: 210387494
Change-Id: I9f061cbc8c3db720127c96200fe94a644246b6d7
postOnAnimation is not robust enough from remove the onDrawListener
before next traversal, add a flag to to ensure that transfer splash
screen view only been called once.
Bug: 204125440
Test: atest SplashscreenTests
Test: verify SplashScreenTests and SplashscreenParametrizedTest pass
Change-Id: Id0e6d57b901b2dae45f5aa77e5571f9cf81b6e29
Writing to a pipe FD here is okay because it doesn't write to
the physical disk.
Bug: 203682422
Test: dumpsys gfxinfo
Change-Id: Ibb484f0d466d13e55d2c8059a5af964641281110
These are not yet used, and are obsolete now because We will no longer
be shipping SLS in T.
Ignore-AOSP-First: tied to launch of new upcoming hardware.
Test: atest FrameworksMockingServicesTests:CommunalManagerServiceTest
Bug: 206054365
Change-Id: I51ffbfe5ddc89008d660fab7cfd5808cb827d300
This reverts commit 2c34dcd956.
Reason for revert: Not WAI, logging on user-debug builds (not just eng) and not logging across the binder appropriately
Droidfood blocking bug:213406883
Change-Id: Ifff533d280cce22fbf877dd265e4910ab9230943
The permission token was required to be requested from an existing
activity. Since the token is delegated to another activity, the
activity that requested the token had to keep alive and finish itself
until the token is revoked.
Changing the behavior to allow the caller to request the permission
token for a particular component as long as the caller is running in
System uid (which not necessarily to be an Activity).
This also prevents having an additional trampoline activity launched.
Bug: 199743918
Test: locally tested
Change-Id: If3e55032bb99d98a446e4c30220555b0fbc0c6f7
We will no longer be shipping shared apps in Android T
Test: atest CommunalManagerServiceTest
Test: locally on device
Bug: 211633044
Change-Id: I96ff51f1e10801722dd74de110f5c2caacf0d8d3
- Disables recents in taskbar.
- Changes back and home icons and centers them in the taskbar.
Test: manual
Bug: 203749295
Change-Id: I9aa2a213728549509da4cf7f50abceb690ba31cf
Bug: 152453213
Tag: #refactor
This commit prepares PropertyInvalidatedCache to function as a system
api. Specifically, the methods recompute() and bypass() which may be
overridden by clients are now public (instead of protected). This
forces an update to all existing clients, to accommodate the change in
method visibility.
Two small changes have been made as cleanup:
1. The awkwardly named debugCompareQueryResults() is now
resultEquals(), which is more or less consistent with how other
equality tests are named in Android. This name change affects two
clients.
2. PackageManager has changed to use resultEquals() instead of
maybeCheckConsistency(). This provides a simpler and more
consistent use of the APIs. maybeCheckConsistency() has been made
private.
Test: atest PropertyInvalidatedCacheTests
Change-Id: I4110f8e887a4fd8c784141e8892557a9d1b80a94
Allow developer to control the splash screen style when the option is
used for cold or warm launch an activity.
Bug: 203497083
Test: atest SplashscreenTests#testLaunchFromLauncherWithEmptyIconOptions
Test: atest SplashscreenTests#testLaunchAppWithIconOptions
Change-Id: I9c4ccca2470df5dbac96da2d4a96b616b6670688
See Design doc: go/b200769372
To make the behavior consistent on the new platform,
The legcay callback,
onMagnificationChanged(MagnificationController controller,
Region region, float scale, float centerX, float centerY)
keep notifying only full-screen magnification change as
before.
To support listening to the magnification changes of all
magnification modes, the service should overide
The new callback proposed in T,
onMagnificationChanged(MagnificationController controller,
Region region, MagnificationConfig config).
TODO: Notify magnifcation change when window magnifier turns off
Bug: 203013925
Test: atest AccessibilityMagnificationTest,
atest MagnificationControllerTest,
atest WindowMagnificationManagerTest,
atest WindowMagnificationControllerTest,
atest FullScreenMagnificationControllerTest,
Change-Id: Ia73195a71f55bb26ef3f2eafce0dc73d8a65583b