Fix double SCM Restart Icon
Fixes: 266567365
Test: Manual following bug detail instructions and run
`atest WMShellUnitTests:CompatUILayoutTest`
Change-Id: Ia7283e289313bc114f1046ad9447f8c4edd38bf3
This commit is contained in:
@@ -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() {
|
||||
|
||||
@@ -28,6 +28,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;
|
||||
@@ -359,14 +360,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
|
||||
|
||||
Reference in New Issue
Block a user