Loading core/java/com/android/internal/protolog/ProtoLogGroup.java +3 −1 Original line number Diff line number Diff line Loading @@ -72,7 +72,9 @@ public enum ProtoLogGroup implements IProtoLogGroup { Consts.TAG_WM), WM_DEBUG_WINDOW_ORGANIZER(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false, Consts.TAG_WM), TEST_GROUP(true, true, false, "WindowManagetProtoLogTest"); WM_DEBUG_SYNC_ENGINE(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false, Consts.TAG_WM), TEST_GROUP(true, true, false, "WindowManagerProtoLogTest"); private final boolean mEnabled; private volatile boolean mLogToProto; Loading data/etc/services.core.protolog.json +45 −0 Original line number Diff line number Diff line Loading @@ -151,6 +151,12 @@ "group": "WM_ERROR", "at": "com\/android\/server\/wm\/WindowManagerService.java" }, "-1910833551": { "message": "SyncSet{%x:%d} Start for %s", "level": "VERBOSE", "group": "WM_DEBUG_SYNC_ENGINE", "at": "com\/android\/server\/wm\/BLASTSyncEngine.java" }, "-1895337367": { "message": "Delete root task display=%d winMode=%d", "level": "VERBOSE", Loading Loading @@ -463,6 +469,12 @@ "group": "WM_ERROR", "at": "com\/android\/server\/wm\/WindowManagerService.java" }, "-1387080937": { "message": "SyncSet{%x:%d} Child ready, now ready=%b and waiting on %d transactions", "level": "VERBOSE", "group": "WM_DEBUG_SYNC_ENGINE", "at": "com\/android\/server\/wm\/BLASTSyncEngine.java" }, "-1364754753": { "message": "Task vanished taskId=%d", "level": "VERBOSE", Loading @@ -481,6 +493,12 @@ "group": "WM_DEBUG_BOOT", "at": "com\/android\/server\/wm\/WindowManagerService.java" }, "-1340783230": { "message": "SyncSet{%x:%d} Added %s. now waiting on %d transactions", "level": "VERBOSE", "group": "WM_DEBUG_SYNC_ENGINE", "at": "com\/android\/server\/wm\/BLASTSyncEngine.java" }, "-1340540100": { "message": "Creating SnapshotStartingData", "level": "VERBOSE", Loading Loading @@ -859,6 +877,12 @@ "group": "WM_DEBUG_ORIENTATION", "at": "com\/android\/server\/wm\/DragState.java" }, "-678300709": { "message": "SyncSet{%x:%d} Trying to add %s", "level": "VERBOSE", "group": "WM_DEBUG_SYNC_ENGINE", "at": "com\/android\/server\/wm\/BLASTSyncEngine.java" }, "-668956537": { "message": " THUMBNAIL %s: CREATE", "level": "INFO", Loading Loading @@ -1735,6 +1759,12 @@ "group": "WM_DEBUG_IME", "at": "com\/android\/server\/wm\/ImeInsetsSourceProvider.java" }, "590184240": { "message": "- NOT adding to sync: visible=%b hasListener=%b", "level": "VERBOSE", "group": "WM_DEBUG_SYNC_ENGINE", "at": "com\/android\/server\/wm\/WindowContainer.java" }, "594260577": { "message": "createWallpaperAnimations()", "level": "DEBUG", Loading Loading @@ -2005,6 +2035,12 @@ "group": "WM_DEBUG_REMOTE_ANIMATIONS", "at": "com\/android\/server\/wm\/RemoteAnimationController.java" }, "1000601037": { "message": "SyncSet{%x:%d} Set ready", "level": "VERBOSE", "group": "WM_DEBUG_SYNC_ENGINE", "at": "com\/android\/server\/wm\/BLASTSyncEngine.java" }, "1001904964": { "message": "***** BOOT TIMEOUT: forcing display enabled", "level": "WARN", Loading Loading @@ -2599,6 +2635,12 @@ "group": "WM_DEBUG_CONFIGURATION", "at": "com\/android\/server\/wm\/ActivityRecord.java" }, "2001924866": { "message": "SyncSet{%x:%d} Finished. Reporting %d containers to %s", "level": "VERBOSE", "group": "WM_DEBUG_SYNC_ENGINE", "at": "com\/android\/server\/wm\/BLASTSyncEngine.java" }, "2016061474": { "message": "Prepare app transition: transit=%s %s alwaysKeepCurrent=%b displayId=%d Callers=%s", "level": "VERBOSE", Loading Loading @@ -2775,6 +2817,9 @@ "WM_DEBUG_SWITCH": { "tag": "WindowManager" }, "WM_DEBUG_SYNC_ENGINE": { "tag": "WindowManager" }, "WM_DEBUG_WINDOW_MOVEMENT": { "tag": "WindowManager" }, Loading services/core/java/com/android/server/wm/BLASTSyncEngine.java +19 −1 Original line number Diff line number Diff line Loading @@ -16,9 +16,13 @@ package com.android.server.wm; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_SYNC_ENGINE; import android.util.ArrayMap; import android.util.ArraySet; import com.android.internal.protolog.common.ProtoLog; import java.util.Set; /** Loading Loading @@ -63,25 +67,38 @@ class BLASTSyncEngine { private void tryFinish() { if (mRemainingTransactions == 0 && mReady) { ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncSet{%x:%d} Finished. Reporting %d " + "containers to %s", BLASTSyncEngine.this.hashCode(), mSyncId, mWindowContainersReady.size(), mListener); mListener.onTransactionReady(mSyncId, mWindowContainersReady); mPendingSyncs.remove(mSyncId); } } public void onTransactionReady(int mSyncId, Set<WindowContainer> windowContainersReady) { public void onTransactionReady(int syncId, Set<WindowContainer> windowContainersReady) { mRemainingTransactions--; ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncSet{%x:%d} Child ready, now ready=%b" + " and waiting on %d transactions", BLASTSyncEngine.this.hashCode(), mSyncId, mReady, mRemainingTransactions); mWindowContainersReady.addAll(windowContainersReady); tryFinish(); } void setReady() { ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncSet{%x:%d} Set ready", BLASTSyncEngine.this.hashCode(), mSyncId); mReady = true; tryFinish(); } boolean addToSync(WindowContainer wc) { ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncSet{%x:%d} Trying to add %s", BLASTSyncEngine.this.hashCode(), mSyncId, wc); if (wc.prepareForSync(this, mSyncId)) { mRemainingTransactions++; ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncSet{%x:%d} Added %s. now waiting " + "on %d transactions", BLASTSyncEngine.this.hashCode(), mSyncId, wc, mRemainingTransactions); return true; } return false; Loading @@ -105,6 +122,7 @@ class BLASTSyncEngine { final int id = mNextSyncId++; final SyncState s = new SyncState(listener, id); mPendingSyncs.put(id, s); ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncSet{%x:%d} Start for %s", hashCode(), id, listener); return id; } Loading services/core/java/com/android/server/wm/WindowContainer.java +3 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import static android.view.SurfaceControl.Transaction; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_APP_TRANSITIONS; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_APP_TRANSITIONS_ANIM; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ORIENTATION; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_SYNC_ENGINE; import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER; import static com.android.server.wm.AppTransition.MAX_APP_TRANSITION_DURATION; import static com.android.server.wm.IdentifierProto.HASH_CODE; Loading Loading @@ -2886,6 +2887,8 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< // If we are invisible, no need to sync, likewise if we are already engaged in a sync, // we can't support overlapping syncs on a single container yet. if (!isVisible() || mWaitingListener != null) { ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "- NOT adding to sync: visible=%b " + "hasListener=%b", isVisible(), mWaitingListener != null); return false; } mUsingBLASTSyncTransaction = true; Loading Loading
core/java/com/android/internal/protolog/ProtoLogGroup.java +3 −1 Original line number Diff line number Diff line Loading @@ -72,7 +72,9 @@ public enum ProtoLogGroup implements IProtoLogGroup { Consts.TAG_WM), WM_DEBUG_WINDOW_ORGANIZER(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false, Consts.TAG_WM), TEST_GROUP(true, true, false, "WindowManagetProtoLogTest"); WM_DEBUG_SYNC_ENGINE(Consts.ENABLE_DEBUG, Consts.ENABLE_LOG_TO_PROTO_DEBUG, false, Consts.TAG_WM), TEST_GROUP(true, true, false, "WindowManagerProtoLogTest"); private final boolean mEnabled; private volatile boolean mLogToProto; Loading
data/etc/services.core.protolog.json +45 −0 Original line number Diff line number Diff line Loading @@ -151,6 +151,12 @@ "group": "WM_ERROR", "at": "com\/android\/server\/wm\/WindowManagerService.java" }, "-1910833551": { "message": "SyncSet{%x:%d} Start for %s", "level": "VERBOSE", "group": "WM_DEBUG_SYNC_ENGINE", "at": "com\/android\/server\/wm\/BLASTSyncEngine.java" }, "-1895337367": { "message": "Delete root task display=%d winMode=%d", "level": "VERBOSE", Loading Loading @@ -463,6 +469,12 @@ "group": "WM_ERROR", "at": "com\/android\/server\/wm\/WindowManagerService.java" }, "-1387080937": { "message": "SyncSet{%x:%d} Child ready, now ready=%b and waiting on %d transactions", "level": "VERBOSE", "group": "WM_DEBUG_SYNC_ENGINE", "at": "com\/android\/server\/wm\/BLASTSyncEngine.java" }, "-1364754753": { "message": "Task vanished taskId=%d", "level": "VERBOSE", Loading @@ -481,6 +493,12 @@ "group": "WM_DEBUG_BOOT", "at": "com\/android\/server\/wm\/WindowManagerService.java" }, "-1340783230": { "message": "SyncSet{%x:%d} Added %s. now waiting on %d transactions", "level": "VERBOSE", "group": "WM_DEBUG_SYNC_ENGINE", "at": "com\/android\/server\/wm\/BLASTSyncEngine.java" }, "-1340540100": { "message": "Creating SnapshotStartingData", "level": "VERBOSE", Loading Loading @@ -859,6 +877,12 @@ "group": "WM_DEBUG_ORIENTATION", "at": "com\/android\/server\/wm\/DragState.java" }, "-678300709": { "message": "SyncSet{%x:%d} Trying to add %s", "level": "VERBOSE", "group": "WM_DEBUG_SYNC_ENGINE", "at": "com\/android\/server\/wm\/BLASTSyncEngine.java" }, "-668956537": { "message": " THUMBNAIL %s: CREATE", "level": "INFO", Loading Loading @@ -1735,6 +1759,12 @@ "group": "WM_DEBUG_IME", "at": "com\/android\/server\/wm\/ImeInsetsSourceProvider.java" }, "590184240": { "message": "- NOT adding to sync: visible=%b hasListener=%b", "level": "VERBOSE", "group": "WM_DEBUG_SYNC_ENGINE", "at": "com\/android\/server\/wm\/WindowContainer.java" }, "594260577": { "message": "createWallpaperAnimations()", "level": "DEBUG", Loading Loading @@ -2005,6 +2035,12 @@ "group": "WM_DEBUG_REMOTE_ANIMATIONS", "at": "com\/android\/server\/wm\/RemoteAnimationController.java" }, "1000601037": { "message": "SyncSet{%x:%d} Set ready", "level": "VERBOSE", "group": "WM_DEBUG_SYNC_ENGINE", "at": "com\/android\/server\/wm\/BLASTSyncEngine.java" }, "1001904964": { "message": "***** BOOT TIMEOUT: forcing display enabled", "level": "WARN", Loading Loading @@ -2599,6 +2635,12 @@ "group": "WM_DEBUG_CONFIGURATION", "at": "com\/android\/server\/wm\/ActivityRecord.java" }, "2001924866": { "message": "SyncSet{%x:%d} Finished. Reporting %d containers to %s", "level": "VERBOSE", "group": "WM_DEBUG_SYNC_ENGINE", "at": "com\/android\/server\/wm\/BLASTSyncEngine.java" }, "2016061474": { "message": "Prepare app transition: transit=%s %s alwaysKeepCurrent=%b displayId=%d Callers=%s", "level": "VERBOSE", Loading Loading @@ -2775,6 +2817,9 @@ "WM_DEBUG_SWITCH": { "tag": "WindowManager" }, "WM_DEBUG_SYNC_ENGINE": { "tag": "WindowManager" }, "WM_DEBUG_WINDOW_MOVEMENT": { "tag": "WindowManager" }, Loading
services/core/java/com/android/server/wm/BLASTSyncEngine.java +19 −1 Original line number Diff line number Diff line Loading @@ -16,9 +16,13 @@ package com.android.server.wm; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_SYNC_ENGINE; import android.util.ArrayMap; import android.util.ArraySet; import com.android.internal.protolog.common.ProtoLog; import java.util.Set; /** Loading Loading @@ -63,25 +67,38 @@ class BLASTSyncEngine { private void tryFinish() { if (mRemainingTransactions == 0 && mReady) { ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncSet{%x:%d} Finished. Reporting %d " + "containers to %s", BLASTSyncEngine.this.hashCode(), mSyncId, mWindowContainersReady.size(), mListener); mListener.onTransactionReady(mSyncId, mWindowContainersReady); mPendingSyncs.remove(mSyncId); } } public void onTransactionReady(int mSyncId, Set<WindowContainer> windowContainersReady) { public void onTransactionReady(int syncId, Set<WindowContainer> windowContainersReady) { mRemainingTransactions--; ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncSet{%x:%d} Child ready, now ready=%b" + " and waiting on %d transactions", BLASTSyncEngine.this.hashCode(), mSyncId, mReady, mRemainingTransactions); mWindowContainersReady.addAll(windowContainersReady); tryFinish(); } void setReady() { ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncSet{%x:%d} Set ready", BLASTSyncEngine.this.hashCode(), mSyncId); mReady = true; tryFinish(); } boolean addToSync(WindowContainer wc) { ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncSet{%x:%d} Trying to add %s", BLASTSyncEngine.this.hashCode(), mSyncId, wc); if (wc.prepareForSync(this, mSyncId)) { mRemainingTransactions++; ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncSet{%x:%d} Added %s. now waiting " + "on %d transactions", BLASTSyncEngine.this.hashCode(), mSyncId, wc, mRemainingTransactions); return true; } return false; Loading @@ -105,6 +122,7 @@ class BLASTSyncEngine { final int id = mNextSyncId++; final SyncState s = new SyncState(listener, id); mPendingSyncs.put(id, s); ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "SyncSet{%x:%d} Start for %s", hashCode(), id, listener); return id; } Loading
services/core/java/com/android/server/wm/WindowContainer.java +3 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import static android.view.SurfaceControl.Transaction; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_APP_TRANSITIONS; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_APP_TRANSITIONS_ANIM; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ORIENTATION; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_SYNC_ENGINE; import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER; import static com.android.server.wm.AppTransition.MAX_APP_TRANSITION_DURATION; import static com.android.server.wm.IdentifierProto.HASH_CODE; Loading Loading @@ -2886,6 +2887,8 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< // If we are invisible, no need to sync, likewise if we are already engaged in a sync, // we can't support overlapping syncs on a single container yet. if (!isVisible() || mWaitingListener != null) { ProtoLog.v(WM_DEBUG_SYNC_ENGINE, "- NOT adding to sync: visible=%b " + "hasListener=%b", isVisible(), mWaitingListener != null); return false; } mUsingBLASTSyncTransaction = true; Loading