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

Commit 42e26f0c authored by Jeff Sharkey's avatar Jeff Sharkey Committed by android-build-merger
Browse files

Merge "Omit icons from bulk SessionInfo calls." into oc-dr1-dev am: c017d299

am: 00c66f67

Change-Id: I200f39ef3dd3c336abd48e53a9b93e21f48a7dc0
parents ee3cced4 00c66f67
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.SystemApi;
import android.app.ActivityManager;
import android.app.AppGlobals;
import android.content.Intent;
import android.content.IntentSender;
import android.content.pm.PackageManager.InstallReason;
@@ -1355,6 +1356,16 @@ public class PackageInstaller {
         * if unavailable.
         */
        public @Nullable Bitmap getAppIcon() {
            if (appIcon == null) {
                // Icon may have been omitted for calls that return bulk session
                // lists, so try fetching the specific icon.
                try {
                    appIcon = AppGlobals.getPackageManager().getPackageInstaller()
                            .getSessionInfo(sessionId).appIcon;
                } catch (RemoteException e) {
                    throw e.rethrowFromSystemServer();
                }
            }
            return appIcon;
        }

+2 −2
Original line number Diff line number Diff line
@@ -848,7 +848,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub {
            for (int i = 0; i < mSessions.size(); i++) {
                final PackageInstallerSession session = mSessions.valueAt(i);
                if (session.userId == userId) {
                    result.add(session.generateInfo());
                    result.add(session.generateInfo(false));
                }
            }
        }
@@ -866,7 +866,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub {
                final PackageInstallerSession session = mSessions.valueAt(i);
                if (Objects.equals(session.installerPackageName, installerPackageName)
                        && session.userId == userId) {
                    result.add(session.generateInfo());
                    result.add(session.generateInfo(false));
                }
            }
        }
+7 −1
Original line number Diff line number Diff line
@@ -288,6 +288,10 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
    }

    public SessionInfo generateInfo() {
        return generateInfo(true);
    }

    public SessionInfo generateInfo(boolean includeIcon) {
        final SessionInfo info = new SessionInfo();
        synchronized (mLock) {
            info.sessionId = sessionId;
@@ -302,7 +306,9 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
            info.installReason = params.installReason;
            info.sizeBytes = params.sizeBytes;
            info.appPackageName = params.appPackageName;
            if (includeIcon) {
                info.appIcon = params.appIcon;
            }
            info.appLabel = params.appLabel;
        }
        return info;