Along with tests to verify that they're all delegated as expected.
Bug: 129564663
Test: atest cts/tests/tests/content/src/android/content/cts/ContentResolverTest.java
Test: atest cts/tests/tests/content/src/android/content/cts/ContentResolverWrapTest.java
Change-Id: I07dcabb78174ed2bb63061394bf737df71f49bb0
A major goal of the Q release is to promote user transparency around
permission usage, and to also give user controls over those
permissions. To further this goal, all apps requesting the
internal WRITE_MEDIA_STORAGE permission must also request (and be
granted) the "Storage" runtime permission in order to gain the
associated access.
If the user revokes the "Storage" runtime permission, then the app
must lose all access granted to it via WRITE_MEDIA_STORAGE.
Bug: 129144016
Test: atest android.permission.cts.ProviderPermissionTest#testWriteMediaStorage
Change-Id: I7e747de0107cf9364a0ff2401686906340d31995
* changes:
Revert ContextImpl LoadedApk packageInfo caching workaround
Fix AssetManager2 isUpToDate check
Diff resource dirs when checking LoadedApk packageInfo cache in ActivityThread
Diff overlays between PackageManagerService and OverlayManagerService
Propagate base code path and split dir changes to Resources objects
This logic was lost in the AssetManager1 -> 2 migration.
The old AM1 checked the last modification time of the file
and compared it to a previously stored value. This re-adds the
logic to ApkAssets and fixes the checks in the JNI/Java layer.
Unfortunately I couldn't find a failing/practical case where
this check mattered. It only came up when diagnosing an issue
which ended up being unrelated.
Test: manually ran with other overlay changes
Change-Id: I758e4af1d32a9c03b2204a8a3a26e82b7e83feda
When uninstalling an update to a system app, PMS re-creates the
PackageSetting object, and OMS doesn't get notified of the change.
This makes OMS diff the known valid overlays with the resourceDirs
in the target's ApplicationInfo and forces a reload when they
disagree.
Bug: 124363683
Test: manual ran Wellbeing reproduction steps in bug
Change-Id: Ib080d8593d12596ae8f8a729cc9740462c4b9b69
We're iterating on the design to let apps request via a manifest
flag if they'd like to opt-in or opt-out of storage sandboxing. The
default is to assume that P apps don't allow sandboxing, and that
Q apps do allow sandboxing.
Bug: 129487770
Test: manual
Change-Id: I8fddb35eed412c78622be4ccae57c7b7d2aa1286
PackageInstallerSession:
* Add multipackage consistency check to sealAndValidateLocked. The check
asserts all child sessions match parent session in respect to:
* Staged parameter
* Rollback enabled parameter
* Remove the staged conistency check from addChildSessionId
* Remove sealAndValidateLocked from constructor because it was used only
when sessions where loaded (from XML file) and there's no guarantee that
child sessions will be loaded before parent. Instead, mark the session
as ShouldBeSealed.
PackageInstallerService:
* To make sure relevant sessions are sealed and validated after they are
loaded from an XML file, iterate through the loaded seasions and seal and
validate those marked as ShouldBeSealed. Sessions that do not pass the
validation are destroyed.
Test: atest StagedRollbackTest
Test: atest CtsAtomicInstallTestCases
Test: atest PackageInstallerSessionTest
Fixes: 127765168
Fixes: 124215984
Change-Id: I8f152332cadb0f6c9063264f27668821fad1cec7
We've converged on explicit scanVolume() and scanFile() methods
which tests should be calling. These are more robust than the
previous broadcast-based events, which could hang for a long time.
Bug: 127323913
Test: atest --test-mapping packages/apps/MediaProvider
Change-Id: I4f7918c70a67bcafab69ae2a71ee8e4bdaff01eb
Some of the applicationInfo was hard coded while some packageInfo was
missing. Using AndroidManifest, they are completed as much as possible.
For remaining missing values, sane defaults are used where possible.
Bug: 124043099
Test: 1. added more assert rules in PackageParserTest.java
2. atest PackageParserTest
Change-Id: I950283d822966ee2cb97f7bf13b7f55bb1227946
When sending the ACTION_MEDIA_SCANNER_SCAN_FILE broadcast, an app
provides a raw filesystem path, which might be inside of their
sandbox.
Once the broadcast is delivered, we don't know where it came from,
so we need to translate the path before leaving the app process.
Bug: 117909601
Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*
Change-Id: Ibddd72a2d85e1f6541e0d6209e539fe6b5c4bde0
Needed for androidx dark mode to recreate UI without triggering
lifecycle event.
Bug: 128982541
Test: none needed
Change-Id: I7d16692f074cc7e50470868a6e232e26ff9d1ed3
Any process state-based capabilities such as location
can be allowed to permeate to the bound app, if the app
has the required permissions as well.
Bug: 128337543
Test: N/A
Change-Id: I0b066d2667333fbd65985959e202785641f704fc
Add Shell permission for new CTS tests to test the multi-display
functionality in WallpaperService/WallpaperManagerService.
Bug: 123707989
Test: atest WallpaperManagerMultiDisplayTests
Test: atest ActivityManagerMultiDisplayTests
Change-Id: Id97db050a0b9d1940c2dfaa793fbe526df578105
Bug: 124402715
Bug: 128925918
Test: builds
Addressed all the requests except on OverlayInfo class as much of it's
definition will change in this Q release.
Change-Id: I3a860c2b569b78763c1f65d06246225a931d57f6
This change add information about the target overlayable to the
OverlayInfo class.
Bug: 128830059
Test: atest OverlayInfoTest
Test: cmd overlay dump
Test: overlays.xml generated correctly
Change-Id: Ice9b4dee20d7d5ea4dcbc2b1a1179ab4fa5b1f7a
It will be used to let activities from the ContentCapture service package to use
the ContentCaptureManager APIs (such as isContentCaptureFeatureEnabled()), without
triggering content capture per se.
Bug: 122958583
Test: manual verification
Test: atest CtsContentCaptureServiceTestCases # sanity check
Change-Id: I0305fa9f3adb68e6faff80afcb965ae4643f2992