Optimizes the workflow to check multiple URI permissions, which
currently need to be checked one URI at a time.
New APIs are logically similar to existing APIs: checkUriPermission,
checkCallingUriPermission and checkCallingOrSelfUriPermission. The
new APIs would take input of a collection of URIs instead of just one
URI.
Bug: 179362563
Test: atest ContextTest.java
Test: atest ExternalStorageHostTest#testMediaEscalation_RequestWriteFilePathSupport
Change-Id: I9cd6278f9b865c0532afc337b089771df6aea8c5
* changes:
Add two more Api for SplashScreenView(7/N)
Support persist night mode for application(6/N)
Allow ShortcutInfo to specify a theme for splash screen.(5/N)
Add API for show branding image on splash screen.(4/N)
Provide new APIs for customize splash screen window.(3/N)
Customizable exit splash screen animation.(2/N)
Provides new APIs so that shortcuts can preset the theme of the splash
screen window.
- Static way: android:splashScreenTheme
Preset the splash screen theme from xml.
- Dynamic way: ShortcutInfo.Builder#setStartingTheme
Preset the splash screen theme when construct the ShortcutInfo
programmatically.
Bug: 73289295
Test: build/flash
Test: atest AppWindowTokenTests ActivityRecordTests
Change-Id: Ie5e73f9b22fea22659e496c12198c942f4bc93cd
This toggle is actually used to toggle whether or not the app can open
app links at all, not just verified app links.
Updates the persistence/data classes to be in line with the new default
behavior.
Also makes it so that unverified apps cannot be enabled if another
approved package already exists.
Bug: 178525735
Test: atest DomainVerificationPersistenceTest
Change-Id: I5e258e230e6d6b5de79aab32838496f2126f8451
Android 12 adds support for a new knownSigner permission protection
flag that allows one or more trusted signing certificates to be
specified with the permission declaration; a requesting app signed
by any of these certificates will be granted the permission. This
commits adds the new knownCerts Set to the Parcels for
PermissionInfo and ParsedPermission instances.
Bug: 172970984
Test: atest PkgInstallSignatureVerificationTest
Test: atest PermissionInfoTest
Change-Id: I07e415c0d3df6fe352ec5b04a29d986a2647fa19
And deprecating the old feature which didn't have versioning support.
V2 means that the new features are either required if the device
was shipped with S, or available if device updated kernel to S.
Bug: 180010901
Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest
Change-Id: If037f0eb23260f354b0929ff7afaf1af9627e5fa
This was broken in the original migration, causing this field to be
dropped on reboot.
Bug: 178209505
Test: TODO, separate change will include comprehensive parceling test
Change-Id: I67219fe00c7b92677391fd46305bf0424d74e5f3
(cherry picked from commit 00f69942be)
Add default system implementation of vibrator manager service that uses
IVibratorManagerService to access the device vibrators.
Change implementation of SystemVibrator to use VibratorManagerService
and delete local service VibratorService.
Introduce missing public APIs for VibratorManager and Vibrator.getId.
Bug: 167946816
Test: VibratorManagerServiceTest, VibratorTest, VibrationEffectTest
Change-Id: I55cdeb72c7ca39ccf0c7b2fda60b16de1031801e
This commit adds support for a new permission protection flag that
allows a permission declaration to also include an array resource of
trusted signing certificate digests. A permission declared with this
new knownSigner permission flag will be granted to a requesting app
if that app's current signer, or any of the previous signers in its
lineage, are in the declared trusted signing certificate set.
Bug: 172970984
Test: atest SigningDetailsTest
Test: atest PkgInstallSignatureVerificationTest
Change-Id: I54ff2ac720c3a1828d0606426197f7f0e0d0d4b5
* changes:
[Mainline] android.system package APIs migration
Use public android.system.Int64Ref instead of Int32Ref which is hidden (CorePlatformApi) type of libcore
This is needed to enable the new testing infrastructure to
reinstall removed packages between test runs as part of state
resetting.
Bug: 179682115
Test: confirmed that cts tests can call the API
Change-Id: Idc093fb387694096b0bf81472dd71387d3c85e85
The values in dp shouldn't be changed because the density is
already scaled.
Also add unit tests to ensure that the override scale from
CompatModePackages applies to window and surface.
Bug: 168419799
Test: atest DisplayContentTeasts#testCompatOverrideScale
Change-Id: I4b99b123d4beb33cc3d97eb07e506d8a60fcc5e3
This adds a new method to ClipDescription to allow callers to
determine if the associated ClipData is styled text, without
accessing the ClipData directly.
This information is used by editors such as TextView or WebView
when they show a selection toolbar, in order to determine if a
"Paste as plain text" option should be shown. Currently, ClipData
must be accessed in order to do this, so a clipboard access
occurs whenever text is selected.
Avoiding these clipboard accesses is desirable because a user-visible
message may in future be shown whenever ClipData is accessed
(see b/167676460), which may cause user confusion.
Bug: 167660455
Test: new tests added to ClipDescriptionTest in CTS
Change-Id: I48bea4d11a68b198d60016b364a3cfa0b0bf277e
Adds registering and unregistering of FabricatedOverlay to the OMS.
The process that creates the fabricated overlays owns it and is the
only process allowed to unregister it.
When a fabricated overlay is registered, overlay settings for it are
initialized in all users. When a fabricated overlay is unregistered,
it is disabled and removed from all users. When a new user is created,
it will be able to use the fabricated overlay as well.
On boot, fabricated overlays that are not referenced in overlay
settings will be deleted.
When the package that created the fabricated overlay is uninstalled,
its fabricated overlays are also unregistered.
Bug: 172471315
Test: atest OverlayDeviceTests
Change-Id: I0539656f4c919246b13129579b0286c08a398dc2
Fabricated RROs identifiers are made using package name and overlay name
combinations. In the future, packages with multiple <overlay> tags will
use overlay name to distinguish between the tags.
This changes the OMS to manage overlays through OverlayIdentifiers.
The identifier is a overlay package and name combination. The name field
is optional so overlays without an overlay name can be managed.
This change simplifies the logic required to update the set of target
packages affected by overlay changes.
Bug: 172471315
Test: OverlayDeviceTests
Test: OverlayImpl tests
Change-Id: Iac679828d7480e5c7a2c1fe4ea8b73401d8d487f