From f4216d30cd768638eebdb4124abae95bdf5b3597 Mon Sep 17 00:00:00 2001 From: Adam Lesinski Date: Fri, 26 Jun 2015 16:33:24 -0700 Subject: [PATCH] Add helper function to extract app ID from shared app gid. Bug:22008744 Change-Id: Ifadc7df3777dd74932833f4d22a0e285d7bdaf95 --- core/java/android/os/UserHandle.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/core/java/android/os/UserHandle.java b/core/java/android/os/UserHandle.java index 6874e7762d8ba..511bd5f4f6c72 100644 --- a/core/java/android/os/UserHandle.java +++ b/core/java/android/os/UserHandle.java @@ -178,6 +178,19 @@ public final class UserHandle implements Parcelable { - Process.FIRST_APPLICATION_UID; } + /** + * Returns the app id for a given shared app gid. + * @hide + */ + public static final int getAppIdFromSharedAppGid(int gid) { + final int noUserGid = getAppId(gid); + if (noUserGid < Process.FIRST_SHARED_APPLICATION_GID || + noUserGid > Process.LAST_SHARED_APPLICATION_GID) { + throw new IllegalArgumentException(Integer.toString(gid) + " is not a shared app gid"); + } + return (noUserGid + Process.FIRST_APPLICATION_UID) - Process.FIRST_SHARED_APPLICATION_GID; + } + /** * Generate a text representation of the uid, breaking out its individual * components -- user, app, isolated, etc.