Add AppButtonRepositoryTest

Bug: 236346018
Test: Unit test
Change-Id: I174bad92ef5357ba0ea0e32cb0435d700a11dc51
This commit is contained in:
Chaohui Wang
2022-10-19 19:52:05 +08:00
parent cb7fa280f3
commit 402744eb36
2 changed files with 154 additions and 6 deletions

View File

@@ -60,13 +60,12 @@ class AppButtonRepository(private val context: Context) {
val homePackages = mutableSetOf<String>()
val homeActivities = ArrayList<ResolveInfo>()
val currentDefaultHome = packageManager.getHomeActivities(homeActivities)
homeActivities.map { it.activityInfo }.forEach {
homePackages.add(it.packageName)
homeActivities.mapNotNull { it.activityInfo }.forEach { activityInfo ->
homePackages.add(activityInfo.packageName)
// Also make sure to include anything proxying for the home app
val metaPackageName = it.metaData?.getString(ActivityManager.META_HOME_ALTERNATE)
if (metaPackageName != null && signaturesMatch(metaPackageName, it.packageName)) {
homePackages.add(metaPackageName)
}
activityInfo.metaData?.getString(ActivityManager.META_HOME_ALTERNATE)
?.takeIf { signaturesMatch(it, activityInfo.packageName) }
?.let { homePackages.add(it) }
}
return HomePackages(homePackages, currentDefaultHome)
}