Mention convenience methods in class docs, and require a valid
NotificationChannel to be provided to match O best-practices.
Also mention that notifyChange() should be triggered when the action
is finished.
Test: builds, boots
Bug: 34676491
Change-Id: I0e6c6d43a93cbce1a5de02621290cc2ff9423274
Turns out several apps are blindly grabbing a FINGERPRINT_SERVICE
reference without checking to see if the device actually includes
that feature.
Hand pre-O apps a stubbed out Manager instance, but keep the new
ServiceNotFoundException behavior intact going forward, since it
prevents race conditions during boot or Binder service restarts.
Test: builds, boots
Bug: 32566669
Change-Id: Id1c0873e98e59b255f32e0f9204f4525a345f9ef
This is useful in the cases where the virtual children hierarchy is rendered
by a different process.
Test: VirtualContainerActivityTest pass
Bug: 36056207
Change-Id: Id9bf3a9e9366b616dc2a6e0a204e238a2bee3a20
If activity received a configuration change before it had its
ViewRootImpl initialize, then there was a NPE when trying to
notify the ViewRootImpl instance about latest changes.
Bug: 36396248
Test: android.server.cts.ActivityManagerAppConfigurationTests
Test: #testLaunchWithUiModeChange
Test: Launch AndroidAuto app
Change-Id: I71e0f316f885a30dadce388bbd3d9f21f419076b
This logging was originally added to track down very large log
messages that were causing Binder transactions to fail. We fixed
a handful of bugs that could have been causing this over in 32575987,
so this logging should no longer be needed in live builds. (In fact,
this logging is being triggered often enough to push other important
debugging information out of logs.)
Test: builds, boots
Bug: 36372780
Change-Id: I640192fbec35693673a2f22b7a82ce54f27937da
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
- Actions can specify whether they are enabled (default) or disabled, and
SystemUI will reflect the state in the PiP actions.
Bug: 36363677
Test: Expand pip with dismissed action
Change-Id: I36994868f82d8ba0fc87947a722d9f20b39425a1
Applications with the android:isolatedSplits="true" attribute in
their AndroidManifest.xml would have their Split APKs loaded in
isolation of each other, based on a set of dependencies.
Configuration Splits generated for a Feature split would not be properly
loaded before, so this change, along with a tools change, fixes this
issue and completes support for isolatedSplits.
Bug: 30999713
Test: CTS test coming (depends on some tool changes)
Change-Id: Ia4e7b0e69168a9d6637867558e306f7031720fb3
Test: boot, and check that profiles get recorded for secondary dex files
Bug: 32871170
Bug: 26719109
Change-Id: I2de23ef44eee3f1783ae698821f1c6d88c66c9a6
Fixes: 36212313
Test: Added and ran new EventLoggerTest-case. Installed and ran MobilIron Go app (like in the bug-report)
Change-Id: Ib1c69bb3aa2159b9101b6924484b51c223d136e0
- Allow apps to delete notification groups (which cascade to delete all
channels therein)
- Allow apps to get their groups, so they know what they might want to
delete
- Don't throw if someone tries to delete something that already doesn't
exist.
Change-Id: I5f6e25497c5da1e57b52737586e86097332f88f9
Fixes: 36245468
Fixes: 36127382
Test: runtest systemui-notification, cts
Apps can listen for the LOCALE_CHANGED broadcast to
change names if needed.
Fixes: 35336590
Test: runtest systemui-notification, cts, manual
Change-Id: I62d2778f61e99200692755a6f268828a374837e6
The DexLoadReporter was part of LoadedApk in order to lazily initialize
it when the first class loader of the app was created. However there's
no real association between the two and doing the initialization in
LoadedApk buys us nothing.
Extract the reporter in its own class and set it to BaseDexClassLoader
during bindApplication stage.
Test: boot, and check that loaded dex files are reported
Bug: 32871170
Bug: 26719109
Change-Id: I9a0e734ae4c16d5d0979aa6d0061fbc9b6e144f6
This allows extending each message with standard extenders.
Test: Will be adding CTS test in a separate CL.
Change-Id: I2ce35cc28e0f374af02e0ad1228f473a63ff7740
We were using a generic context that caused crashes for
the content providers.
Bug: 34657204
Test: manual, calling getCallingPackage() from the provider
doesn't crash anymore.
Change-Id: I2b61e6510d8c6647007987373d03ee5dc97c0889
Ostensibly for instant apps, we allow play to mark an app as having
an update available. This will trigger instant app resolution even
if the instant app is already installed on device.
Bug: 35143464
Test: Manual; launch URI of installed instant app, see it runs w/o resolution. set bit. launch URI of installed instant app, see it runs resolution
Change-Id: I511df2b2a3eab39377167c770255ccbe02d5dad2
Cross-package use is quite common when only resources are being
considered. A common example is that any application that declares
itself <searchable /> will see cross package resource only use from
the system_server.
Test: manual instrumentation.
Change-Id: Ic7ad166c71a23c6026f4e12bb52309a50210aaaf
Now that we have CTS tests to verify the cache clearing v2 logic,
we're ready to enable it!
Switch storage APIs over to "usable space" to match implementation
down in installd. Add a missing clearCallingIdentity(), and offer
better logging for missing appop permission.
Load quotas from disk right away at device boot instead of waiting.
Bug: 35685848, 35684969
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Change-Id: I8167e0322b4662ca6c975da5c50715e2d71332a7