Pass the set of disabled changes from the system server into the app in the
bindApplication() call. Use this to instantiate an implementation of
Compatibility.Callbacks() to implement the API.
Test: Manual.
Bug: 135010838
Change-Id: I2fcf25264c62acc801f9e62967072cd04e4641e7
This allows apps to unregister potentially expensive device
monitoring systems when rules are disabled or removed, and provides
parity with ConditionProviderService.onUnsubscribe().
Test: cts
Fixes: 131812774
Change-Id: I2b359ca3262ccc6098bafa1611172b99f158c0c8
The new MediaProvider design has an internal dynamic security model
based on the value stored in OWNER_PACKAGE_NAME, so the OS always
needs to consult the provider when resolving Uri permission grants.
Blocking calls from the system process like this are typically
discouraged, but this is the best we can do with the limited time
left, and there is existing precident with getType().
For now, use "forceUriPermissions" as a proxy for determining when
we need to consult the provider directly.
Bug: 115619667
Test: atest --test-mapping packages/providers/MediaProvider
Test: atest android.appsecurity.cts.ExternalStorageHostTest
Change-Id: I1d54feeec93fbb4cf5ff55240ef4eae3a35ed068
These were the last few APIs that used the permission callback.
Completely remove it from the package manager and full implement
in the permission manager.
Bug: 135279435
Test: atest PermissionUpdateListenerTest
Test: android.content.pm.cts.PackageManagerTest
Test: android.permission2.cts.RestrictedPermissionsTest
Change-Id: Iab7c20215c907f4718f78a98fb96afec9fef6780
Also while doing this, it made sense to move the permission change
listener to the permission manager [it resulted in fewer hacks to
get the two sides to talk to one another].
Bug: 135279435
Test: atest PermissionUpdateListenerTest
Test: android.content.pm.cts.PackageManagerTest
Test: android.permission2.cts.RestrictedPermissionsTest
Change-Id: Ie08701dfe999cd435335103f4b4daeaa0b31ef10
Moved updateDisplayOverrideConfiguration
updateDisplayOverrideConfigurationLocked, and
performDisplayOverrideConfigUpdate from ATMS to ActivityDisplay
because all calls to these methods have a reference to either a
DisplayContent or ActivityDisplay, so it is better that the methods
are called directly rather than going through a service that uses
displayId to get access to an object it already could have had access
to. Similarly, sendNewConfiguration has been moved from
WindowManagerService to DisplayContent. These changes are
necessary for situations where methods in ATMS and WMS want
to process ActivityDisplay and DisplayContent objects before they
are added to either hierarchy. These situations will arise when sending
new configurations happens synchronously as opposed to posting to a
handler (as is the current situation with
DisplayContent#sendNewConfiguration).
Bug: 130807132
Test: go/wm-smoke
Change-Id: Ie2bd6c32b2adc2c4c5d585e361defd6c98652f01
For backward compatibility, SurfaceView ignores alpha value by
default. In order to reflect alpha value set on the SurfaceView
to its underlying surface, setUseAlpha() needs to be called.
Translucent alpha only works when the surface is placed z-above.
Otherwise only fully opaque and transparent status are supported.
Bug: 130442248
Test: Manual, use BubblesTest app and checks if alpha is set.
Change-Id: I86847de59109b2adf12a2c7c50c988c2cbcf0450
Now begins the parade of methods that can be migrated to the
permission manager service and be removed from the package
manager service.
We will still need to maintain some sub-set of APIs in the
package manager service due to unsupported app usage. When
we finally no longer support these AIDL methods, they can
be removed from package manager service.
Bug: 135279435
Test: Manual. Builds and runs
Change-Id: If12609ffdaeb75445d3ec9bcc7f946b8829ba769
Make sure the client post execution lifecycle state to RESUMED
only if the activity was RESUMED while delivering new intent.
Bug: 135715788
Test: making skype calls
Test: atest ActivityThreadTest
Change-Id: I1e3054e1d1611aecf6ddf6d482abf2cb3ebdf9a4
Today, the package manager largely routes any permission related
method to the PermissionManagerService. But, PermissionManagerService
is a service in name only. Instead, we will make the
PermissionManagerService a real service and direct API calls directly
to it.
We will likely need to maintain all of the public permission APIs
that already exist on PackageManager. However, the public -> private
implementation will go directly to PermissionManagerService.
Bug: 135279435
Test: Manual. Device boots
Change-Id: Ia4992ba6d1f4b9050db98c7d7647d51a5d45fcbe
The log information will be clearer when there are multiple
activities use the same class.
The user id field is replaced because it can be easily read by
the printed uid (logcat -v uid) or mapped to the corresponding
log printed by system server that contains user id.
Bug: 136456023
Test: The server and client am_* lifecycle related event logs
print the same identity.
Change-Id: Iaf82041bc8b4e6690e3aee822c91389bd166b6df