diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/ApplicationPackageManager.java | 13 | ||||
| -rw-r--r-- | core/java/android/content/pm/IPackageManager.aidl | 5 | ||||
| -rw-r--r-- | core/java/android/content/pm/PackageManager.java | 9 |
3 files changed, 27 insertions, 0 deletions
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java index 425073c92045..17e527d7e617 100644 --- a/core/java/android/app/ApplicationPackageManager.java +++ b/core/java/android/app/ApplicationPackageManager.java @@ -451,6 +451,19 @@ public class ApplicationPackageManager extends PackageManager { } @Override + public int getTargetSdkVersion(@NonNull String packageName) throws NameNotFoundException { + try { + int version = mPM.getTargetSdkVersion(packageName); + if (version != -1) { + return version; + } + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + throw new PackageManager.NameNotFoundException(packageName); + } + + @Override public ActivityInfo getActivityInfo(ComponentName className, int flags) throws NameNotFoundException { final int userId = getUserId(); diff --git a/core/java/android/content/pm/IPackageManager.aidl b/core/java/android/content/pm/IPackageManager.aidl index 5f8754efb47f..7e082d583a1c 100644 --- a/core/java/android/content/pm/IPackageManager.aidl +++ b/core/java/android/content/pm/IPackageManager.aidl @@ -82,6 +82,11 @@ interface IPackageManager { @UnsupportedAppUsage ApplicationInfo getApplicationInfo(String packageName, int flags ,int userId); + /** + * @return the target SDK for the given package name, or -1 if it cannot be retrieved + */ + int getTargetSdkVersion(String packageName); + @UnsupportedAppUsage ActivityInfo getActivityInfo(in ComponentName className, int flags, int userId); diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index e699ee475279..7e17256f0229 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -4270,6 +4270,15 @@ public abstract class PackageManager { } /** + * @return The target SDK version for the given package name. + * @throws NameNotFoundException if a package with the given name cannot be found on the system. + */ + @IntRange(from = 0) + public int getTargetSdkVersion(@NonNull String packageName) throws NameNotFoundException { + throw new UnsupportedOperationException(); + } + + /** * Retrieve all of the information we know about a particular activity * class. * |
