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

Commit 29a2b110 authored by Sunny Goyal's avatar Sunny Goyal Committed by android-build-merger
Browse files

Merge "Hiding home handle while on home in no-button mode" into qt-dev

am: 702c5199

Change-Id: I4c6f425736ff84ed21d513b00ee16219240b4b74
parents 969c3d9b 702c5199
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -55,9 +55,16 @@ interface ISystemUiProxy {
    /**
     * Control the {@param alpha} of the back button in the navigation bar and {@param animate} if
     * needed from current value
     * @deprecated
     */
    void setBackButtonAlpha(float alpha, boolean animate) = 8;

    /**
     * Control the {@param alpha} of the option nav bar button (back-button in 2 button mode
     * and home bar in no-button mode) and {@param animate} if needed from current value
     */
    void setNavBarButtonAlpha(float alpha, boolean animate) = 19;

    /**
     * Proxies motion events from the homescreen UI to the status bar. Only called when
     * swipe down is detected on WORKSPACE. The sender guarantees the following order of events on
+18 −14
Original line number Diff line number Diff line
@@ -118,7 +118,7 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
    private boolean mBound;
    private boolean mIsEnabled;
    private int mCurrentBoundedUserId = -1;
    private float mBackButtonAlpha;
    private float mNavBarButtonAlpha;
    private MotionEvent mStatusBarGestureDownEvent;
    private float mWindowCornerRadius;
    private boolean mSupportsRoundedCornersOnWindows;
@@ -244,21 +244,24 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
        }

        @Override
        public void setBackButtonAlpha(float alpha, boolean animate) {
            if (!verifyCaller("setBackButtonAlpha")) {
        public void setNavBarButtonAlpha(float alpha, boolean animate) {
            if (!verifyCaller("setNavBarButtonAlpha")) {
                return;
            }
            long token = Binder.clearCallingIdentity();
            try {
                mBackButtonAlpha = alpha;
                mHandler.post(() -> {
                    notifyBackButtonAlphaChanged(alpha, animate);
                });
                mNavBarButtonAlpha = alpha;
                mHandler.post(() -> notifyNavBarButtonAlphaChanged(alpha, animate));
            } finally {
                Binder.restoreCallingIdentity(token);
            }
        }

        @Override
        public void setBackButtonAlpha(float alpha, boolean animate) {
            setNavBarButtonAlpha(alpha, animate);
        }

        @Override
        public void onAssistantProgress(@FloatRange(from = 0.0, to = 1.0) float progress) {
            if (!verifyCaller("onAssistantProgress")) {
@@ -470,7 +473,7 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
                .supportsRoundedCornersOnWindows(mContext.getResources());

        // Assumes device always starts with back button until launcher tells it that it does not
        mBackButtonAlpha = 1.0f;
        mNavBarButtonAlpha = 1.0f;

        // Listen for nav bar mode changes
        mNavBarMode = navModeController.addListener(this);
@@ -583,7 +586,7 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
    }

    public float getBackButtonAlpha() {
        return mBackButtonAlpha;
        return mNavBarButtonAlpha;
    }

    public void cleanupAfterDeath() {
@@ -655,7 +658,7 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
    public void addCallback(OverviewProxyListener listener) {
        mConnectionCallbacks.add(listener);
        listener.onConnectionChanged(mOverviewProxy != null);
        listener.onBackButtonAlphaChanged(mBackButtonAlpha, false);
        listener.onNavBarButtonAlphaChanged(mNavBarButtonAlpha, false);
        listener.onSystemUiStateChanged(mSysUiStateFlags);
    }

@@ -686,14 +689,14 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
        if (mOverviewProxy != null) {
            mOverviewProxy.asBinder().unlinkToDeath(mOverviewServiceDeathRcpt, 0);
            mOverviewProxy = null;
            notifyBackButtonAlphaChanged(1f, false /* animate */);
            notifyNavBarButtonAlphaChanged(1f, false /* animate */);
            notifyConnectionChanged();
        }
    }

    private void notifyBackButtonAlphaChanged(float alpha, boolean animate) {
    private void notifyNavBarButtonAlphaChanged(float alpha, boolean animate) {
        for (int i = mConnectionCallbacks.size() - 1; i >= 0; --i) {
            mConnectionCallbacks.get(i).onBackButtonAlphaChanged(alpha, animate);
            mConnectionCallbacks.get(i).onNavBarButtonAlphaChanged(alpha, animate);
        }
    }

@@ -784,7 +787,8 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
        default void onQuickStepStarted() {}
        default void onOverviewShown(boolean fromHome) {}
        default void onQuickScrubStarted() {}
        default void onBackButtonAlphaChanged(float alpha, boolean animate) {}
        /** Notify changes in the nav bar button alpha */
        default void onNavBarButtonAlphaChanged(float alpha, boolean animate) {}
        default void onSystemUiStateChanged(int sysuiStateFlags) {}
        default void onAssistantProgress(@FloatRange(from = 0.0, to = 1.0) float progress) {}
        default void onAssistantGestureCompletion(float velocity) {}
+10 −11
Original line number Diff line number Diff line
@@ -203,17 +203,16 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
        }

        @Override
        public void onBackButtonAlphaChanged(float alpha, boolean animate) {
            final ButtonDispatcher backButton = mNavigationBarView.getBackButton();
            final boolean useAltBack =
                    (mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) != 0;
            if (QuickStepContract.isGesturalMode(mNavBarMode) && !useAltBack) {
                // If property was changed to hide/show back button, going home will trigger
                // launcher to to change the back button alpha to reflect property change
                backButton.setVisibility(View.GONE);
            } else {
                backButton.setVisibility(alpha > 0 ? View.VISIBLE : View.INVISIBLE);
                backButton.setAlpha(alpha, animate);
        public void onNavBarButtonAlphaChanged(float alpha, boolean animate) {
            ButtonDispatcher buttonDispatcher = null;
            if (QuickStepContract.isSwipeUpMode(mNavBarMode)) {
                buttonDispatcher = mNavigationBarView.getBackButton();
            } else if (QuickStepContract.isGesturalMode(mNavBarMode)) {
                buttonDispatcher = mNavigationBarView.getHomeHandle();
            }
            if (buttonDispatcher != null) {
                buttonDispatcher.setVisibility(alpha > 0 ? View.VISIBLE : View.INVISIBLE);
                buttonDispatcher.setAlpha(alpha, animate);
            }
        }
    };