From 6ab80ad675de8a6612512046a8eb9419c02974ce Mon Sep 17 00:00:00 2001 From: Nathan Harold Date: Wed, 18 Nov 2020 17:18:25 -0800 Subject: Move getTargetSdk to common location Bug: 148559042 Test: compilation Change-Id: Ib5d5e3591919287de819c4e329bacbda7befe76f --- .../internal/telephony/TelephonyPermissions.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'telephony/common') 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; + } } -- cgit v1.2.3