Manager(client)->Service(server) seems to be easier to understand.
Test: builds
Bug: b/136132412 b/133435829
Change-Id: I3bc447fbf7a7aac917df7b4632def75e0da3f1a0
This was previously reserved for keystore only but since credstore
also needs to do attestations, this is needed.
Bug: 111446262
Test: atest android.security.identity.cts
Test: Manually verifying the AttestationApplicationId from credstore
Change-Id: Ie44f9e4c8f2e1bd916ccbe7c7e5537dc498d8154
In recent releases, Android has used the GID of files on external
storage to compute quota for various media types. This was implemented
by the kernel sdcard filesystem, which kept a mapping of file
extension->GID, and automatically set the correct GID on the lower
filesystem. We then simply asked the kernel "how much space is used by
the GID corresponding to image files" to determine how much space image
files took up on external storage.
sdcardfs will be removed starting with devices launching with R; this
means that the quota tracking implementation can no longer live in the
kernel on these devices. MediaProvider is a logical place to initiate
the quote handling in userspace, since it is responsible for all files
on external storage.
But since MediaProvider is now a mainline module, we don't want the
quota tracking implementation to live in MediaProvider itself. Instead,
provide a new @SystemAPI on StorageManager that can be called whenever
we need to set the quota type for a file on external storage. This
allows MediaProvider to call this API whenever a file is created on
external storage, or whenever its type is changed such that it requires
using a different quota type (eg going from an image file to an audio
file, which is presumably a rare case).
The API doesn't require a special permission, because the current
implementation is not a binder call, but an in-process call to modify
filesystem attributes. That means that the caller must already be in an
SELinux domain that allows these attribute modifications. Currently,
only MediaProvider and vold are allowed to modify these attributes.
Therefore, this API is effectively protected by SELinux.
Bug: 146419093
Test: builds. Functionality will be tested with existing
StorageHostTest CTS test, but running that tests depends on other
changes (eg a device without sdcardfs). This is tracked in the
test plan for removing sdcardfs.
Change-Id: I9ffb11a89b17e5596fce70e96c06a8af2142e41f
Provide a mechanism to extend and customize a binder interface without
having to modify the original (base) interface.
See the full motivation here: aosp/1099664
Bug: 147834064
Test: atest FrameworksCoreTests:BinderTest FrameworksCoreTests:BinderProxyTest
Change-Id: Idd3595b1302cf7ac0590d064e795ba0b75811af6
Replace the existing usages of now-deprecated API
WindowManager.getDefaultDisplay() with WindowMetrics or
Context.getDisplay() in frameworks/base.
Bug: 128338354
Test: Build, auto test
Change-Id: I02d38a022c5e0e6e9d699f03d35b65d6c8126da9
isUserOfType is @UserHandleAware, so there is no need for the version
that takes in a userHandle.
(See ag/9259675)
Test: atest UserManagerTest#testProfileTypeInformation
Bug: 139914710
Change-Id: I283900a6c0571c2dd1cdfd96fe7413f32ddb7adf
By default, PR_SET_DUMPABLE is 0 for zygote spawned apps, except in the
following circumstances:
1. ro.debuggable=1 (global debuggable enabled, i.e., userdebug or eng builds).
2. android:debuggable="true" in the manifest for an individual application.
3. An app which explicitly calls prctl(PR_SET_DUMPABLE, 1).
4. GraphicsEnv calls prctl(PR_SET_DUMPABLE, 1) in the presence of
<meta-data android:name="com.android.graphics.injectLayers.enable"
android:value="true"/>
in the application manifest.
So checking both ro.debuggable=1 and PR_GET_DUMPABLE is redundant.
Bug: b/144186877, b/148566223
Test: CtsAngleIntegrationHostTestCases
Test: CtsRootlessGpuDebugHostTest
Change-Id: Ica49254df2c7c090808411935cdeb8efd4e3cb51
Merged-In: Ica49254df2c7c090808411935cdeb8efd4e3cb51
(cherry picked from commit 097a3062b9)
Add @WorkerThread to allocateSpace and cleanupAppliedPayload
because they take a non-trivial amount of time.
Bug: 148486809
Test: builds
Change-Id: Ib7daba9c662b9e141430df71401d069577221b8a
Remove VibrationAttributes.Builder.replaceFlags() from public API.
Add VibrationAttributes.Builder.setFlags() as public API.
Bug: 148286757
Test: atest VibrationAttributesTest
Change-Id: I573268d75f70b36552bd1ecd547906a4b50b77cb
This reverts commit 81d7cece57.
Reason for revert: The telephony unit tests are fixed.
Bug: 148282682
Change-Id: Ib835f0abf4faf33ea3a54420c84c1f8383d663c3
Added user restrictions to the list of user restrictions that are
applied globally when set on the parent profile DPM instance
by the profile owner of an organization-owned device.
Bug: 148437699
Test: atest com.android.server.pm.UserRestrictionsUtilsTest
atest com.android.server.devicepolicy.DevicePolicyManagerTest
atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testDevicePolicyManagerParentSupport
atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testUserRestrictionsSetOnParentAreEnforced
Change-Id: Ic202524d5bc643f9704c98d6c5d60c206d9b663a
Not all effects will be thought of by system owners. By exposing the
underlying primitives we use to design effects we can enable our own
future development in an unbundled fashion while at the same time
providing the ecosystem more freedom to create novel and meaningful
haptic experiences.
This CL implements the fundamental parts of the APIs but doesn't yet do
a number of things (e.g. intensity scaling, breaking up long delay
durations with NOOP primitives, etc.)
Bug: 139762802
Test: atest VibratorTest
manual testing
Change-Id: I15d12f34137a81ca64390b4ef06927341b6ca1ac