Merge "Sharesheet - Fix logic for a-z count" into rvc-dev am: c3e572fc74 am: 4ff6a77009 am: 01e6e2256b

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

Change-Id: Iaa107521905bbab57088245dfc8b12dfd85375c0
This commit is contained in:
Matt Pietal
2020-06-10 20:56:11 +00:00
committed by Automerger Merge Worker
3 changed files with 13 additions and 10 deletions

View File

@@ -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;
}
/**

View File

@@ -617,7 +617,8 @@ public class ResolverListAdapter extends BaseAdapter {
}
}
UserHandle getUserHandle() {
@VisibleForTesting
public UserHandle getUserHandle() {
return mResolverListController.getUserHandle();
}

View File

@@ -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