Plugging the binder instance that dies. This helps a single
DeathRecipient to listen for multiple binder deaths.
Test: atest FrameworksCoreTests:BinderDeathRecipientTest
Bug: 135633339
Change-Id: I976ee2a138877830885ee1cbbd2b313ecb87aeb3
The Process.WIFI_UID constant is referenced by the wifi mainline module & hence
needs to be a formal API constant. There are some other
subsystem uid's like PHONE_UID which are already public constants, so
there is precedence for making these uid's public if necessary?
Bug: 147396785
Test: Compiles
Change-Id: I85008965f9017e208c501c5a349f7e60cc102e0f
Rename android.util.TimestampedValue to android.os to avoid dependency
from android.util onto android.os, which is disallowed by lint.
Bug: 147012511
Test: boot
Merged-In: I4b84db03c8ad24bbef63e45d6d15fb306a10364e
Change-Id: I4b84db03c8ad24bbef63e45d6d15fb306a10364e
(cherry picked from commit d159015e54)
Previously when FUSE was enabled, we gave all apps requesting
WRITE_MEDIA_STORAGE or install permissions a direct view
to the lower filesystem. This was way too broad for a few reasons:
1) WRITE_MEDIA_STORAGE will be deprecated; holding that permission by
itself shouldn't grant you any special privileges.
2) Installers should only be able to write OBBs
The only other exceptions that are allowed to bypass scoped storage are
the process hosting the DownloadProvider and the process implementing
the MTP server; both of these have legit reasons for writing in
Android/. The way this is currently implemented is by giving these apps
the SDCARD_RW gid, which has write access in the default Android/
sdcardfs view.
Installers will be further scoped down to be only able to access OBB
in a follow-up CL.
Bug: 134706060
Bug: 146490513
Test: DownloadProvider can download
Play + OBBs work
Writing in Android/ through MTP works
Change-Id: Iff8681732d0c1124e24e5347f7dcb64b781c1e8c
Re-uses the code from Parcel to make it consistent with binder IPC exception
stacktrace propagation behavior.
Test: atest AndroidFutureTest
Change-Id: I5c73c42544af5bf964c7b6cd646bcb347e3ae146
The bulk of the work needed to get MediaProvider building against
the "system_current" SDK surface has been slowly merged over the
last few months, and this change makes the last few adjustments.
This adds a new StorageVolumeCallback which is simpler version of
StorageEventListener that simply delivers the changed StorageVolume.
Move DownloadManager logic into a onMediaStoreDownloadsDeleted()
method which hides the implementation details of how the OS connects
with that implementation.
Make local copies of some ExifInterface parsing logic; they could
be added to the androidx version in an unbundled release. Make a
local copy of RedactingFileDescriptor, since it's only needed for
the next few weeks until FUSE is globally enabled.
Bug: 137890034
Test: atest --test-mapping packages/providers/MediaProvider
Change-Id: Ib416eb8724781bdd234c8b7d728dee8b695ad6ac
Rename android.util.TimestampedValue to android.os to avoid dependency
from android.util onto android.os, which is disallowed by lint.
Bug: 147012511
Test: boot
Change-Id: I4b84db03c8ad24bbef63e45d6d15fb306a10364e
We now transform the realpath of /sdcard with FUSE mounts from
/mnt/user/<userid>/emulated/<userid> to
realpath of /storage/emulated/<userid> which is what is expected
without FUSE when matching with VolumeInfo#path.
Test: atest
android.os.storage.cts.StorageManagerTest#testGetExternalUuidForPath
Bug: 135341433
Change-Id: I8ffe8ac7109329d360fe18ce3e6ed227672b77bc
When an OTA is downloaded, the RecoverySystem can be triggered to store
the user's lock screen knowledge factor in a secure way using the
IRebootEscrow HAL. This will allow the credential encrypted (CE)
storage, keymaster credentials, and possibly others to be unlocked when
the device reboots after an OTA.
Bug: 63928581
Test: atest FrameworksServicesTests:RebootEscrowDataTest \
FrameworksServicesTests:LockSettingsServiceTests \
FrameworksServicesTests:RecoverySystemServiceTest \
FrameworksServicesTests:RebootEscrowManagerTests
Test: use fake OTA console app to apply update
Change-Id: I59df6942b27ea2bdd11b757922f5169085a325f0
Replaces the UserManager.getUserType API with isUserOfType, where the
suspected type is passed in as a parameter. Also makes this API require
MANAGE_USERS.
Test: atest UserManagerServiceUserInfoTest
Test: atest UserManagerTest
Bug: 142482943
Change-Id: Icca1d5d9a36bfc1422c3f37456135ce69c3f3b38
Added a class for attributes of vibrations, to gradually replace usage
of AudioAttributes in haptics context. Refactored VibrationService and
related classes to use VibrationAttributes, converting AudioAttributes
to VibrationAttributes and back as necessary
Test: manual. Since it's a refacroring, everything should work as before
Bug: 136810264
Change-Id: I82c04bc6f6fb723ee390e3b86a4a371564ab28d4
This API cleans up the merge and free up space after the
device has boot successfully into the new build for a
Virtual A/B update.
Bug: 138808328
Test: pass
Change-Id: Id4543906b06e6a8487f91955af85024d8a50a464