summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jeremy Sim <jeremysim@google.com> 2024-11-20 00:57:22 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-11-20 00:57:22 +0000
commit99c3e6aecf2cc3758f0e6ac2e3191d7c20ebdfe2 (patch)
tree3a0adfc46e5e6bbb651859d29f7198dc7ab05137
parent3ce190704e23b1b014796a88730c363c7e1e6ef1 (diff)
parentbe8064ce32ff051bfdda80c5cb49c5d4362d1a79 (diff)
Merge "Fix messed-up divider position when unlocking with IME showing" into main
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java8
-rw-r--r--libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java4
2 files changed, 5 insertions, 7 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java
index 5e721bc1bd01..86d689831bdc 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java
@@ -2177,11 +2177,9 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
mDividerFadeInAnimator.cancel();
}
- mSplitLayout.getRefDividerBounds(mTempRect1);
if (t != null) {
+ updateSurfaceBounds(mSplitLayout, t, false /* applyResizingOffset */);
t.setVisibility(dividerLeash, mDividerVisible);
- t.setLayer(dividerLeash, Integer.MAX_VALUE);
- t.setPosition(dividerLeash, mTempRect1.left, mTempRect1.top);
} else if (mDividerVisible) {
final SurfaceControl.Transaction transaction = mTransactionPool.acquire();
mDividerFadeInAnimator = ValueAnimator.ofFloat(0f, 1f);
@@ -2201,11 +2199,9 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
mDividerFadeInAnimator.cancel();
return;
}
- mSplitLayout.getRefDividerBounds(mTempRect1);
+ updateSurfaceBounds(mSplitLayout, transaction, false /* applyResizingOffset */);
transaction.show(dividerLeash);
transaction.setAlpha(dividerLeash, 0);
- transaction.setLayer(dividerLeash, Integer.MAX_VALUE);
- transaction.setPosition(dividerLeash, mTempRect1.left, mTempRect1.top);
transaction.apply();
}
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java
index 4f6f3c69aa3a..1e739cd446ae 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java
@@ -34,6 +34,7 @@ import static org.junit.Assert.assertEquals;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.notNull;
+import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
@@ -296,7 +297,8 @@ public class StageCoordinatorTests extends ShellTestCase {
public void testFinishEnterSplitScreen_applySurfaceLayout() {
mStageCoordinator.finishEnterSplitScreen(new SurfaceControl.Transaction());
- verify(mSplitLayout).applySurfaceChanges(any(), any(), any(), any(), any(), eq(false));
+ verify(mSplitLayout, atLeastOnce())
+ .applySurfaceChanges(any(), any(), any(), any(), any(), eq(false));
}
@Test