Merge "Add display sleep token information to winscope dump." into sc-v2-dev
This commit is contained in:
@@ -202,7 +202,6 @@ message DisplayContentProto {
|
|||||||
optional .com.android.server.wm.IdentifierProto resumed_activity = 24;
|
optional .com.android.server.wm.IdentifierProto resumed_activity = 24;
|
||||||
repeated TaskProto tasks = 25 [deprecated=true];
|
repeated TaskProto tasks = 25 [deprecated=true];
|
||||||
optional bool display_ready = 26;
|
optional bool display_ready = 26;
|
||||||
|
|
||||||
optional WindowStateProto input_method_target = 27;
|
optional WindowStateProto input_method_target = 27;
|
||||||
optional WindowStateProto input_method_input_target = 28;
|
optional WindowStateProto input_method_input_target = 28;
|
||||||
optional WindowStateProto input_method_control_target = 29;
|
optional WindowStateProto input_method_control_target = 29;
|
||||||
@@ -212,6 +211,8 @@ message DisplayContentProto {
|
|||||||
|
|
||||||
optional DisplayRotationProto display_rotation = 33;
|
optional DisplayRotationProto display_rotation = 33;
|
||||||
optional int32 ime_policy = 34;
|
optional int32 ime_policy = 34;
|
||||||
|
optional bool is_sleeping = 36;
|
||||||
|
repeated string sleep_tokens = 37;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* represents DisplayArea object */
|
/* represents DisplayArea object */
|
||||||
|
|||||||
@@ -1561,6 +1561,12 @@
|
|||||||
"group": "WM_DEBUG_ORIENTATION",
|
"group": "WM_DEBUG_ORIENTATION",
|
||||||
"at": "com\/android\/server\/wm\/DisplayRotation.java"
|
"at": "com\/android\/server\/wm\/DisplayRotation.java"
|
||||||
},
|
},
|
||||||
|
"-436553282": {
|
||||||
|
"message": "Remove sleep token: tag=%s, displayId=%d",
|
||||||
|
"level": "DEBUG",
|
||||||
|
"group": "WM_DEBUG_STATES",
|
||||||
|
"at": "com\/android\/server\/wm\/RootWindowContainer.java"
|
||||||
|
},
|
||||||
"-415865166": {
|
"-415865166": {
|
||||||
"message": "findFocusedWindow: Found new focus @ %s",
|
"message": "findFocusedWindow: Found new focus @ %s",
|
||||||
"level": "VERBOSE",
|
"level": "VERBOSE",
|
||||||
@@ -1669,6 +1675,12 @@
|
|||||||
"group": "WM_DEBUG_ADD_REMOVE",
|
"group": "WM_DEBUG_ADD_REMOVE",
|
||||||
"at": "com\/android\/server\/wm\/WindowState.java"
|
"at": "com\/android\/server\/wm\/WindowState.java"
|
||||||
},
|
},
|
||||||
|
"-317761482": {
|
||||||
|
"message": "Create sleep token: tag=%s, displayId=%d",
|
||||||
|
"level": "DEBUG",
|
||||||
|
"group": "WM_DEBUG_STATES",
|
||||||
|
"at": "com\/android\/server\/wm\/RootWindowContainer.java"
|
||||||
|
},
|
||||||
"-317194205": {
|
"-317194205": {
|
||||||
"message": "clearLockedTasks: %s",
|
"message": "clearLockedTasks: %s",
|
||||||
"level": "INFO",
|
"level": "INFO",
|
||||||
|
|||||||
@@ -115,10 +115,12 @@ import static com.android.server.wm.DisplayContentProto.IME_POLICY;
|
|||||||
import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_CONTROL_TARGET;
|
import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_CONTROL_TARGET;
|
||||||
import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_INPUT_TARGET;
|
import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_INPUT_TARGET;
|
||||||
import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_TARGET;
|
import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_TARGET;
|
||||||
|
import static com.android.server.wm.DisplayContentProto.IS_SLEEPING;
|
||||||
import static com.android.server.wm.DisplayContentProto.OPENING_APPS;
|
import static com.android.server.wm.DisplayContentProto.OPENING_APPS;
|
||||||
import static com.android.server.wm.DisplayContentProto.RESUMED_ACTIVITY;
|
import static com.android.server.wm.DisplayContentProto.RESUMED_ACTIVITY;
|
||||||
import static com.android.server.wm.DisplayContentProto.ROOT_DISPLAY_AREA;
|
import static com.android.server.wm.DisplayContentProto.ROOT_DISPLAY_AREA;
|
||||||
import static com.android.server.wm.DisplayContentProto.SCREEN_ROTATION_ANIMATION;
|
import static com.android.server.wm.DisplayContentProto.SCREEN_ROTATION_ANIMATION;
|
||||||
|
import static com.android.server.wm.DisplayContentProto.SLEEP_TOKENS;
|
||||||
import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_APP_TRANSITION;
|
import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_APP_TRANSITION;
|
||||||
import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_RECENTS;
|
import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_RECENTS;
|
||||||
import static com.android.server.wm.WindowContainer.AnimationFlags.PARENTS;
|
import static com.android.server.wm.WindowContainer.AnimationFlags.PARENTS;
|
||||||
@@ -3293,6 +3295,11 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
|
|||||||
proto.write(FOCUSED_ROOT_TASK_ID, INVALID_TASK_ID);
|
proto.write(FOCUSED_ROOT_TASK_ID, INVALID_TASK_ID);
|
||||||
}
|
}
|
||||||
proto.write(DISPLAY_READY, isReady());
|
proto.write(DISPLAY_READY, isReady());
|
||||||
|
proto.write(IS_SLEEPING, isSleeping());
|
||||||
|
for (int i = 0; i < mAllSleepTokens.size(); ++i) {
|
||||||
|
mAllSleepTokens.get(i).writeTagToProto(proto, SLEEP_TOKENS);
|
||||||
|
}
|
||||||
|
|
||||||
if (mImeLayeringTarget != null) {
|
if (mImeLayeringTarget != null) {
|
||||||
mImeLayeringTarget.dumpDebug(proto, INPUT_METHOD_TARGET, logLevel);
|
mImeLayeringTarget.dumpDebug(proto, INPUT_METHOD_TARGET, logLevel);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2700,6 +2700,7 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
|
|||||||
token = new SleepToken(tag, displayId);
|
token = new SleepToken(tag, displayId);
|
||||||
mSleepTokens.put(tokenKey, token);
|
mSleepTokens.put(tokenKey, token);
|
||||||
display.mAllSleepTokens.add(token);
|
display.mAllSleepTokens.add(token);
|
||||||
|
ProtoLog.d(WM_DEBUG_STATES, "Create sleep token: tag=%s, displayId=%d", tag, displayId);
|
||||||
} else {
|
} else {
|
||||||
throw new RuntimeException("Create the same sleep token twice: " + token);
|
throw new RuntimeException("Create the same sleep token twice: " + token);
|
||||||
}
|
}
|
||||||
@@ -2718,6 +2719,8 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ProtoLog.d(WM_DEBUG_STATES, "Remove sleep token: tag=%s, displayId=%d", token.mTag,
|
||||||
|
token.mDisplayId);
|
||||||
display.mAllSleepTokens.remove(token);
|
display.mAllSleepTokens.remove(token);
|
||||||
if (display.mAllSleepTokens.isEmpty()) {
|
if (display.mAllSleepTokens.isEmpty()) {
|
||||||
mService.updateSleepIfNeededLocked();
|
mService.updateSleepIfNeededLocked();
|
||||||
@@ -3729,6 +3732,10 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
|
|||||||
return "{\"" + mTag + "\", display " + mDisplayId
|
return "{\"" + mTag + "\", display " + mDisplayId
|
||||||
+ ", acquire at " + TimeUtils.formatUptime(mAcquireTime) + "}";
|
+ ", acquire at " + TimeUtils.formatUptime(mAcquireTime) + "}";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void writeTagToProto(ProtoOutputStream proto, long fieldId) {
|
||||||
|
proto.write(fieldId, mTag);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class RankTaskLayersRunnable implements Runnable {
|
private class RankTaskLayersRunnable implements Runnable {
|
||||||
|
|||||||
Reference in New Issue
Block a user