Loading services/core/java/com/android/server/wm/BLASTSyncEngine.java +0 −1 Original line number Diff line number Diff line Loading @@ -114,7 +114,6 @@ class BLASTSyncEngine { return st.addToSync(wc); } // TODO(b/148476626): TIMEOUTS! void setReady(int id) { final SyncState st = mPendingSyncs.get(id); st.setReady(); Loading services/core/java/com/android/server/wm/WindowManagerService.java +8 −0 Original line number Diff line number Diff line Loading @@ -4661,6 +4661,7 @@ public class WindowManagerService extends IWindowManager.Stub public static final int RECOMPUTE_FOCUS = 61; public static final int ON_POINTER_DOWN_OUTSIDE_FOCUS = 62; public static final int LAYOUT_AND_ASSIGN_WINDOW_LAYERS_IF_NEEDED = 63; public static final int WINDOW_STATE_BLAST_SYNC_TIMEOUT = 64; /** * Used to denote that an integer field in a message will not be used. Loading Loading @@ -5041,6 +5042,13 @@ public class WindowManagerService extends IWindowManager.Stub } break; } case WINDOW_STATE_BLAST_SYNC_TIMEOUT: { synchronized (mGlobalLock) { final WindowState ws = (WindowState) msg.obj; ws.finishDrawing(null); } break; } } if (DEBUG_WINDOW_TRACE) { Slog.v(TAG_WM, "handleMessage: exit"); Loading services/core/java/com/android/server/wm/WindowState.java +10 −0 Original line number Diff line number Diff line Loading @@ -137,6 +137,7 @@ import static com.android.server.wm.WindowManagerService.UPDATE_FOCUS_NORMAL; import static com.android.server.wm.WindowManagerService.UPDATE_FOCUS_REMOVING_FOCUS; import static com.android.server.wm.WindowManagerService.UPDATE_FOCUS_WILL_PLACE_SURFACES; import static com.android.server.wm.WindowManagerService.WINDOWS_FREEZING_SCREENS_TIMEOUT; import static com.android.server.wm.WindowManagerService.H.WINDOW_STATE_BLAST_SYNC_TIMEOUT; import static com.android.server.wm.WindowStateAnimator.COMMIT_DRAW_PENDING; import static com.android.server.wm.WindowStateAnimator.DRAW_PENDING; import static com.android.server.wm.WindowStateAnimator.HAS_DRAWN; Loading Loading @@ -669,6 +670,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP */ int mFrameRateSelectionPriority = RefreshRatePolicy.LAYER_PRIORITY_UNSET; static final int BLAST_TIMEOUT_DURATION = 5000; /* milliseconds */ /** * @return The insets state as requested by the client, i.e. the dispatched insets state * for which the visibilities are overridden with what the client requested. Loading Loading @@ -5671,6 +5674,11 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP mWaitingListener = waitingListener; mWaitingSyncId = waitingId; mUsingBLASTSyncTransaction = true; mWmService.mH.removeMessages(WINDOW_STATE_BLAST_SYNC_TIMEOUT, this); mWmService.mH.sendNewMessageDelayed(WINDOW_STATE_BLAST_SYNC_TIMEOUT, this, BLAST_TIMEOUT_DURATION); return true; } Loading @@ -5678,6 +5686,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP if (!mUsingBLASTSyncTransaction) { return mWinAnimator.finishDrawingLocked(postDrawTransaction); } mWmService.mH.removeMessages(WINDOW_STATE_BLAST_SYNC_TIMEOUT, this); if (postDrawTransaction == null) { postDrawTransaction = new SurfaceControl.Transaction(); } Loading Loading
services/core/java/com/android/server/wm/BLASTSyncEngine.java +0 −1 Original line number Diff line number Diff line Loading @@ -114,7 +114,6 @@ class BLASTSyncEngine { return st.addToSync(wc); } // TODO(b/148476626): TIMEOUTS! void setReady(int id) { final SyncState st = mPendingSyncs.get(id); st.setReady(); Loading
services/core/java/com/android/server/wm/WindowManagerService.java +8 −0 Original line number Diff line number Diff line Loading @@ -4661,6 +4661,7 @@ public class WindowManagerService extends IWindowManager.Stub public static final int RECOMPUTE_FOCUS = 61; public static final int ON_POINTER_DOWN_OUTSIDE_FOCUS = 62; public static final int LAYOUT_AND_ASSIGN_WINDOW_LAYERS_IF_NEEDED = 63; public static final int WINDOW_STATE_BLAST_SYNC_TIMEOUT = 64; /** * Used to denote that an integer field in a message will not be used. Loading Loading @@ -5041,6 +5042,13 @@ public class WindowManagerService extends IWindowManager.Stub } break; } case WINDOW_STATE_BLAST_SYNC_TIMEOUT: { synchronized (mGlobalLock) { final WindowState ws = (WindowState) msg.obj; ws.finishDrawing(null); } break; } } if (DEBUG_WINDOW_TRACE) { Slog.v(TAG_WM, "handleMessage: exit"); Loading
services/core/java/com/android/server/wm/WindowState.java +10 −0 Original line number Diff line number Diff line Loading @@ -137,6 +137,7 @@ import static com.android.server.wm.WindowManagerService.UPDATE_FOCUS_NORMAL; import static com.android.server.wm.WindowManagerService.UPDATE_FOCUS_REMOVING_FOCUS; import static com.android.server.wm.WindowManagerService.UPDATE_FOCUS_WILL_PLACE_SURFACES; import static com.android.server.wm.WindowManagerService.WINDOWS_FREEZING_SCREENS_TIMEOUT; import static com.android.server.wm.WindowManagerService.H.WINDOW_STATE_BLAST_SYNC_TIMEOUT; import static com.android.server.wm.WindowStateAnimator.COMMIT_DRAW_PENDING; import static com.android.server.wm.WindowStateAnimator.DRAW_PENDING; import static com.android.server.wm.WindowStateAnimator.HAS_DRAWN; Loading Loading @@ -669,6 +670,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP */ int mFrameRateSelectionPriority = RefreshRatePolicy.LAYER_PRIORITY_UNSET; static final int BLAST_TIMEOUT_DURATION = 5000; /* milliseconds */ /** * @return The insets state as requested by the client, i.e. the dispatched insets state * for which the visibilities are overridden with what the client requested. Loading Loading @@ -5671,6 +5674,11 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP mWaitingListener = waitingListener; mWaitingSyncId = waitingId; mUsingBLASTSyncTransaction = true; mWmService.mH.removeMessages(WINDOW_STATE_BLAST_SYNC_TIMEOUT, this); mWmService.mH.sendNewMessageDelayed(WINDOW_STATE_BLAST_SYNC_TIMEOUT, this, BLAST_TIMEOUT_DURATION); return true; } Loading @@ -5678,6 +5686,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP if (!mUsingBLASTSyncTransaction) { return mWinAnimator.finishDrawingLocked(postDrawTransaction); } mWmService.mH.removeMessages(WINDOW_STATE_BLAST_SYNC_TIMEOUT, this); if (postDrawTransaction == null) { postDrawTransaction = new SurfaceControl.Transaction(); } Loading