Merge "Sharesheet - Fix logic for a-z count" into rvc-dev am: c3e572fc74
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11820081 Change-Id: I5ca8993d647caf3f1affd3c0faf377d08993b1a6
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -617,7 +617,8 @@ public class ResolverListAdapter extends BaseAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
UserHandle getUserHandle() {
|
||||
@VisibleForTesting
|
||||
public UserHandle getUserHandle() {
|
||||
return mResolverListController.getUserHandle();
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user