Call setAdapter from handleLayoutChanged.

Test: manual
Fixes: 150918223
Fixes: 150922090
Fixes: 151329221
Fixes: 151077241
Change-Id: I723634840cfdc40eb307f2ce4e170178692f12f3
This commit is contained in:
arangelov
2020-03-18 20:24:03 +00:00
committed by Antoan Angelov
parent 7d528431b9
commit 2731fa71fe

View File

@@ -2416,13 +2416,20 @@ public class ChooserActivity extends ResolverActivity implements
if (isLayoutUpdated
|| mLastNumberOfChildren != recyclerView.getChildCount()) {
mCurrAvailableWidth = availableWidth;
if (isLayoutUpdated
&& mChooserMultiProfilePagerAdapter.getCurrentUserHandle() != getUser()) {
// This fixes b/150936654 - empty work tab in share sheet when swiping
mChooserMultiProfilePagerAdapter.getActiveAdapterView()
.setAdapter(mChooserMultiProfilePagerAdapter.getCurrentRootAdapter());
if (isLayoutUpdated) {
// It is very important we call setAdapter from here. Otherwise in some cases
// the resolver list doesn't get populated, such as b/150922090, b/150918223
// and b/150936654
recyclerView.setAdapter(gridAdapter);
((GridLayoutManager) recyclerView.getLayoutManager()).setSpanCount(
gridAdapter.getMaxTargetsPerRow());
}
if (mChooserMultiProfilePagerAdapter.getCurrentUserHandle() != getUser()) {
return;
} else if (mChooserMultiProfilePagerAdapter.getCurrentUserHandle() != getUser()) {
}
if (mLastNumberOfChildren == recyclerView.getChildCount()) {
return;
}