Merge "Fix launcher animates keyboard by wrong insets visible value"

This commit is contained in:
TreeHugger Robot
2022-11-19 01:41:05 +00:00
committed by Android (Google) Code Review
2 changed files with 4 additions and 2 deletions

View File

@@ -454,8 +454,7 @@ class InsetsPolicy {
final InsetsSource originalImeSource = originalState.peekSource(ITYPE_IME);
if (originalImeSource != null) {
final boolean imeVisibility =
w.mActivityRecord.mLastImeShown || w.isRequestedVisible(Type.ime());
final boolean imeVisibility = w.isRequestedVisible(Type.ime());
final InsetsState state = copyState ? new InsetsState(originalState)
: originalState;
final InsetsSource imeSource = new InsetsSource(originalImeSource);

View File

@@ -26,6 +26,7 @@ import static android.view.InsetsState.ITYPE_STATUS_BAR;
import static android.view.Surface.ROTATION_0;
import static android.view.Surface.ROTATION_270;
import static android.view.Surface.ROTATION_90;
import static android.view.WindowInsets.Type.ime;
import static android.view.WindowInsets.Type.statusBars;
import static android.view.WindowManager.LayoutParams.FIRST_SUB_WINDOW;
import static android.view.WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM;
@@ -1034,6 +1035,7 @@ public class WindowStateTests extends WindowTestsBase {
// Simulate app requests IME with updating all windows Insets State when IME is above app.
mDisplayContent.setImeLayeringTarget(app);
mDisplayContent.setImeInputTarget(app);
app.setRequestedVisibleTypes(ime(), ime());
assertTrue(mDisplayContent.shouldImeAttachedToApp());
controller.getImeSourceProvider().scheduleShowImePostLayout(app, null /* statsToken */);
controller.getImeSourceProvider().getSource().setVisible(true);
@@ -1071,6 +1073,7 @@ public class WindowStateTests extends WindowTestsBase {
app2.mActivityRecord.mImeInsetsFrozenUntilStartInput = true;
mDisplayContent.setImeLayeringTarget(app);
mDisplayContent.setImeInputTarget(app);
app.setRequestedVisibleTypes(ime(), ime());
assertTrue(mDisplayContent.shouldImeAttachedToApp());
controller.getImeSourceProvider().scheduleShowImePostLayout(app, null /* statsToken */);
controller.getImeSourceProvider().getSource().setVisible(true);