Merge "Show 2nd row if we have 1 row in active profile and empty state in other" into rvc-dev am: d1fee56540 am: bac94e3998 am: 4810cdb9b6

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

Change-Id: If20f2f4df3b1d4daf06addc579e289cb121289ea
This commit is contained in:
TreeHugger Robot
2020-06-04 22:29:49 +00:00
committed by Automerger Merge Worker

View File

@@ -2654,6 +2654,7 @@ public class ChooserActivity extends ResolverActivity implements
if (recyclerView.getVisibility() == View.VISIBLE) {
int directShareHeight = 0;
rowsToShow = Math.min(4, rowsToShow);
boolean shouldShowExtraRow = shouldShowExtraRow(rowsToShow);
mLastNumberOfChildren = recyclerView.getChildCount();
for (int i = 0, childCount = recyclerView.getChildCount();
i < childCount && rowsToShow > 0; i++) {
@@ -2664,6 +2665,9 @@ public class ChooserActivity extends ResolverActivity implements
}
int height = child.getHeight();
offset += height;
if (shouldShowExtraRow) {
offset += height;
}
if (gridAdapter.getTargetType(
recyclerView.getChildAdapterPosition(child))
@@ -2698,6 +2702,18 @@ public class ChooserActivity extends ResolverActivity implements
}
}
/**
* If we have a tabbed view and are showing 1 row in the current profile and an empty
* state screen in the other profile, to prevent cropping of the empty state screen we show
* a second row in the current profile.
*/
private boolean shouldShowExtraRow(int rowsToShow) {
return shouldShowTabs()
&& rowsToShow == 1
&& mChooserMultiProfilePagerAdapter.shouldShowEmptyStateScreen(
mChooserMultiProfilePagerAdapter.getInactiveListAdapter());
}
/**
* Returns {@link #PROFILE_PERSONAL}, {@link #PROFILE_WORK}, or -1 if the given user handle
* does not match either the personal or work user handle.