diff options
author | Arvind Kumar <quic_c_karvin@quicinc.com> | 2022-04-07 08:56:17 +0530 |
---|---|---|
committer | Arvind Kumar <quic_c_karvin@quicinc.com> | 2022-05-26 10:41:00 +0530 |
commit | c88eb224fa9d2394af338cf0204c783c9f9b041e (patch) | |
tree | 8774057b394ad1613f4315ff011016a84bef1dfb /services | |
parent | 15d9159eb00fb7fd92f9dc249af588f655fd8f66 (diff) |
Disable following application at runtime
Disable following application from installation
at runtime for QSPA enabled targets.
1- SystemUI
2- Launcher
3- PrintSpooler
4- StatementService
5- Calendar
CRs-Fixed: 3206324
Change-Id: Ifd2c172f2582deb57fb131a9cdeb1eba11a29cf5
Diffstat (limited to 'services')
-rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 22 |
1 files changed, 22 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..3014b89651a1 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -896,6 +896,13 @@ 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.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 +7407,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 +12074,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} |