diff options
author | Nathan Harold <nharold@google.com> | 2020-11-18 17:18:25 -0800 |
---|---|---|
committer | Nathan Harold <nharold@google.com> | 2020-12-11 16:59:10 -0800 |
commit | 6ab80ad675de8a6612512046a8eb9419c02974ce (patch) | |
tree | 29eaa7dc8a880b6fd4ee9f5f202933e53fbe6469 /telephony/common/com | |
parent | bdcdfa7c9c303a5718c6a374af68fd487386c78c (diff) |
Move getTargetSdk to common location
Bug: 148559042
Test: compilation
Change-Id: Ib5d5e3591919287de819c4e329bacbda7befe76f
Diffstat (limited to 'telephony/common/com')
-rw-r--r-- | telephony/common/com/android/internal/telephony/TelephonyPermissions.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/telephony/common/com/android/internal/telephony/TelephonyPermissions.java b/telephony/common/com/android/internal/telephony/TelephonyPermissions.java index 0c463949b14a..225e3f760d20 100644 --- a/telephony/common/com/android/internal/telephony/TelephonyPermissions.java +++ b/telephony/common/com/android/internal/telephony/TelephonyPermissions.java @@ -651,4 +651,23 @@ public final class TelephonyPermissions { throw new SecurityException(message + ": Only shell user can call it"); } + + /** + * Returns the target SDK version number for a given package name. + * + * This call MUST be invoked before clearing the calling UID. + * + * @return target SDK if the package is found or INT_MAX. + */ + public static int getTargetSdk(Context c, String packageName) { + try { + final ApplicationInfo ai = c.getPackageManager().getApplicationInfoAsUser( + packageName, 0, UserHandle.getUserHandleForUid(Binder.getCallingUid())); + if (ai != null) return ai.targetSdkVersion; + } catch (PackageManager.NameNotFoundException unexpected) { + Log.e(LOG_TAG, "Failed to get package info for pkg=" + + packageName + ", uid=" + Binder.getCallingUid()); + } + return Integer.MAX_VALUE; + } } |