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

Commit be4cf584 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add API to mark apps that have an update available"

parents 07279227 ab53289c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -11242,6 +11242,7 @@ package android.content.pm {
    method public abstract boolean setDefaultBrowserPackageNameAsUser(java.lang.String, int);
    method public abstract void setInstallerPackageName(java.lang.String, java.lang.String);
    method public abstract boolean setInstantAppCookie(byte[]);
    method public abstract void setUpdateAvailable(java.lang.String, boolean);
    method public abstract boolean updateIntentVerificationStatusAsUser(java.lang.String, int, int);
    method public abstract void updatePermissionFlags(java.lang.String, java.lang.String, int, int, android.os.UserHandle);
    method public abstract void verifyIntentFilter(int, int, java.util.List<java.lang.String>);
@@ -44143,6 +44144,7 @@ package android.test.mock {
    method public boolean setDefaultBrowserPackageNameAsUser(java.lang.String, int);
    method public void setInstallerPackageName(java.lang.String, java.lang.String);
    method public boolean setInstantAppCookie(byte[]);
    method public void setUpdateAvailable(java.lang.String, boolean);
    method public boolean updateIntentVerificationStatusAsUser(java.lang.String, int, int);
    method public void updatePermissionFlags(java.lang.String, java.lang.String, int, int, android.os.UserHandle);
    method public void verifyIntentFilter(int, int, java.util.List<java.lang.String>);
+9 −0
Original line number Diff line number Diff line
@@ -1813,6 +1813,15 @@ public class ApplicationPackageManager extends PackageManager {
        }
    }

    @Override
    public void setUpdateAvailable(String packageName, boolean updateAvailable) {
        try {
            mPM.setUpdateAvailable(packageName, updateAvailable);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    @Override
    public String getInstallerPackageName(String packageName) {
        try {
+6 −0
Original line number Diff line number Diff line
@@ -608,6 +608,12 @@ interface IPackageManager {

    boolean setRequiredForSystemUser(String packageName, boolean systemUserApp);

    /**
     * Sets whether or not an update is available. Ostensibly for instant apps
     * to force exteranl resolution.
     */
    void setUpdateAvailable(String packageName, boolean updateAvaialble);

    String getServicesSystemSharedLibraryPackageName();
    String getSharedSystemSharedLibraryPackageName();

+5 −0
Original line number Diff line number Diff line
@@ -5286,6 +5286,11 @@ public abstract class PackageManager {
    public abstract void setInstallerPackageName(String targetPackage,
            String installerPackageName);

    /** @hide */
    @SystemApi
    @RequiresPermission(Manifest.permission.INSTALL_PACKAGES)
    public abstract void setUpdateAvailable(String packageName, boolean updateAvaialble);

    /**
     * Attempts to delete a package. Since this may take a little while, the
     * result will be posted back to the given observer. A deletion will fail if
+17 −0
Original line number Diff line number Diff line
@@ -12190,6 +12190,11 @@ public class PackageManagerService extends IPackageManager.Stub {
            if (!isInstantApp && userState.instantApp) {
                return null;
            }
            // throw out instant app filters if updates are available; will trigger
            // instant app resolution
            if (userState.instantApp && ps.isUpdateAvailable()) {
                return null;
            }
            final ResolveInfo res = new ResolveInfo();
            res.activityInfo = ai;
            if ((mFlags&PackageManager.GET_RESOLVED_FILTER) != 0) {
@@ -16885,6 +16890,7 @@ public class PackageManagerService extends IPackageManager.Stub {
            final PackageSetting ps = mSettings.mPackages.get(pkgName);
            if (ps != null) {
                res.newUsers = ps.queryInstalledUsers(sUserManager.getUserIds(), true);
                ps.setUpdateAvailable(false /*updateAvailable*/);
            }
            final int childCount = (pkg.childPackages != null) ? pkg.childPackages.size() : 0;
@@ -19673,6 +19679,17 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName());
        setEnabledSetting(appPackageName, null, newState, flags, userId, callingPackage);
    }
    @Override
    public void setUpdateAvailable(String packageName, boolean updateAvailable) {
        mContext.enforceCallingOrSelfPermission(android.Manifest.permission.INSTALL_PACKAGES, null);
        synchronized (mPackages) {
            final PackageSetting pkgSetting = mSettings.mPackages.get(packageName);
            if (pkgSetting != null) {
                pkgSetting.setUpdateAvailable(updateAvailable);
            }
        }
    }
    @Override
    public void setComponentEnabledSetting(ComponentName componentName,
            int newState, int flags, int userId) {
Loading