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

Commit 54acb41e authored by Pat Manning's avatar Pat Manning Committed by Android (Google) Code Review
Browse files

Merge "Do not hide persistent taskbar during input for physical keyboard." into main

parents 23876959 a401e155
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1055,10 +1055,10 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
     *  * in small screen AND
     *  * 3 button nav AND
     *  * landscape (or seascape)
     * We do not stash if taskbar is transient
     * We do not stash if taskbar is transient or hardware keyboard is active.
     */
    private boolean shouldStashForIme() {
        if (DisplayController.isTransientTaskbar(mActivity)) {
        if (DisplayController.isTransientTaskbar(mActivity) || mActivity.isHardwareKeyboard()) {
            return false;
        }
        return (mIsImeShowing || mIsImeSwitcherShowing) &&
+11 −1
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import static org.junit.Assume.assumeFalse;
import static org.junit.Assume.assumeTrue;

import android.content.Intent;
import android.content.res.Configuration;
import android.platform.test.annotations.PlatinumTest;

import androidx.test.filters.LargeTest;
@@ -305,7 +306,11 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest {

        // Expect task bar invisible when the launched app was the IME activity.
        LaunchedAppState launchedAppState = getAndAssertLaunchedApp();
        if (isHardwareKeyboard()) {
            launchedAppState.assertTaskbarVisible();
        } else {
            launchedAppState.assertTaskbarHidden();
        }

        // Quick-switch to the test app with swiping to right.
        quickSwitchToPreviousAppAndAssert(true /* toRight */);
@@ -317,6 +322,11 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest {
        launchedAppState.assertTaskbarVisible();
    }

    private boolean isHardwareKeyboard() {
        return Configuration.KEYBOARD_QWERTY
                == mTargetContext.getResources().getConfiguration().keyboard;
    }

    @Test
    @NavigationModeSwitch
    @PortraitLandscape
+9 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import android.content.Context;
import android.content.ContextWrapper;
import android.content.Intent;
import android.content.pm.LauncherApps;
import android.content.res.Configuration;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
@@ -305,6 +306,14 @@ public interface ActivityContext {
        }
    }

    /**
     * Returns if the connected keyboard is a hardware keyboard.
     */
    default boolean isHardwareKeyboard() {
        return Configuration.KEYBOARD_QWERTY
                == ((Context) this).getResources().getConfiguration().keyboard;
    }

    /**
     * Sends a pending intent animating from a view.
     *