Merge "Fix double SCM Restart Icon" into tm-qpr-dev am: a1531f2c28

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21096323

Change-Id: Ibcaf7fe23199415d0903a9a02801c216f5ab45c7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Massimo Carli
2023-01-27 17:59:14 +00:00
committed by Automerger Merge Worker
2 changed files with 10 additions and 3 deletions

View File

@@ -215,8 +215,14 @@ class CompatUIWindowManager extends CompatUIWindowManagerAbstract {
: taskStableBounds.right - taskBounds.left - mLayout.getMeasuredWidth(); : taskStableBounds.right - taskBounds.left - mLayout.getMeasuredWidth();
final int positionY = taskStableBounds.bottom - taskBounds.top final int positionY = taskStableBounds.bottom - taskBounds.top
- mLayout.getMeasuredHeight(); - mLayout.getMeasuredHeight();
// To secure a proper visualisation, we hide the layout while updating the position of
// the {@link SurfaceControl} it belongs.
final int oldVisibility = mLayout.getVisibility();
if (oldVisibility == View.VISIBLE) {
mLayout.setVisibility(View.GONE);
}
updateSurfacePosition(positionX, positionY); updateSurfacePosition(positionX, positionY);
mLayout.setVisibility(oldVisibility);
} }
private void updateVisibilityOfViews() { private void updateVisibilityOfViews() {

View File

@@ -28,6 +28,7 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
@@ -359,14 +360,14 @@ public class CompatUIWindowManagerTest extends ShellTestCase {
mWindowManager.updateVisibility(/* canShow= */ false); mWindowManager.updateVisibility(/* canShow= */ false);
verify(mWindowManager, never()).createLayout(anyBoolean()); verify(mWindowManager, never()).createLayout(anyBoolean());
verify(mLayout).setVisibility(View.GONE); verify(mLayout, atLeastOnce()).setVisibility(View.GONE);
// Show button. // Show button.
doReturn(View.GONE).when(mLayout).getVisibility(); doReturn(View.GONE).when(mLayout).getVisibility();
mWindowManager.updateVisibility(/* canShow= */ true); mWindowManager.updateVisibility(/* canShow= */ true);
verify(mWindowManager, never()).createLayout(anyBoolean()); verify(mWindowManager, never()).createLayout(anyBoolean());
verify(mLayout).setVisibility(View.VISIBLE); verify(mLayout, atLeastOnce()).setVisibility(View.VISIBLE);
} }
@Test @Test