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

Commit 691d5588 authored by Matthew Ng's avatar Matthew Ng
Browse files

Remove the ime listener to instead track from nav hints icon change

Follow up: ag/6932251

Bug: 112934365
Test: manual
Change-Id: I6034d66532d83d7f12b5e7d65610d4aa91b3533f
parent beeb4563
Loading
Loading
Loading
Loading
+14 −55
Original line number Diff line number Diff line
@@ -34,7 +34,6 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ParceledListSlice;
import android.content.res.Configuration;
import android.graphics.Canvas;
import android.graphics.Point;
@@ -48,8 +47,6 @@ import android.util.Log;
import android.util.Slog;
import android.util.SparseArray;
import android.view.Display;
import android.view.IPinnedStackController;
import android.view.IPinnedStackListener;
import android.view.MotionEvent;
import android.view.Surface;
import android.view.View;
@@ -237,45 +234,6 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
        }
    };

    private final IPinnedStackListener.Stub mImeChangedListener = new IPinnedStackListener.Stub() {
        @Override
        public void onListenerRegistered(IPinnedStackController controller) {
        }

        @Override
        public void onImeVisibilityChanged(boolean imeVisible, int imeHeight) {
            post(() -> {
                // TODO remove this and do below when mNavigationIconHints changes
                if (imeVisible) {
                    getBackButton().setVisibility(VISIBLE);
                    reloadNavIcons();
                } else {
                    getImeSwitchButton().setVisibility(GONE);
                }
                mImeVisible = imeVisible;
                updateWindowTouchable();
            });
        }

        @Override
        public void onShelfVisibilityChanged(boolean shelfVisible, int shelfHeight) {
        }

        @Override
        public void onMinimizedStateChanged(boolean isMinimized) {
        }

        @Override
        public void onMovementBoundsChanged(Rect insetBounds, Rect normalBounds,
                Rect animatingBounds, boolean fromImeAdjustment, boolean fromShelfAdjustment,
                int displayRotation) {
        }

        @Override
        public void onActionsChanged(ParceledListSlice actions) {
        }
    };

    private BroadcastReceiver mOverlaysChangedReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
@@ -559,10 +517,13 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav

    public void setNavigationIconHints(int hints) {
        if (hints == mNavigationIconHints) return;
        final boolean backAlt = (hints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) != 0;
        if ((mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) != 0 && !backAlt) {
            mTransitionListener.onBackAltCleared();
        final boolean newBackAlt = (hints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) != 0;
        final boolean oldBackAlt =
                (mNavigationIconHints & StatusBarManager.NAVIGATION_HINT_BACK_ALT) != 0;
        if (newBackAlt != oldBackAlt) {
            onImeVisibilityChanged(newBackAlt);
        }

        if (DEBUG) {
            android.widget.Toast.makeText(getContext(),
                "Navigation icon hints = " + hints,
@@ -572,6 +533,14 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
        updateNavButtonIcons();
    }

    private void onImeVisibilityChanged(boolean visible) {
        if (!visible) {
            mTransitionListener.onBackAltCleared();
        }
        mImeVisible = visible;
        updateWindowTouchable();
    }

    public void setDisabledFlags(int disabledFlags) {
        if (mDisabledFlags == disabledFlags) return;

@@ -1114,14 +1083,6 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
        filter.addDataScheme("package");
        getContext().registerReceiver(mOverlaysChangedReceiver, filter);
        mEdgeBackGestureHandler.onNavBarAttached();

        if (QuickStepContract.isGesturalMode(getContext())) {
            try {
                WindowManagerWrapper.getInstance().addPinnedStackListener(mImeChangedListener);
            } catch (RemoteException e) {
                Log.e(TAG, "Failed to register pinned stack listener", e);
            }
        }
        updateWindowTouchable();
    }

@@ -1139,8 +1100,6 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav

        getContext().unregisterReceiver(mOverlaysChangedReceiver);
        mEdgeBackGestureHandler.onNavBarDetached();

        WindowManagerWrapper.getInstance().removePinnedStackListener(mImeChangedListener);
    }

    private void setUpSwipeUpOnboarding(boolean connectedToOverviewProxy) {