Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8ab9c89 authored by Roshan Pius's avatar Roshan Pius Committed by Gerrit Code Review
Browse files

Merge "Add getTargetSdkVersion without AppInfo"

parents 57a0af04 3eb5bd0a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -12039,6 +12039,7 @@ package android.content.pm {
    method public boolean getSyntheticAppDetailsActivityEnabled(@NonNull String);
    method @NonNull public abstract android.content.pm.FeatureInfo[] getSystemAvailableFeatures();
    method @Nullable public abstract String[] getSystemSharedLibraryNames();
    method @IntRange(from=0) public int getTargetSdkVersion(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
    method @Nullable public abstract CharSequence getText(@NonNull String, @StringRes int, @Nullable android.content.pm.ApplicationInfo);
    method @NonNull public abstract android.graphics.drawable.Drawable getUserBadgedDrawableForDensity(@NonNull android.graphics.drawable.Drawable, @NonNull android.os.UserHandle, @Nullable android.graphics.Rect, int);
    method @NonNull public abstract android.graphics.drawable.Drawable getUserBadgedIcon(@NonNull android.graphics.drawable.Drawable, @NonNull android.os.UserHandle);
+13 −0
Original line number Diff line number Diff line
@@ -450,6 +450,19 @@ public class ApplicationPackageManager extends PackageManager {
        return info;
    }

    @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 {
+5 −0
Original line number Diff line number Diff line
@@ -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);

+9 −0
Original line number Diff line number Diff line
@@ -4255,6 +4255,15 @@ public abstract class PackageManager {
        return getApplicationInfoAsUser(packageName, flags, user.getIdentifier());
    }

    /**
     * @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.
+23 −8
Original line number Diff line number Diff line
@@ -5349,6 +5349,23 @@ public class PackageManagerService extends IPackageManager.Stub
        return updateFlagsForComponent(flags, userId);
    }
    @Override
    public int getTargetSdkVersion(String packageName)  {
        synchronized (mLock) {
            final AndroidPackage pkg = mPackages.get(packageName);
            if (pkg == null) {
                return -1;
            }
            final PackageSetting ps = getPackageSetting(pkg.getPackageName());
            if (shouldFilterApplicationLocked(ps, Binder.getCallingUid(),
                    UserHandle.getCallingUserId())) {
                return -1;
            }
            return pkg.getTargetSdkVersion();
        }
    }
    @Override
    public ActivityInfo getActivityInfo(ComponentName component, int flags, int userId) {
        return getActivityInfoInternal(component, flags, Binder.getCallingUid(), userId);
@@ -24025,15 +24042,13 @@ public class PackageManagerService extends IPackageManager.Stub
        }
        @Override
        public int getTargetSdkVersionForPackage(String packageName)
                throws RemoteException {
            int callingUser = UserHandle.getUserId(Binder.getCallingUid());
            ApplicationInfo info = getApplicationInfo(packageName, 0, callingUser);
            if (info == null) {
                throw new RemoteException(
                        "Couldn't get ApplicationInfo for package " + packageName);
        public int getTargetSdkVersionForPackage(String packageName) throws RemoteException {
            int targetSdk = getTargetSdkVersion(packageName);
            if (targetSdk != -1) {
                return targetSdk;
            }
            return info.targetSdkVersion;
            throw new RemoteException("Couldn't get targetSdkVersion for package " + packageName);
        }
        @Override