Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 216ae0f7 authored by Fengjiang Li's avatar Fengjiang Li Committed by Android (Google) Code Review
Browse files

Merge "Fix NPE of predictive back in TaskbarAllAppsSlideInView" into udc-dev

parents 826a5c8e 55e648f6
Loading
Loading
Loading
Loading
+17 −10
Original line number Diff line number Diff line
@@ -71,13 +71,6 @@ public class TaskbarAllAppsSlideInView extends AbstractSlideInView<TaskbarOverla
        } else {
            mTranslationShift = TRANSLATION_SHIFT_OPENED;
        }

        if (FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get()) {
            mAppsView.getAppsRecyclerViewContainer().setOutlineProvider(mViewOutlineProvider);
            mAppsView.getAppsRecyclerViewContainer().setClipToOutline(true);
            findOnBackInvokedDispatcher().registerOnBackInvokedCallback(
                    OnBackInvokedDispatcher.PRIORITY_DEFAULT, this);
        }
    }

    /** The apps container inside this view. */
@@ -88,9 +81,6 @@ public class TaskbarAllAppsSlideInView extends AbstractSlideInView<TaskbarOverla
    @Override
    protected void handleClose(boolean animate) {
        handleClose(animate, mAllAppsCallbacks.getCloseDuration());
        if (FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get()) {
            findOnBackInvokedDispatcher().unregisterOnBackInvokedCallback(this);
        }
    }

    @Override
@@ -121,12 +111,29 @@ public class TaskbarAllAppsSlideInView extends AbstractSlideInView<TaskbarOverla
    protected void onAttachedToWindow() {
        super.onAttachedToWindow();
        mActivityContext.addOnDeviceProfileChangeListener(this);
        if (FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get()) {
            mAppsView.getAppsRecyclerViewContainer().setOutlineProvider(mViewOutlineProvider);
            mAppsView.getAppsRecyclerViewContainer().setClipToOutline(true);
            OnBackInvokedDispatcher dispatcher = findOnBackInvokedDispatcher();
            if (dispatcher != null) {
                dispatcher.registerOnBackInvokedCallback(
                        OnBackInvokedDispatcher.PRIORITY_DEFAULT, this);
            }
        }
    }

    @Override
    protected void onDetachedFromWindow() {
        super.onDetachedFromWindow();
        mActivityContext.removeOnDeviceProfileChangeListener(this);
        if (FeatureFlags.ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION.get()) {
            mAppsView.getAppsRecyclerViewContainer().setOutlineProvider(null);
            mAppsView.getAppsRecyclerViewContainer().setClipToOutline(false);
            OnBackInvokedDispatcher dispatcher = findOnBackInvokedDispatcher();
            if (dispatcher != null) {
                dispatcher.unregisterOnBackInvokedCallback(this);
            }
        }
    }

    @Override
+1 −1
Original line number Diff line number Diff line
@@ -182,7 +182,7 @@ public final class FeatureFlags {
    // TODO(Block 10): Clean up flags
    public static final BooleanFlag ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION = getDebugFlag(270614790,
            "ENABLE_BACK_SWIPE_LAUNCHER_ANIMATION", DISABLED,
            "Enables predictive back aniamtion from all apps and widgets to home");
            "Enables predictive back animation from all apps and widgets to home");

    // TODO(Block 11): Clean up flags
    public static final BooleanFlag ENABLE_TWO_PANEL_HOME = getDebugFlag(270392643,