diff options
-rw-r--r-- | aconfig/FeatureFlags.aconfig | 10 | ||||
-rw-r--r-- | java/src/com/android/intentresolver/ChooserActivity.java | 55 |
2 files changed, 21 insertions, 44 deletions
diff --git a/aconfig/FeatureFlags.aconfig b/aconfig/FeatureFlags.aconfig index f4fc0630..d3dfbc4c 100644 --- a/aconfig/FeatureFlags.aconfig +++ b/aconfig/FeatureFlags.aconfig @@ -26,16 +26,6 @@ flag { } flag { - name: "fix_missing_drawer_offset_calculation" - namespace: "intentresolver" - description: "Recalculate drawer offset upon the preview size change when the targets list remains unchanged" - bug: "347316548" - metadata { - purpose: PURPOSE_BUGFIX - } -} - -flag { name: "fix_shortcut_loader_job_leak" namespace: "intentresolver" description: "User a nested coroutine scope for shortcut loader instances" diff --git a/java/src/com/android/intentresolver/ChooserActivity.java b/java/src/com/android/intentresolver/ChooserActivity.java index c2c7dfab..92f366ea 100644 --- a/java/src/com/android/intentresolver/ChooserActivity.java +++ b/java/src/com/android/intentresolver/ChooserActivity.java @@ -23,7 +23,6 @@ import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTE import static androidx.lifecycle.LifecycleKt.getCoroutineScope; import static com.android.intentresolver.ChooserActionFactory.EDIT_SOURCE; -import static com.android.intentresolver.Flags.fixMissingDrawerOffsetCalculation; import static com.android.intentresolver.Flags.fixShortcutsFlashing; import static com.android.intentresolver.Flags.keyboardNavigationFix; import static com.android.intentresolver.Flags.rebuildAdaptersOnTargetPinning; @@ -2308,43 +2307,31 @@ public class ChooserActivity extends Hilt_ChooserActivity implements || recyclerView.getAdapter() == null || availableWidth != mCurrAvailableWidth; - boolean insetsChanged = !Objects.equals(mLastAppliedInsets, mSystemWindowInsets); - - if (isLayoutUpdated - || insetsChanged - || mLastNumberOfChildren != recyclerView.getChildCount() - || fixMissingDrawerOffsetCalculation()) { - mCurrAvailableWidth = availableWidth; - 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( - mMaxTargetsPerRow); - - updateTabPadding(); - } + mCurrAvailableWidth = availableWidth; + 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( + mMaxTargetsPerRow); - if (mChooserMultiProfilePagerAdapter.getActiveProfile() != mInitialProfile) { - return; - } + updateTabPadding(); + } + + if (mChooserMultiProfilePagerAdapter.getActiveProfile() != mInitialProfile) { + return; + } - if (mLastNumberOfChildren == recyclerView.getChildCount() && !insetsChanged - && !fixMissingDrawerOffsetCalculation()) { + getMainThreadHandler().post(() -> { + if (mResolverDrawerLayout == null || gridAdapter == null) { return; } - - getMainThreadHandler().post(() -> { - if (mResolverDrawerLayout == null || gridAdapter == null) { - return; - } - int offset = calculateDrawerOffset(top, bottom, recyclerView, gridAdapter); - mResolverDrawerLayout.setCollapsibleHeightReserved(offset); - mEnterTransitionAnimationDelegate.markOffsetCalculated(); - mLastAppliedInsets = mSystemWindowInsets; - }); - } + int offset = calculateDrawerOffset(top, bottom, recyclerView, gridAdapter); + mResolverDrawerLayout.setCollapsibleHeightReserved(offset); + mEnterTransitionAnimationDelegate.markOffsetCalculated(); + mLastAppliedInsets = mSystemWindowInsets; + }); } private int calculateDrawerOffset( |