diff options
author | Jeff Sharkey <jsharkey@android.com> | 2015-08-28 11:20:39 -0700 |
---|---|---|
committer | The Android Automerger <android-build@google.com> | 2015-08-28 19:53:58 -0700 |
commit | 0e81e75071530c522e02475000432c5b31b34969 (patch) | |
tree | e8196075366ae66bcbb0ea7705bdea6a1f77fff9 | |
parent | b6b58f662eec6568c7b2eed10de8e10f35faa1ab (diff) | |
download | frameworks_base-0e81e75071530c522e02475000432c5b31b34969.zip frameworks_base-0e81e75071530c522e02475000432c5b31b34969.tar.gz frameworks_base-0e81e75071530c522e02475000432c5b31b34969.tar.bz2 |
Give shell permission to move apps.
Also clear identity when measuring ASEC sizes to relax a second
permission requirement.
Bug: 23600574
Change-Id: Ib3a104426758e0e8f35dff0e504fe874bed7311f
-rw-r--r-- | packages/Shell/AndroidManifest.xml | 1 | ||||
-rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 11 |
2 files changed, 9 insertions, 3 deletions
diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml index 37e0db0..d785cca 100644 --- a/packages/Shell/AndroidManifest.xml +++ b/packages/Shell/AndroidManifest.xml @@ -65,6 +65,7 @@ <uses-permission android:name="android.permission.READ_INPUT_STATE" /> <uses-permission android:name="android.permission.SET_ORIENTATION" /> <uses-permission android:name="android.permission.INSTALL_PACKAGES" /> + <uses-permission android:name="android.permission.MOVE_PACKAGE" /> <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" /> <uses-permission android:name="android.permission.DELETE_CACHE_FILES" /> <uses-permission android:name="android.permission.DELETE_PACKAGES" /> diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 6c3e78f..c650b6d 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -13602,9 +13602,14 @@ public class PackageManagerService extends IPackageManager.Stub { libDirRoot = ps.legacyNativeLibraryPathString; } if (p != null && (isExternal(p) || p.isForwardLocked())) { - String secureContainerId = cidFromCodePath(p.applicationInfo.getBaseCodePath()); - if (secureContainerId != null) { - asecPath = PackageHelper.getSdFilesystem(secureContainerId); + final long token = Binder.clearCallingIdentity(); + try { + String secureContainerId = cidFromCodePath(p.applicationInfo.getBaseCodePath()); + if (secureContainerId != null) { + asecPath = PackageHelper.getSdFilesystem(secureContainerId); + } + } finally { + Binder.restoreCallingIdentity(token); } } } |