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

Commit 02cf67ea authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Respect CentralSurfaces being optional in NavBarHelper" into tm-qpr-dev am: 8415396e

parents 5e35856f 8415396e
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ import android.view.accessibility.AccessibilityManager;

import androidx.annotation.NonNull;

import com.android.keyguard.KeyguardViewController;
import com.android.systemui.Dumpable;
import com.android.systemui.accessibility.AccessibilityButtonModeObserver;
import com.android.systemui.accessibility.AccessibilityButtonTargetsObserver;
@@ -89,6 +90,7 @@ public final class NavBarHelper implements
    private final AccessibilityManager mAccessibilityManager;
    private final Lazy<AssistManager> mAssistManagerLazy;
    private final Lazy<Optional<CentralSurfaces>> mCentralSurfacesOptionalLazy;
    private final KeyguardViewController mKeyguardViewController;
    private final UserTracker mUserTracker;
    private final SystemActions mSystemActions;
    private final AccessibilityButtonModeObserver mAccessibilityButtonModeObserver;
@@ -123,6 +125,7 @@ public final class NavBarHelper implements
            OverviewProxyService overviewProxyService,
            Lazy<AssistManager> assistManagerLazy,
            Lazy<Optional<CentralSurfaces>> centralSurfacesOptionalLazy,
            KeyguardViewController keyguardViewController,
            NavigationModeController navigationModeController,
            UserTracker userTracker,
            DumpManager dumpManager) {
@@ -131,6 +134,7 @@ public final class NavBarHelper implements
        mAccessibilityManager = accessibilityManager;
        mAssistManagerLazy = assistManagerLazy;
        mCentralSurfacesOptionalLazy = centralSurfacesOptionalLazy;
        mKeyguardViewController = keyguardViewController;
        mUserTracker = userTracker;
        mSystemActions = systemActions;
        accessibilityManager.addAccessibilityServicesStateChangeListener(this);
@@ -317,8 +321,12 @@ public final class NavBarHelper implements
     * {@link InputMethodService} and the keyguard states.
     */
    public boolean isImeShown(int vis) {
        View shadeWindowView = mCentralSurfacesOptionalLazy.get().get().getNotificationShadeWindowView();
        boolean isKeyguardShowing = mCentralSurfacesOptionalLazy.get().get().isKeyguardShowing();
        View shadeWindowView = null;
        if (mCentralSurfacesOptionalLazy.get().isPresent()) {
            shadeWindowView =
                    mCentralSurfacesOptionalLazy.get().get().getNotificationShadeWindowView();
        }
        boolean isKeyguardShowing = mKeyguardViewController.isShowing();
        boolean imeVisibleOnShade = shadeWindowView != null && shadeWindowView.isAttachedToWindow()
                && shadeWindowView.getRootWindowInsets().isVisible(WindowInsets.Type.ime());
        return imeVisibleOnShade
+2 −1
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import android.view.accessibility.AccessibilityManager;
import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;

import com.android.keyguard.KeyguardViewController;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.accessibility.AccessibilityButtonModeObserver;
import com.android.systemui.accessibility.AccessibilityButtonTargetsObserver;
@@ -112,7 +113,7 @@ public class NavBarHelperTest extends SysuiTestCase {
        mNavBarHelper = new NavBarHelper(mContext, mAccessibilityManager,
                mAccessibilityButtonModeObserver, mAccessibilityButtonTargetObserver,
                mSystemActions, mOverviewProxyService, mAssistManagerLazy,
                () -> Optional.of(mock(CentralSurfaces.class)),
                () -> Optional.of(mock(CentralSurfaces.class)), mock(KeyguardViewController.class),
                mNavigationModeController, mUserTracker, mDumpManager);

    }
+6 −3
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ import androidx.test.filters.SmallTest;

import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.UiEventLogger;
import com.android.keyguard.KeyguardViewController;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.SysuiTestableContext;
import com.android.systemui.accessibility.AccessibilityButtonModeObserver;
@@ -193,6 +194,8 @@ public class NavigationBarTest extends SysuiTestCase {
    @Mock
    private CentralSurfaces mCentralSurfaces;
    @Mock
    private KeyguardViewController mKeyguardViewController;
    @Mock
    private UserContextProvider mUserContextProvider;
    @Mock
    private Resources mResources;
@@ -237,8 +240,8 @@ public class NavigationBarTest extends SysuiTestCase {
                    mock(AccessibilityButtonTargetsObserver.class),
                    mSystemActions, mOverviewProxyService,
                    () -> mock(AssistManager.class), () -> Optional.of(mCentralSurfaces),
                    mock(NavigationModeController.class), mock(UserTracker.class),
                    mock(DumpManager.class)));
                    mKeyguardViewController, mock(NavigationModeController.class),
                    mock(UserTracker.class), mock(DumpManager.class)));
            mNavigationBar = createNavBar(mContext);
            mExternalDisplayNavigationBar = createNavBar(mSysuiTestableContextExternal);
        });
@@ -377,7 +380,7 @@ public class NavigationBarTest extends SysuiTestCase {

        // Verify navbar didn't alter and showing back icon when the keyguard is showing without
        // requesting IME insets visible.
        doReturn(true).when(mCentralSurfaces).isKeyguardShowing();
        doReturn(true).when(mKeyguardViewController).isShowing();
        mNavigationBar.setImeWindowStatus(DEFAULT_DISPLAY, null, IME_VISIBLE,
                BACK_DISPOSITION_DEFAULT, true);
        assertFalse((mNavigationBar.getNavigationIconHints() & NAVIGATION_HINT_BACK_ALT) != 0);