diff options
author | Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> | 2024-05-17 21:34:05 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2024-05-17 21:34:05 +0000 |
commit | aa39856ae61b03ad3ff2c7972eb7ff79245cbafa (patch) | |
tree | 400e316b910d07087c31edd1b9e0589d53e6f1e6 | |
parent | e4596c37cbb7eb2242ce31b6bb73ebce906647fe (diff) | |
parent | 5f95234c95b68c988ec9ef4307d4ba21464c71ae (diff) |
Merge "Disable following applications at runtime" into u-keystone-qcom-dev
-rw-r--r-- | services/core/java/com/android/server/pm/InstallPackageHelper.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/InstallPackageHelper.java b/services/core/java/com/android/server/pm/InstallPackageHelper.java index f72e8ab353bc..7312b4282d74 100644 --- a/services/core/java/com/android/server/pm/InstallPackageHelper.java +++ b/services/core/java/com/android/server/pm/InstallPackageHelper.java @@ -248,6 +248,15 @@ final class InstallPackageHelper { */ 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); + + // TODO(b/198166813): remove PMS dependency InstallPackageHelper(PackageManagerService pm, AppDataHelper appDataHelper) { mPm = pm; @@ -265,6 +274,18 @@ final class InstallPackageHelper { mViewCompiler = pm.mInjector.getViewCompiler(); mSharedLibraries = pm.mInjector.getSharedLibrariesImpl(); mUpdateOwnershipHelper = pm.mInjector.getUpdateOwnershipHelper(); + + if (mQspaEnabled) { + mPackagesPathToBeDisabledForQSPA.add("/system_ext/priv-app/SystemUI"); + mPackagesPathToBeDisabledForQSPA.add("/system_ext/priv-app/Launcher3QuickStepGo"); + mPackagesPathToBeDisabledForQSPA.add("/system_ext/priv-app/Launcher3Go"); + mPackagesPathToBeDisabledForQSPA.add("/system/app/PrintSpooler"); + mPackagesPathToBeDisabledForQSPA.add("/system/priv-app/StatementService"); + mPackagesPathToBeDisabledForQSPA.add("/product/app/Calendar"); + } else { + mPackagesPathToBeDisabledForQSPA.add("/system_ext/app/HeadlessLauncher"); + } + } InstallPackageHelper(PackageManagerService pm) { @@ -3767,6 +3788,15 @@ final class InstallPackageHelper { cacher.cleanCachedResult(file); } + + if (mPackagesPathToBeDisabledForQSPA != null && + mPackagesPathToBeDisabledForQSPA.contains(file.toString())) { + // Ignore entries contained in {@link #mPackagesPathToBeDisabledForQSPA} + Slog.d(TAG, "QSPA is " + mQspaEnabled + " ignoring package for install : " + file); + continue; + } + + if (mPackagesToBeDisabled.values() != null && (mPackagesToBeDisabled.values().contains(file.toString()) || mPackagesToBeDisabled.values().stream().anyMatch(file.toString()::contains))) { |