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

Commit 30de7530 authored by Tracy Zhou's avatar Tracy Zhou Committed by Android (Google) Code Review
Browse files

Merge "Fix task bar transitions applied to unfolded task bar" into main

parents 98d80946 c97138e9
Loading
Loading
Loading
Loading
+32 −15
Original line number Diff line number Diff line
@@ -247,8 +247,10 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
                ? context.getColor(R.color.taskbar_nav_icon_light_color)
                : context.getColor(R.color.taskbar_nav_icon_dark_color);

        if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
            mTaskbarTransitions = new TaskbarTransitions(mContext, mNavButtonsView);
        }
    }

    /**
     * Initializes the controller
@@ -359,7 +361,9 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
                R.bool.floating_rotation_button_position_left);
        mControllers.rotationButtonController.setRotationButton(mFloatingRotationButton,
                mRotationButtonListener);
        if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
            mTaskbarTransitions.init();
        }

        applyState();
        mPropertyHolders.forEach(StatePropertyHolder::endAnimation);
@@ -621,8 +625,10 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
    }

    public void setWallpaperVisible(boolean isVisible) {
        if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
            mTaskbarTransitions.setWallpaperVisibility(isVisible);
        }
    }

    public void onTransitionModeUpdated(int barMode, boolean checkBarModes) {
        mTransitionMode = barMode;
@@ -632,26 +638,33 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
    }

    public void checkNavBarModes() {
        if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
            boolean isBarHidden = (mSysuiStateFlags & SYSUI_STATE_NAV_BAR_HIDDEN) != 0;
            mTaskbarTransitions.transitionTo(mTransitionMode, !isBarHidden);
        }
    }

    public void finishBarAnimations() {
        if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
            mTaskbarTransitions.finishAnimations();
        }
    }

    public void touchAutoDim(boolean reset) {
        if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
            mTaskbarTransitions.setAutoDim(false);
            mHandler.removeCallbacks(mAutoDim);
            if (reset) {
                mHandler.postDelayed(mAutoDim, AUTODIM_TIMEOUT_MS);
            }
        }
    }

    public void transitionTo(@BarTransitions.TransitionMode int barMode,
            boolean animate) {
    public void transitionTo(@BarTransitions.TransitionMode int barMode, boolean animate) {
        if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
            mTaskbarTransitions.transitionTo(barMode, animate);
        }
    }

    /** Use to set the translationY for the all nav+contextual buttons */
    public AnimatedFloat getTaskbarNavButtonTranslationY() {
@@ -752,8 +765,10 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT

    private void onDarkIntensityChanged() {
        updateNavButtonColor();
        if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
            mTaskbarTransitions.onDarkIntensityChanged(mTaskbarNavButtonDarkIntensity.value);
        }
    }

    protected ImageView addButton(@DrawableRes int drawableId, @TaskbarButton int buttonType,
            ViewGroup parent, TaskbarNavButtonController navButtonController, @IdRes int id) {
@@ -1100,8 +1115,10 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
                + mOnBackgroundNavButtonColorOverrideMultiplier.value);

        mNavButtonsView.dumpLogs(prefix + "\t", pw);
        if (enableTaskbarOnPhones() && mContext.isPhoneButtonNavMode()) {
            mTaskbarTransitions.dumpLogs(prefix + "\t", pw);
        }
    }

    private static String getStateString(int flags) {
        StringJoiner str = new StringJoiner("|");