Resolve the home intent with MATCH_DEFAULT_ONLY

When a 3rd party home app which doesn't have CATEGORY_DEFAULT and a
user clicks the home button, the ResolverActivity always comes out even
though the user clicked always on the ResolverActivity. This change
adds MATCH_DEFAULT_ONLY while resolving the home intent by consolidating
the intent resolving through ActivityTaskSupervisor#resolveIntent.

Bug: 245383780
Test: Install a 3rd party home app without CATEGORY_DEFAULT and click
the home button

Change-Id: If24f8531aeb91f38e247ed396677f76c4a62c719
This commit is contained in:
Jeongeun Song
2022-09-15 15:52:40 +09:00
committed by Louis Chang
parent 9b3af05b66
commit 99b514acb1

View File

@@ -1487,8 +1487,8 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
} else {
final String resolvedType =
homeIntent.resolveTypeIfNeeded(mService.mContext.getContentResolver());
final ResolveInfo info = AppGlobals.getPackageManager()
.resolveIntent(homeIntent, resolvedType, flags, userId);
final ResolveInfo info = mTaskSupervisor.resolveIntent(homeIntent, resolvedType,
userId, flags, Binder.getCallingUid());
if (info != null) {
aInfo = info.activityInfo;
}