Loading services/core/java/com/android/server/wm/WindowState.java +3 −0 Original line number Diff line number Diff line Loading @@ -5696,6 +5696,9 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP @Override boolean prepareForSync(BLASTSyncEngine.TransactionReadyListener waitingListener, int waitingId) { if (!isVisible()) { return false; } mWaitingListener = waitingListener; mWaitingSyncId = waitingId; mUsingBLASTSyncTransaction = true; Loading services/tests/wmtests/src/com/android/server/wm/TaskOrganizerTests.java +23 −0 Original line number Diff line number Diff line Loading @@ -551,6 +551,7 @@ public class TaskOrganizerTests extends WindowTestsBase { final Task task = createTaskInStack(stackController1, 0 /* userId */); final ITaskOrganizer organizer = registerMockOrganizer(); final WindowState w = createAppWindow(task, TYPE_APPLICATION, "Enlightened Window"); makeWindowVisible(w); BLASTSyncEngine bse = new BLASTSyncEngine(); Loading @@ -568,6 +569,28 @@ public class TaskOrganizerTests extends WindowTestsBase { .transactionReady(anyInt(), any()); } @Test public void testBLASTCallbackWithInvisibleWindow() { final ActivityStack stackController1 = createTaskStackOnDisplay(mDisplayContent); final Task task = createTaskInStack(stackController1, 0 /* userId */); final ITaskOrganizer organizer = registerMockOrganizer(); final WindowState w = createAppWindow(task, TYPE_APPLICATION, "Enlightened Window"); BLASTSyncEngine bse = new BLASTSyncEngine(); BLASTSyncEngine.TransactionReadyListener transactionListener = mock(BLASTSyncEngine.TransactionReadyListener.class); int id = bse.startSyncSet(transactionListener); bse.addToSyncSet(id, task); bse.setReady(id); // Since the window was invisible, the Task had no visible leaves and the sync should // complete as soon as we call setReady. verify(transactionListener) .transactionReady(anyInt(), any()); } @Test public void testBLASTCallbackWithChildWindow() { final ActivityStack stackController1 = createTaskStackOnDisplay(mDisplayContent); Loading Loading
services/core/java/com/android/server/wm/WindowState.java +3 −0 Original line number Diff line number Diff line Loading @@ -5696,6 +5696,9 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP @Override boolean prepareForSync(BLASTSyncEngine.TransactionReadyListener waitingListener, int waitingId) { if (!isVisible()) { return false; } mWaitingListener = waitingListener; mWaitingSyncId = waitingId; mUsingBLASTSyncTransaction = true; Loading
services/tests/wmtests/src/com/android/server/wm/TaskOrganizerTests.java +23 −0 Original line number Diff line number Diff line Loading @@ -551,6 +551,7 @@ public class TaskOrganizerTests extends WindowTestsBase { final Task task = createTaskInStack(stackController1, 0 /* userId */); final ITaskOrganizer organizer = registerMockOrganizer(); final WindowState w = createAppWindow(task, TYPE_APPLICATION, "Enlightened Window"); makeWindowVisible(w); BLASTSyncEngine bse = new BLASTSyncEngine(); Loading @@ -568,6 +569,28 @@ public class TaskOrganizerTests extends WindowTestsBase { .transactionReady(anyInt(), any()); } @Test public void testBLASTCallbackWithInvisibleWindow() { final ActivityStack stackController1 = createTaskStackOnDisplay(mDisplayContent); final Task task = createTaskInStack(stackController1, 0 /* userId */); final ITaskOrganizer organizer = registerMockOrganizer(); final WindowState w = createAppWindow(task, TYPE_APPLICATION, "Enlightened Window"); BLASTSyncEngine bse = new BLASTSyncEngine(); BLASTSyncEngine.TransactionReadyListener transactionListener = mock(BLASTSyncEngine.TransactionReadyListener.class); int id = bse.startSyncSet(transactionListener); bse.addToSyncSet(id, task); bse.setReady(id); // Since the window was invisible, the Task had no visible leaves and the sync should // complete as soon as we call setReady. verify(transactionListener) .transactionReady(anyInt(), any()); } @Test public void testBLASTCallbackWithChildWindow() { final ActivityStack stackController1 = createTaskStackOnDisplay(mDisplayContent); Loading