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

Commit 4ff6a770 authored by Matt Pietal's avatar Matt Pietal Committed by Automerger Merge Worker
Browse files

Merge "Sharesheet - Fix logic for a-z count" into rvc-dev am: c3e572fc

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11820081

Change-Id: I5ca8993d647caf3f1affd3c0faf377d08993b1a6
parents 6550e43e c3e572fc
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -181,6 +181,7 @@ public class ChooserListAdapter extends ResolverListAdapter {
                    ri.icon = 0;
                }
                mCallerTargets.add(new DisplayResolveInfo(ii, ri, ii, makePresentationGetter(ri)));
                if (mCallerTargets.size() == MAX_SUGGESTED_APP_TARGETS) break;
            }
        }
    }
@@ -320,7 +321,7 @@ public class ChooserListAdapter extends ResolverListAdapter {


    public int getCallerTargetCount() {
        return Math.min(mCallerTargets.size(), MAX_SUGGESTED_APP_TARGETS);
        return mCallerTargets.size();
    }

    /**
@@ -346,8 +347,9 @@ public class ChooserListAdapter extends ResolverListAdapter {
    }

    int getAlphaTargetCount() {
        int standardCount = mSortedList.size();
        return standardCount > mChooserListCommunicator.getMaxRankedTargets() ? standardCount : 0;
        int groupedCount = mSortedList.size();
        int ungroupedCount = mCallerTargets.size() + mDisplayList.size();
        return ungroupedCount > mChooserListCommunicator.getMaxRankedTargets() ? groupedCount : 0;
    }

    /**
+2 −1
Original line number Diff line number Diff line
@@ -617,7 +617,8 @@ public class ResolverListAdapter extends BaseAdapter {
        }
    }

    UserHandle getUserHandle() {
    @VisibleForTesting
    public UserHandle getUserHandle() {
        return mResolverListController.getUserHandle();
    }

+6 −6
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static androidx.test.espresso.action.ViewActions.click;
import static androidx.test.espresso.action.ViewActions.swipeUp;
import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist;
import static androidx.test.espresso.assertion.ViewAssertions.matches;
import static androidx.test.espresso.matcher.ViewMatchers.hasSibling;
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static androidx.test.espresso.matcher.ViewMatchers.withText;
@@ -299,9 +300,8 @@ public class ChooserActivityTest {
    public void fourOptionsStackedIntoOneTarget() throws InterruptedException {
        Intent sendIntent = createSendTextIntent();

        // create 12 unique app targets to ensure the app ranking row can be filled, otherwise
        // targets will not stack
        List<ResolvedComponentInfo> resolvedComponentInfos = createResolvedComponentsForTest(12);
        // create just enough targets to ensure the a-z list should be shown
        List<ResolvedComponentInfo> resolvedComponentInfos = createResolvedComponentsForTest(1);

        // next create 4 targets in a single app that should be stacked into a single target
        String packageName = "xxx.yyy";
@@ -328,8 +328,8 @@ public class ChooserActivityTest {
                .launchActivity(Intent.createChooser(sendIntent, null));
        waitForIdle();

        // expect 12 unique targets + 1 group + 4 ranked app targets
        assertThat(activity.getAdapter().getCount(), is(17));
        // expect 1 unique targets + 1 group + 4 ranked app targets
        assertThat(activity.getAdapter().getCount(), is(6));

        ResolveInfo[] chosen = new ResolveInfo[1];
        sOverrides.onSafelyStartCallback = targetInfo -> {
@@ -337,7 +337,7 @@ public class ChooserActivityTest {
            return true;
        };

        onView(withText(appName)).perform(click());
        onView(allOf(withText(appName), hasSibling(withText("")))).perform(click());
        waitForIdle();

        // clicking will launch a dialog to choose the activity within the app