Enable default stopped state for system apps
This change adds a few additional exceptions for system apps to start in the default stopped state and turns the feature on. Bug: 269129704 Test: inspect output of pm list packages --show-stopped Change-Id: Ia07877356c3522a449c611e12eba787018a3d35f
This commit is contained in:
committed by
Martijn Coenen
parent
8dfb7017df
commit
9c1aeb8dad
@@ -6360,7 +6360,7 @@
|
||||
Packages can be added by OEMs in an allowlist, to prevent them from being scanned as
|
||||
"stopped" during initial boot of a device, or after an OTA update. Stopped state of
|
||||
an app is not changed during subsequent reboots. -->
|
||||
<bool name="config_stopSystemPackagesByDefault">false</bool>
|
||||
<bool name="config_stopSystemPackagesByDefault">true</bool>
|
||||
|
||||
<!-- Whether to show weather on the lock screen by default. -->
|
||||
<bool name="config_lockscreenWeatherEnabledByDefault">false</bool>
|
||||
|
||||
@@ -4312,12 +4312,22 @@ final class InstallPackageHelper {
|
||||
|
||||
// A new application appeared on /system, and we are seeing it for the first time.
|
||||
// Its also not updated as we don't have a copy of it on /data. So, scan it in a
|
||||
// STOPPED state. Ignore if it's an APEX package since stopped state does not affect them.
|
||||
// STOPPED state.
|
||||
// We'll skip this step under the following conditions:
|
||||
// - It's "android"
|
||||
// - It's an APEX or overlay package since stopped state does not affect them.
|
||||
// - It is enumerated with a <initial-package-state> tag having the stopped attribute
|
||||
// set to false
|
||||
final boolean isApexPkg = (scanFlags & SCAN_AS_APEX) != 0;
|
||||
if (mPm.mShouldStopSystemPackagesByDefault && scanSystemPartition
|
||||
&& !pkgAlreadyExists && !isApexPkg) {
|
||||
if (mPm.mShouldStopSystemPackagesByDefault
|
||||
&& scanSystemPartition
|
||||
&& !pkgAlreadyExists
|
||||
&& !isApexPkg
|
||||
&& !parsedPackage.isOverlayIsStatic()
|
||||
) {
|
||||
String packageName = parsedPackage.getPackageName();
|
||||
if (!mPm.mInitialNonStoppedSystemPackages.contains(packageName)) {
|
||||
if (!mPm.mInitialNonStoppedSystemPackages.contains(packageName)
|
||||
&& !"android".contentEquals(packageName)) {
|
||||
scanFlags |= SCAN_AS_STOPPED_SYSTEM_APP;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user