diff options
| author | Antoan Angelov <arangelov@google.com> | 2020-03-11 15:36:09 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-03-11 15:36:09 +0000 |
| commit | 5527ace031ddbfce9bb52e767552c830ff4277af (patch) | |
| tree | 35f29b12bdd4f23c3b4a0fb97e840fe38b59d486 /core/java | |
| parent | d0effa24922fe8a7073e5bca1c819337f6ddbf09 (diff) | |
| parent | 19e1fea59099e4378f11e4f322cd673074ffbb33 (diff) | |
Merge "Call setAdapter from handleLayoutChange for the other profile" into rvc-dev
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/com/android/internal/app/ChooserActivity.java | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java index c487e960854b..c099301d2043 100644 --- a/core/java/com/android/internal/app/ChooserActivity.java +++ b/core/java/com/android/internal/app/ChooserActivity.java @@ -2398,17 +2398,20 @@ public class ChooserActivity extends ResolverActivity implements } final int availableWidth = right - left - v.getPaddingLeft() - v.getPaddingRight(); - if (mChooserMultiProfilePagerAdapter.getCurrentUserHandle() != getUser()) { - gridAdapter.calculateChooserTargetWidth(availableWidth); - return; - } - - if (gridAdapter.consumeLayoutRequest() + boolean isLayoutUpdated = gridAdapter.consumeLayoutRequest() || gridAdapter.calculateChooserTargetWidth(availableWidth) || recyclerView.getAdapter() == null - || mLastNumberOfChildren != recyclerView.getChildCount() - || availableWidth != mCurrAvailableWidth) { + || availableWidth != mCurrAvailableWidth; + 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()); + return; + } getMainThreadHandler().post(() -> { if (mResolverDrawerLayout == null || gridAdapter == null) { |
