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:
@@ -181,6 +181,7 @@ public class ChooserListAdapter extends ResolverListAdapter {
|
|||||||
ri.icon = 0;
|
ri.icon = 0;
|
||||||
}
|
}
|
||||||
mCallerTargets.add(new DisplayResolveInfo(ii, ri, ii, makePresentationGetter(ri)));
|
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() {
|
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 getAlphaTargetCount() {
|
||||||
int standardCount = mSortedList.size();
|
int groupedCount = mSortedList.size();
|
||||||
return standardCount > mChooserListCommunicator.getMaxRankedTargets() ? standardCount : 0;
|
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();
|
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.action.ViewActions.swipeUp;
|
||||||
import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist;
|
import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist;
|
||||||
import static androidx.test.espresso.assertion.ViewAssertions.matches;
|
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.isDisplayed;
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.withId;
|
import static androidx.test.espresso.matcher.ViewMatchers.withId;
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.withText;
|
import static androidx.test.espresso.matcher.ViewMatchers.withText;
|
||||||
@@ -299,9 +300,8 @@ public class ChooserActivityTest {
|
|||||||
public void fourOptionsStackedIntoOneTarget() throws InterruptedException {
|
public void fourOptionsStackedIntoOneTarget() throws InterruptedException {
|
||||||
Intent sendIntent = createSendTextIntent();
|
Intent sendIntent = createSendTextIntent();
|
||||||
|
|
||||||
// create 12 unique app targets to ensure the app ranking row can be filled, otherwise
|
// create just enough targets to ensure the a-z list should be shown
|
||||||
// targets will not stack
|
List<ResolvedComponentInfo> resolvedComponentInfos = createResolvedComponentsForTest(1);
|
||||||
List<ResolvedComponentInfo> resolvedComponentInfos = createResolvedComponentsForTest(12);
|
|
||||||
|
|
||||||
// next create 4 targets in a single app that should be stacked into a single target
|
// next create 4 targets in a single app that should be stacked into a single target
|
||||||
String packageName = "xxx.yyy";
|
String packageName = "xxx.yyy";
|
||||||
@@ -328,8 +328,8 @@ public class ChooserActivityTest {
|
|||||||
.launchActivity(Intent.createChooser(sendIntent, null));
|
.launchActivity(Intent.createChooser(sendIntent, null));
|
||||||
waitForIdle();
|
waitForIdle();
|
||||||
|
|
||||||
// expect 12 unique targets + 1 group + 4 ranked app targets
|
// expect 1 unique targets + 1 group + 4 ranked app targets
|
||||||
assertThat(activity.getAdapter().getCount(), is(17));
|
assertThat(activity.getAdapter().getCount(), is(6));
|
||||||
|
|
||||||
ResolveInfo[] chosen = new ResolveInfo[1];
|
ResolveInfo[] chosen = new ResolveInfo[1];
|
||||||
sOverrides.onSafelyStartCallback = targetInfo -> {
|
sOverrides.onSafelyStartCallback = targetInfo -> {
|
||||||
@@ -337,7 +337,7 @@ public class ChooserActivityTest {
|
|||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
onView(withText(appName)).perform(click());
|
onView(allOf(withText(appName), hasSibling(withText("")))).perform(click());
|
||||||
waitForIdle();
|
waitForIdle();
|
||||||
|
|
||||||
// clicking will launch a dialog to choose the activity within the app
|
// clicking will launch a dialog to choose the activity within the app
|
||||||
|
|||||||
Reference in New Issue
Block a user