diff options
Diffstat (limited to 'core/java/android/app/ActivityManagerNative.java')
-rw-r--r-- | core/java/android/app/ActivityManagerNative.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java index b558318..b34c243 100644 --- a/core/java/android/app/ActivityManagerNative.java +++ b/core/java/android/app/ActivityManagerNative.java @@ -1341,6 +1341,18 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM return true; } + case CHECK_GRANT_URI_PERMISSION_TRANSACTION: { + data.enforceInterface(IActivityManager.descriptor); + int callingUid = data.readInt(); + String targetPkg = data.readString(); + Uri uri = Uri.CREATOR.createFromParcel(data); + int modeFlags = data.readInt(); + int res = checkGrantUriPermission(callingUid, targetPkg, uri, modeFlags); + reply.writeNoException(); + reply.writeInt(res); + return true; + } + case DUMP_HEAP_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); String process = data.readString(); @@ -2998,6 +3010,23 @@ class ActivityManagerProxy implements IActivityManager reply.recycle(); } + public int checkGrantUriPermission(int callingUid, String targetPkg, + Uri uri, int modeFlags) throws RemoteException { + Parcel data = Parcel.obtain(); + Parcel reply = Parcel.obtain(); + data.writeInterfaceToken(IActivityManager.descriptor); + data.writeInt(callingUid); + data.writeString(targetPkg); + uri.writeToParcel(data, 0); + data.writeInt(modeFlags); + mRemote.transact(CHECK_GRANT_URI_PERMISSION_TRANSACTION, data, reply, 0); + reply.readException(); + int res = reply.readInt(); + data.recycle(); + reply.recycle(); + return res; + } + public boolean dumpHeap(String process, boolean managed, String path, ParcelFileDescriptor fd) throws RemoteException { Parcel data = Parcel.obtain(); |