Include disabled activites in whitelist
To be able to immediately respond to a component going from disabled
to enabled state, we need to parse the disabled component. This is
particularly important for usage with activity-alias when an app
toggles between aliases in order to change the app icon.
Bug: 140236665
Test: Toggle driving state white phantoscope is running
Change-Id: Ic1eaae64437ab84c9a8c92b77baf8cded82ecd65
diff --git a/service/src/com/android/car/pm/CarAppMetadataReader.java b/service/src/com/android/car/pm/CarAppMetadataReader.java
index 648fded..3363d12 100644
--- a/service/src/com/android/car/pm/CarAppMetadataReader.java
+++ b/service/src/com/android/car/pm/CarAppMetadataReader.java
@@ -56,11 +56,13 @@
final PackageManager pm = context.getPackageManager();
// Check if any of the activities in the package are DO by checking all the
- // <activity> elements.
+ // <activity> elements. MATCH_DISABLED_COMPONENTS is included so that we are immediately
+ // prepared to respond to any components that toggle from disabled to enabled.
PackageInfo pkgInfo =
pm.getPackageInfoAsUser(
packageName, PackageManager.GET_ACTIVITIES
| PackageManager.GET_META_DATA
+ | PackageManager.MATCH_DISABLED_COMPONENTS
| PackageManager.MATCH_DIRECT_BOOT_AWARE
| PackageManager.MATCH_DIRECT_BOOT_UNAWARE,
userId);