Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0ff1e7ef authored by Joshua Trask's avatar Joshua Trask
Browse files

Clean up old shim from private-space integration

At the time of the initial integration, `ResolveInfo.userHandle`
didn't exist / wasn't guaranteed to be populated, and this shim let
us prepare to use that property once it was available while falling
back on some placeholder value. That transition is now complete, so
this CL inlines the shim implementation everywhere it was called.

This is a trivial refactoring.

Bug: 364732048
Test: Build/presubmit
Flag: EXEMPT refactor
Change-Id: I770ef54614e838eb4af83c2d319661380cf9ff6f
parent 87dd3ef4
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -1866,9 +1866,7 @@ public class ChooserActivity extends ResolverActivity implements
                Bundle b = new Bundle();
                // Add userHandle based badge to the stackedAppDialogBox.
                b.putParcelable(ChooserTargetActionsDialogFragment.USER_HANDLE_KEY,
                        getResolveInfoUserHandle(
                                targetInfo.getResolveInfo(),
                                mChooserMultiProfilePagerAdapter.getCurrentUserHandle()));
                        targetInfo.getResolveInfo().userHandle);
                b.putObject(ChooserStackedAppDialogFragment.MULTI_DRI_KEY,
                        mti);
                b.putInt(ChooserStackedAppDialogFragment.WHICH_KEY, which);
@@ -2448,10 +2446,7 @@ public class ChooserActivity extends ResolverActivity implements
            //  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());
                            displayResolveInfo.getResolveInfo().userHandle.getIdentifier());
        }

        @Override
+1 −2
Original line number Diff line number Diff line
@@ -362,8 +362,7 @@ public class ChooserListAdapter extends ResolverListAdapter {
                    }
                    String resolvedTarget = info.getResolvedComponentName().getPackageName()
                            + '#' + info.getDisplayLabel()
                            + '#' + ResolverActivity.getResolveInfoUserHandle(
                                    info.getResolveInfo(), getUserHandle()).getIdentifier();
                            + '#' + info.getResolveInfo().userHandle.getIdentifier();
                    DisplayResolveInfo multiDri = consolidated.get(resolvedTarget);
                    if (multiDri == null) {
                        consolidated.put(resolvedTarget, info);
+2 −19
Original line number Diff line number Diff line
@@ -1602,8 +1602,7 @@ public class ResolverActivity extends Activity implements
        // 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
        // identifies the correct user space in such cases.
        UserHandle activityUserHandle = getResolveInfoUserHandle(
                cti.getResolveInfo(), mMultiProfilePagerAdapter.getCurrentUserHandle());
        UserHandle activityUserHandle = cti.getResolveInfo().userHandle;
        safelyStartActivityAsUser(cti, activityUserHandle, null);
    }

@@ -2396,11 +2395,7 @@ public class ResolverActivity extends Activity 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);
    }

    protected String getMetricsCategory() {
@@ -2683,18 +2678,6 @@ public class ResolverActivity extends Activity 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) {
        if (resolveInfo.userHandle == null) {
            Log.e(TAG, "ResolveInfo with null UserHandle found: " + resolveInfo);
        }
        return resolveInfo.userHandle;
    }

    private boolean privateSpaceEnabled() {
        return mIsIntentPicker && android.os.Flags.allowPrivateProfile()
                && android.multiuser.Flags.allowResolverSheetForPrivateSpace()
+1 −2
Original line number Diff line number Diff line
@@ -747,8 +747,7 @@ public class ResolverListAdapter extends BaseAdapter {
    Drawable loadIconForResolveInfo(ResolveInfo ri) {
        // Load icons based on userHandle from ResolveInfo. If in work profile/clone profile, icons
        // should be badged.
        return makePresentationGetter(ri)
                .getIcon(ResolverActivity.getResolveInfoUserHandle(ri, getUserHandle()));
        return makePresentationGetter(ri).getIcon(ri.userHandle);
    }

    void loadFilteredItemIconTaskAsync(@NonNull ImageView iconView) {