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

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

Change-Id: I289bdf2bd745799339ce4aea40a4e9193db47183
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Massimo Carli
2023-01-27 18:29:15 +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();
final int positionY = taskStableBounds.bottom - taskBounds.top
- 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);
mLayout.setVisibility(oldVisibility);
}
private void updateVisibilityOfViews() {

View File

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