diff options
-rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 70ecaa7a458c..8ebb3a910f8f 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -896,6 +896,14 @@ public class PackageManagerService extends IPackageManager.Stub final private HashMap<String, String> mPackagesToBeDisabled = new HashMap<>(); /** + * Tracks packages that need to be disabled for QSPA enabled taregts. + * List of packages path on the file system. + */ + final private List<String> mPackagesPathToBeDisabledForQSPA = new ArrayList<String>(); + final private boolean mQspaEnabled = SystemProperties.getBoolean( + "ro.vendor.config.qspa.apps", false); + + /** * Tracks new system packages [received in an OTA] that we expect to * find updated user-installed versions. Keys are package name, values * are package location. @@ -7400,6 +7408,12 @@ public class PackageManagerService extends IPackageManager.Stub readListOfPackagesToBeDisabled(); t.traceEnd(); + mPackagesPathToBeDisabledForQSPA.add("/system_ext/priv-app/SystemUI"); + mPackagesPathToBeDisabledForQSPA.add("/system_ext/priv-app/Launcher3QuickStep"); + mPackagesPathToBeDisabledForQSPA.add("/system/app/PrintSpooler"); + mPackagesPathToBeDisabledForQSPA.add("/system/priv-app/StatementService"); + mPackagesPathToBeDisabledForQSPA.add("/product/app/Calendar"); + // Create sub-components that provide services / data. Order here is important. t.traceBegin("createSubComponents"); @@ -12061,6 +12075,15 @@ public class PackageManagerService extends IPackageManager.Stub continue; } + if (mQspaEnabled) { + if (mPackagesPathToBeDisabledForQSPA != null && + mPackagesPathToBeDisabledForQSPA.contains(file.toString())) { + // Ignore entries contained in {@link #mPackagesPathToBeDisabledForQSPA} + Slog.d(TAG, "QSPA enabled ignoring package for install : " + file); + continue; + } + } + if (mPackagesToBeDisabled.values() != null && mPackagesToBeDisabled.values().contains(file.toString())) { // Ignore entries contained in {@link #mPackagesToBeDisabled} |