Merge "Always restart apps if base.apk gets updated." into tm-dev am: 6d00054089

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17011524

Change-Id: I1b4df06b026ad2cd6920bf2bc1d4870c5e16323c
This commit is contained in:
Alex Buynytskyy
2022-03-05 06:01:52 +00:00
committed by Automerger Merge Worker
3 changed files with 21 additions and 0 deletions

View File

@@ -57,4 +57,5 @@ interface IPackageInstallerSession {
int getParentSessionId();
boolean isStaged();
int getInstallFlags();
}

View File

@@ -1585,6 +1585,18 @@ public class PackageInstaller {
}
}
/**
* @return Session's {@link SessionParams#installFlags}.
* @hide
*/
public int getInstallFlags() {
try {
return mSession.getInstallFlags();
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
}
/**
* @return the session ID of the multi-package session that this belongs to or
* {@link SessionInfo#INVALID_ID} if it does not belong to a multi-package session.

View File

@@ -2860,6 +2860,9 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
inheritFileLocked(mResolvedBaseFile);
// Collect the requiredSplitTypes from base
CollectionUtils.addAll(requiredSplitTypes, existing.getBaseRequiredSplitTypes());
} else {
// Installing base.apk. Make sure the app is restarted.
params.setDontKillApp(false);
}
// Inherit splits if not overridden.
@@ -3555,6 +3558,11 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
return params.isStaged;
}
@Override
public int getInstallFlags() {
return params.installFlags;
}
@Override
public DataLoaderParamsParcel getDataLoaderParams() {
mContext.enforceCallingOrSelfPermission(Manifest.permission.USE_INSTALLER_V2, null);