diff options
| author | 2023-07-06 20:38:19 +0000 | |
|---|---|---|
| committer | 2023-07-06 20:38:19 +0000 | |
| commit | 8215c15cff272d17219164bd92cab1bebce9044d (patch) | |
| tree | c60f419ca3d781c912f0e09fb618eb8397043898 /java | |
| parent | 64e2cf277790571bed1fa0bae75f617c709c2dcf (diff) | |
| parent | 8ad27b4ab8bc802d5c5b564db29ab72dfb0c5ab3 (diff) | |
Merge "Clean up ResolverActivity.getResolveInfoUserHandle" into udc-qpr-dev
Diffstat (limited to 'java')
5 files changed, 20 insertions, 49 deletions
diff --git a/java/src/com/android/intentresolver/ChooserActivity.java b/java/src/com/android/intentresolver/ChooserActivity.java index 2c1b8d2a..3409ca0a 100644 --- a/java/src/com/android/intentresolver/ChooserActivity.java +++ b/java/src/com/android/intentresolver/ChooserActivity.java @@ -849,9 +849,7 @@ public class ChooserActivity extends ResolverActivity implements targetList, // Adding userHandle from ResolveInfo allows the app icon in Dialog Box to be // resolved correctly within the same tab. - getResolveInfoUserHandle( - targetInfo.getResolveInfo(), - mChooserMultiProfilePagerAdapter.getCurrentUserHandle()), + targetInfo.getResolveInfo().userHandle, shortcutIdKey, shortcutTitle, isShortcutPinned, @@ -892,9 +890,7 @@ public class ChooserActivity extends ResolverActivity implements getSupportFragmentManager(), mti, which, - getResolveInfoUserHandle( - targetInfo.getResolveInfo(), - mChooserMultiProfilePagerAdapter.getCurrentUserHandle())); + targetInfo.getResolveInfo().userHandle); return; } } @@ -1112,11 +1108,7 @@ public class ChooserActivity extends ResolverActivity implements // Adding two stage comparator, first stage compares using displayLabel, next stage // compares using resolveInfo.userHandle mComparator = Comparator.comparing(DisplayResolveInfo::getDisplayLabel, collator) - .thenComparingInt(displayResolveInfo -> - getResolveInfoUserHandle( - displayResolveInfo.getResolveInfo(), - // TODO: User resolveInfo.userHandle, once its available. - UserHandle.SYSTEM).getIdentifier()); + .thenComparingInt(target -> target.getResolveInfo().userHandle.getIdentifier()); } @Override diff --git a/java/src/com/android/intentresolver/ChooserListAdapter.java b/java/src/com/android/intentresolver/ChooserListAdapter.java index b1fa16b0..de947bd1 100644 --- a/java/src/com/android/intentresolver/ChooserListAdapter.java +++ b/java/src/com/android/intentresolver/ChooserListAdapter.java @@ -384,8 +384,7 @@ public class ChooserListAdapter extends ResolverListAdapter { .collect(Collectors.groupingBy(target -> target.getResolvedComponentName().getPackageName() + "#" + target.getDisplayLabel() - + '#' + ResolverActivity.getResolveInfoUserHandle( - target.getResolveInfo(), getUserHandle()).getIdentifier() + + '#' + target.getResolveInfo().userHandle.getIdentifier() )) .values() .stream() diff --git a/java/src/com/android/intentresolver/ResolverActivity.java b/java/src/com/android/intentresolver/ResolverActivity.java index d0d8aa66..5057d321 100644 --- a/java/src/com/android/intentresolver/ResolverActivity.java +++ b/java/src/com/android/intentresolver/ResolverActivity.java @@ -1658,10 +1658,9 @@ public class ResolverActivity extends FragmentActivity implements /** Start the activity specified by the {@link TargetInfo}.*/ public final void safelyStartActivity(TargetInfo cti) { // In case cloned apps are present, we would want to start those apps in cloned user - // space, which will not be same as adaptor's userHandle. resolveInfo.userHandle + // space, which will not be same as the adapter's userHandle. resolveInfo.userHandle // identifies the correct user space in such cases. - UserHandle activityUserHandle = getResolveInfoUserHandle( - cti.getResolveInfo(), mMultiProfilePagerAdapter.getCurrentUserHandle()); + UserHandle activityUserHandle = cti.getResolveInfo().userHandle; safelyStartActivityAsUser(cti, activityUserHandle, null); } @@ -2276,11 +2275,7 @@ public class ResolverActivity extends FragmentActivity implements && Objects.equals(lhs.activityInfo.packageName, rhs.activityInfo.packageName) // Comparing against resolveInfo.userHandle in case cloned apps are present, // as they will have the same activityInfo. - && Objects.equals( - getResolveInfoUserHandle(lhs, - mMultiProfilePagerAdapter.getActiveListAdapter().getUserHandle()), - getResolveInfoUserHandle(rhs, - mMultiProfilePagerAdapter.getActiveListAdapter().getUserHandle())); + && Objects.equals(lhs.userHandle, rhs.userHandle); } private boolean inactiveListAdapterHasItems() { @@ -2418,13 +2413,4 @@ public class ResolverActivity extends FragmentActivity implements } return userList; } - - /** - * This function is temporary in nature, and its usages will be replaced with just - * resolveInfo.userHandle, once it is available, once sharesheet is stable. - */ - public static UserHandle getResolveInfoUserHandle(ResolveInfo resolveInfo, - UserHandle predictedHandle) { - return resolveInfo.userHandle; - } } diff --git a/java/src/com/android/intentresolver/icons/LoadIconTask.java b/java/src/com/android/intentresolver/icons/LoadIconTask.java index 37ce4093..75132208 100644 --- a/java/src/com/android/intentresolver/icons/LoadIconTask.java +++ b/java/src/com/android/intentresolver/icons/LoadIconTask.java @@ -24,7 +24,6 @@ import android.os.Trace; import android.os.UserHandle; import android.util.Log; -import com.android.intentresolver.ResolverActivity; import com.android.intentresolver.TargetPresentationGetter; import com.android.intentresolver.chooser.DisplayResolveInfo; @@ -64,8 +63,7 @@ class LoadIconTask extends BaseLoadIconTask { protected final Drawable loadIconForResolveInfo(ResolveInfo ri) { // Load icons based on userHandle from ResolveInfo. If in work profile/clone profile, icons // should be badged. - return mPresentationFactory.makePresentationGetter(ri) - .getIcon(ResolverActivity.getResolveInfoUserHandle(ri, mUserHandle)); + return mPresentationFactory.makePresentationGetter(ri).getIcon(ri.userHandle); } } diff --git a/java/tests/src/com/android/intentresolver/ResolverDataProvider.java b/java/tests/src/com/android/intentresolver/ResolverDataProvider.java index 688dd867..1f8d9bee 100644 --- a/java/tests/src/com/android/intentresolver/ResolverDataProvider.java +++ b/java/tests/src/com/android/intentresolver/ResolverDataProvider.java @@ -103,30 +103,26 @@ public class ResolverDataProvider { } public static ResolveInfo createResolveInfo(int i, int userId) { - final ResolveInfo resolveInfo = new ResolveInfo(); - resolveInfo.activityInfo = createActivityInfo(i); - resolveInfo.targetUserId = userId; - return resolveInfo; + return createResolveInfo(i, userId, UserHandle.of(userId)); } + public static ResolveInfo createResolveInfo(int i, int userId, UserHandle resolvedForUser) { - final ResolveInfo resolveInfo = new ResolveInfo(); - resolveInfo.activityInfo = createActivityInfo(i); - resolveInfo.targetUserId = userId; - resolveInfo.userHandle = resolvedForUser; - return resolveInfo; + return createResolveInfo(createActivityInfo(i), userId, resolvedForUser); } public static ResolveInfo createResolveInfo(ComponentName componentName, int userId) { - final ResolveInfo resolveInfo = new ResolveInfo(); - resolveInfo.activityInfo = createActivityInfo(componentName); - resolveInfo.targetUserId = userId; - return resolveInfo; + return createResolveInfo(componentName, userId, UserHandle.of(userId)); } - public static ResolveInfo createResolveInfo(ComponentName componentName, int userId, - UserHandle resolvedForUser) { + public static ResolveInfo createResolveInfo( + ComponentName componentName, int userId, UserHandle resolvedForUser) { + return createResolveInfo(createActivityInfo(componentName), userId, resolvedForUser); + } + + public static ResolveInfo createResolveInfo( + ActivityInfo activityInfo, int userId, UserHandle resolvedForUser) { final ResolveInfo resolveInfo = new ResolveInfo(); - resolveInfo.activityInfo = createActivityInfo(componentName); + resolveInfo.activityInfo = activityInfo; resolveInfo.targetUserId = userId; resolveInfo.userHandle = resolvedForUser; return resolveInfo; |