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

Commit fc3bc609 authored by Tony Wickham's avatar Tony Wickham Committed by Android (Google) Code Review
Browse files

Merge "Explicitly set which taskbar view is visible at each caller" into sc-dev

parents 0b0c173e 6a74e659
Loading
Loading
Loading
Loading
+13 −18
Original line number Diff line number Diff line
@@ -89,7 +89,6 @@ public class TaskbarController {

    private @Nullable Animator mAnimator;
    private boolean mIsAnimatingToLauncher;
    private boolean mIsAnimatingToApp;

    public TaskbarController(BaseQuickstepLauncher launcher,
            TaskbarContainerView taskbarContainerView, TaskbarView taskbarViewOnHome) {
@@ -258,7 +257,9 @@ public class TaskbarController {
        mHotseatController.init();
        mRecentsController.init();

        updateWhichTaskbarViewIsVisible();
        setWhichTaskbarViewIsVisible(mLauncher.hasBeenResumed()
                ? mTaskbarViewOnHome
                : mTaskbarViewInApp);
    }

    private TaskbarStateHandlerCallbacks createTaskbarStateHandlerCallbacks() {
@@ -292,6 +293,8 @@ public class TaskbarController {
        mTaskbarAnimationController.cleanup();
        mHotseatController.cleanup();
        mRecentsController.cleanup();

        setWhichTaskbarViewIsVisible(null);
    }

    private void removeFromWindowManager() {
@@ -372,7 +375,7 @@ public class TaskbarController {
            @Override
            public void onAnimationEnd(Animator animation) {
                mIsAnimatingToLauncher = false;
                updateWhichTaskbarViewIsVisible();
                setWhichTaskbarViewIsVisible(mTaskbarViewOnHome);
            }
        });

@@ -385,14 +388,12 @@ public class TaskbarController {
        anim.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationStart(Animator animation) {
                mIsAnimatingToApp = true;
                mTaskbarViewInApp.updateHotseatItemsVisibility();
                updateWhichTaskbarViewIsVisible();
                setWhichTaskbarViewIsVisible(mTaskbarViewInApp);
            }

            @Override
            public void onAnimationEnd(Animator animation) {
                mIsAnimatingToApp = false;
            }
        });
        return anim.buildAnim();
@@ -495,18 +496,12 @@ public class TaskbarController {
                mTaskbarViewOnHome.getHeight() - hotseatBounds.bottom);
    }

    private void updateWhichTaskbarViewIsVisible() {
        boolean isInApp = !mLauncher.hasBeenResumed() || mIsAnimatingToLauncher
                || mIsAnimatingToApp;
        if (isInApp) {
            mTaskbarViewInApp.setVisibility(View.VISIBLE);
            mTaskbarViewOnHome.setVisibility(View.INVISIBLE);
            mLauncher.getHotseat().setIconsAlpha(0);
        } else {
            mTaskbarViewInApp.setVisibility(View.INVISIBLE);
            mTaskbarViewOnHome.setVisibility(View.VISIBLE);
            mLauncher.getHotseat().setIconsAlpha(1);
        }
    private void setWhichTaskbarViewIsVisible(@Nullable TaskbarView visibleTaskbar) {
        mTaskbarViewInApp.setVisibility(visibleTaskbar == mTaskbarViewInApp
                ? View.VISIBLE : View.INVISIBLE);
        mTaskbarViewOnHome.setVisibility(visibleTaskbar == mTaskbarViewOnHome
                ? View.VISIBLE : View.INVISIBLE);
        mLauncher.getHotseat().setIconsAlpha(visibleTaskbar != mTaskbarViewInApp ? 1f : 0f);
    }

    /**