Merge "Add dumpToProto to TaskFragment" into sc-v2-dev
This commit is contained in:
@@ -278,7 +278,7 @@ message PinnedTaskControllerProto {
|
|||||||
message TaskProto {
|
message TaskProto {
|
||||||
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
|
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
|
||||||
|
|
||||||
optional WindowContainerProto window_container = 1;
|
optional WindowContainerProto window_container = 1 [deprecated=true];
|
||||||
optional int32 id = 2;
|
optional int32 id = 2;
|
||||||
reserved 3; // activity
|
reserved 3; // activity
|
||||||
optional bool fills_parent = 4;
|
optional bool fills_parent = 4;
|
||||||
@@ -295,12 +295,12 @@ message TaskProto {
|
|||||||
optional string real_activity = 13;
|
optional string real_activity = 13;
|
||||||
optional string orig_activity = 14;
|
optional string orig_activity = 14;
|
||||||
|
|
||||||
optional int32 display_id = 15;
|
optional int32 display_id = 15 [deprecated=true];
|
||||||
optional int32 root_task_id = 16;
|
optional int32 root_task_id = 16;
|
||||||
optional int32 activity_type = 17 [(.android.typedef) = "android.app.WindowConfiguration.ActivityType"];
|
optional int32 activity_type = 17 [(.android.typedef) = "android.app.WindowConfiguration.ActivityType", deprecated=true] ;
|
||||||
optional int32 resize_mode = 18 [(.android.typedef) = "android.appwidget.AppWidgetProviderInfo.ResizeModeFlags"];
|
optional int32 resize_mode = 18 [(.android.typedef) = "android.appwidget.AppWidgetProviderInfo.ResizeModeFlags"];
|
||||||
optional int32 min_width = 19;
|
optional int32 min_width = 19 [deprecated=true];
|
||||||
optional int32 min_height = 20;
|
optional int32 min_height = 20 [deprecated=true];
|
||||||
|
|
||||||
optional .android.graphics.RectProto adjusted_bounds = 21;
|
optional .android.graphics.RectProto adjusted_bounds = 21;
|
||||||
optional .android.graphics.RectProto last_non_fullscreen_bounds = 22;
|
optional .android.graphics.RectProto last_non_fullscreen_bounds = 22;
|
||||||
@@ -312,6 +312,18 @@ message TaskProto {
|
|||||||
optional bool created_by_organizer = 28;
|
optional bool created_by_organizer = 28;
|
||||||
optional string affinity = 29;
|
optional string affinity = 29;
|
||||||
optional bool has_child_pip_activity = 30;
|
optional bool has_child_pip_activity = 30;
|
||||||
|
optional TaskFragmentProto task_fragment = 31;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* represents TaskFragment */
|
||||||
|
message TaskFragmentProto {
|
||||||
|
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
|
||||||
|
|
||||||
|
optional WindowContainerProto window_container = 1;
|
||||||
|
optional int32 display_id = 2;
|
||||||
|
optional int32 activity_type = 3 [(.android.typedef) = "android.app.WindowConfiguration.ActivityType"];
|
||||||
|
optional int32 min_width = 4;
|
||||||
|
optional int32 min_height = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* represents ActivityRecordProto */
|
/* represents ActivityRecordProto */
|
||||||
@@ -493,6 +505,8 @@ message WindowContainerChildProto {
|
|||||||
optional WindowTokenProto window_token = 7;
|
optional WindowTokenProto window_token = 7;
|
||||||
/* represents a WindowState child */
|
/* represents a WindowState child */
|
||||||
optional WindowStateProto window = 8;
|
optional WindowStateProto window = 8;
|
||||||
|
/* represents a WindowState child */
|
||||||
|
optional TaskFragmentProto task_fragment = 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* represents ConfigurationContainer */
|
/* represents ConfigurationContainer */
|
||||||
|
|||||||
@@ -109,16 +109,12 @@ import static com.android.server.wm.LockTaskController.LOCK_TASK_AUTH_LAUNCHABLE
|
|||||||
import static com.android.server.wm.LockTaskController.LOCK_TASK_AUTH_LAUNCHABLE_PRIV;
|
import static com.android.server.wm.LockTaskController.LOCK_TASK_AUTH_LAUNCHABLE_PRIV;
|
||||||
import static com.android.server.wm.LockTaskController.LOCK_TASK_AUTH_PINNABLE;
|
import static com.android.server.wm.LockTaskController.LOCK_TASK_AUTH_PINNABLE;
|
||||||
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.TaskProto.ACTIVITY_TYPE;
|
|
||||||
import static com.android.server.wm.TaskProto.AFFINITY;
|
import static com.android.server.wm.TaskProto.AFFINITY;
|
||||||
import static com.android.server.wm.TaskProto.BOUNDS;
|
import static com.android.server.wm.TaskProto.BOUNDS;
|
||||||
import static com.android.server.wm.TaskProto.CREATED_BY_ORGANIZER;
|
import static com.android.server.wm.TaskProto.CREATED_BY_ORGANIZER;
|
||||||
import static com.android.server.wm.TaskProto.DISPLAY_ID;
|
|
||||||
import static com.android.server.wm.TaskProto.FILLS_PARENT;
|
import static com.android.server.wm.TaskProto.FILLS_PARENT;
|
||||||
import static com.android.server.wm.TaskProto.HAS_CHILD_PIP_ACTIVITY;
|
import static com.android.server.wm.TaskProto.HAS_CHILD_PIP_ACTIVITY;
|
||||||
import static com.android.server.wm.TaskProto.LAST_NON_FULLSCREEN_BOUNDS;
|
import static com.android.server.wm.TaskProto.LAST_NON_FULLSCREEN_BOUNDS;
|
||||||
import static com.android.server.wm.TaskProto.MIN_HEIGHT;
|
|
||||||
import static com.android.server.wm.TaskProto.MIN_WIDTH;
|
|
||||||
import static com.android.server.wm.TaskProto.ORIG_ACTIVITY;
|
import static com.android.server.wm.TaskProto.ORIG_ACTIVITY;
|
||||||
import static com.android.server.wm.TaskProto.REAL_ACTIVITY;
|
import static com.android.server.wm.TaskProto.REAL_ACTIVITY;
|
||||||
import static com.android.server.wm.TaskProto.RESIZE_MODE;
|
import static com.android.server.wm.TaskProto.RESIZE_MODE;
|
||||||
@@ -126,7 +122,7 @@ import static com.android.server.wm.TaskProto.RESUMED_ACTIVITY;
|
|||||||
import static com.android.server.wm.TaskProto.ROOT_TASK_ID;
|
import static com.android.server.wm.TaskProto.ROOT_TASK_ID;
|
||||||
import static com.android.server.wm.TaskProto.SURFACE_HEIGHT;
|
import static com.android.server.wm.TaskProto.SURFACE_HEIGHT;
|
||||||
import static com.android.server.wm.TaskProto.SURFACE_WIDTH;
|
import static com.android.server.wm.TaskProto.SURFACE_WIDTH;
|
||||||
import static com.android.server.wm.TaskProto.WINDOW_CONTAINER;
|
import static com.android.server.wm.TaskProto.TASK_FRAGMENT;
|
||||||
import static com.android.server.wm.WindowContainer.AnimationFlags.CHILDREN;
|
import static com.android.server.wm.WindowContainer.AnimationFlags.CHILDREN;
|
||||||
import static com.android.server.wm.WindowContainer.AnimationFlags.TRANSITION;
|
import static com.android.server.wm.WindowContainer.AnimationFlags.TRANSITION;
|
||||||
import static com.android.server.wm.WindowContainerChildProto.TASK;
|
import static com.android.server.wm.WindowContainerChildProto.TASK;
|
||||||
@@ -2237,11 +2233,6 @@ class Task extends TaskFragment {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int getDisplayId() {
|
|
||||||
final DisplayContent dc = getDisplayContent();
|
|
||||||
return dc != null ? dc.mDisplayId : INVALID_DISPLAY;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @return Id of root task. */
|
/** @return Id of root task. */
|
||||||
int getRootTaskId() {
|
int getRootTaskId() {
|
||||||
return getRootTask().mTaskId;
|
return getRootTask().mTaskId;
|
||||||
@@ -6066,10 +6057,8 @@ class Task extends TaskFragment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
final long token = proto.start(fieldId);
|
final long token = proto.start(fieldId);
|
||||||
super.dumpDebug(proto, WINDOW_CONTAINER, logLevel);
|
|
||||||
|
|
||||||
proto.write(TaskProto.ID, mTaskId);
|
proto.write(TaskProto.ID, mTaskId);
|
||||||
proto.write(DISPLAY_ID, getDisplayId());
|
|
||||||
proto.write(ROOT_TASK_ID, getRootTaskId());
|
proto.write(ROOT_TASK_ID, getRootTaskId());
|
||||||
|
|
||||||
if (getTopResumedActivity() != null) {
|
if (getTopResumedActivity() != null) {
|
||||||
@@ -6081,11 +6070,7 @@ class Task extends TaskFragment {
|
|||||||
if (origActivity != null) {
|
if (origActivity != null) {
|
||||||
proto.write(ORIG_ACTIVITY, origActivity.flattenToShortString());
|
proto.write(ORIG_ACTIVITY, origActivity.flattenToShortString());
|
||||||
}
|
}
|
||||||
proto.write(ACTIVITY_TYPE, getActivityType());
|
|
||||||
proto.write(RESIZE_MODE, mResizeMode);
|
proto.write(RESIZE_MODE, mResizeMode);
|
||||||
proto.write(MIN_WIDTH, mMinWidth);
|
|
||||||
proto.write(MIN_HEIGHT, mMinHeight);
|
|
||||||
|
|
||||||
proto.write(FILLS_PARENT, matchParentBounds());
|
proto.write(FILLS_PARENT, matchParentBounds());
|
||||||
getRawBounds().dumpDebug(proto, BOUNDS);
|
getRawBounds().dumpDebug(proto, BOUNDS);
|
||||||
|
|
||||||
@@ -6102,6 +6087,8 @@ class Task extends TaskFragment {
|
|||||||
proto.write(AFFINITY, affinity);
|
proto.write(AFFINITY, affinity);
|
||||||
proto.write(HAS_CHILD_PIP_ACTIVITY, mChildPipActivity != null);
|
proto.write(HAS_CHILD_PIP_ACTIVITY, mChildPipActivity != null);
|
||||||
|
|
||||||
|
super.dumpDebug(proto, TASK_FRAGMENT, logLevel);
|
||||||
|
|
||||||
proto.end(token);
|
proto.end(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.server.wm;
|
package com.android.server.wm;
|
||||||
|
|
||||||
|
import static android.app.ActivityTaskManager.INVALID_TASK_ID;
|
||||||
import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
|
import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
|
||||||
import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED;
|
import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED;
|
||||||
import static android.app.WindowConfiguration.ROTATION_UNDEFINED;
|
import static android.app.WindowConfiguration.ROTATION_UNDEFINED;
|
||||||
@@ -30,6 +31,7 @@ import static android.content.pm.ActivityInfo.FLAG_RESUME_WHILE_PAUSING;
|
|||||||
import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
|
import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
|
||||||
import static android.content.res.Configuration.ORIENTATION_PORTRAIT;
|
import static android.content.res.Configuration.ORIENTATION_PORTRAIT;
|
||||||
import static android.content.res.Configuration.ORIENTATION_UNDEFINED;
|
import static android.content.res.Configuration.ORIENTATION_UNDEFINED;
|
||||||
|
import static android.os.UserHandle.USER_NULL;
|
||||||
import static android.view.Display.INVALID_DISPLAY;
|
import static android.view.Display.INVALID_DISPLAY;
|
||||||
import static android.view.WindowManager.TRANSIT_CLOSE;
|
import static android.view.WindowManager.TRANSIT_CLOSE;
|
||||||
import static android.view.WindowManager.TRANSIT_FLAG_OPEN_BEHIND;
|
import static android.view.WindowManager.TRANSIT_FLAG_OPEN_BEHIND;
|
||||||
@@ -51,6 +53,15 @@ import static com.android.server.wm.ActivityTaskManagerDebugConfig.POSTFIX_USER_
|
|||||||
import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_ATM;
|
import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_ATM;
|
||||||
import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_WITH_CLASS_NAME;
|
import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_WITH_CLASS_NAME;
|
||||||
import static com.android.server.wm.ActivityTaskSupervisor.PRESERVE_WINDOWS;
|
import static com.android.server.wm.ActivityTaskSupervisor.PRESERVE_WINDOWS;
|
||||||
|
import static com.android.server.wm.IdentifierProto.HASH_CODE;
|
||||||
|
import static com.android.server.wm.IdentifierProto.TITLE;
|
||||||
|
import static com.android.server.wm.IdentifierProto.USER_ID;
|
||||||
|
import static com.android.server.wm.TaskFragmentProto.ACTIVITY_TYPE;
|
||||||
|
import static com.android.server.wm.TaskFragmentProto.DISPLAY_ID;
|
||||||
|
import static com.android.server.wm.TaskFragmentProto.MIN_HEIGHT;
|
||||||
|
import static com.android.server.wm.TaskFragmentProto.MIN_WIDTH;
|
||||||
|
import static com.android.server.wm.TaskFragmentProto.WINDOW_CONTAINER;
|
||||||
|
import static com.android.server.wm.WindowContainerChildProto.TASK_FRAGMENT;
|
||||||
|
|
||||||
import android.annotation.IntDef;
|
import android.annotation.IntDef;
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
@@ -68,6 +79,7 @@ import android.graphics.Rect;
|
|||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.util.DisplayMetrics;
|
import android.util.DisplayMetrics;
|
||||||
import android.util.Slog;
|
import android.util.Slog;
|
||||||
|
import android.util.proto.ProtoOutputStream;
|
||||||
import android.view.DisplayInfo;
|
import android.view.DisplayInfo;
|
||||||
|
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
@@ -1457,7 +1469,7 @@ class TaskFragment extends WindowContainer<WindowContainer> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private int getTaskId() {
|
private int getTaskId() {
|
||||||
return getTask().mTaskId;
|
return getTask() != null ? getTask().mTaskId : INVALID_TASK_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void resolveLeafOnlyOverrideConfigs(Configuration newParentConfig,
|
private void resolveLeafOnlyOverrideConfigs(Configuration newParentConfig,
|
||||||
@@ -1929,4 +1941,39 @@ class TaskFragment extends WindowContainer<WindowContainer> {
|
|||||||
pw.print(prefix); pw.print("* "); pw.println(this);
|
pw.print(prefix); pw.print("* "); pw.println(this);
|
||||||
pw.println(prefix + " mBounds=" + getRequestedOverrideBounds());
|
pw.println(prefix + " mBounds=" + getRequestedOverrideBounds());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
void writeIdentifierToProto(ProtoOutputStream proto, long fieldId) {
|
||||||
|
final long token = proto.start(fieldId);
|
||||||
|
proto.write(HASH_CODE, System.identityHashCode(this));
|
||||||
|
final ActivityRecord topActivity = topRunningActivity();
|
||||||
|
proto.write(USER_ID, topActivity != null ? topActivity.mUserId : USER_NULL);
|
||||||
|
proto.write(TITLE, topActivity != null ? topActivity.intent.getComponent()
|
||||||
|
.flattenToShortString() : "TaskFragment");
|
||||||
|
proto.end(token);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
long getProtoFieldId() {
|
||||||
|
return TASK_FRAGMENT;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void dumpDebug(ProtoOutputStream proto, long fieldId,
|
||||||
|
@WindowTraceLogLevel int logLevel) {
|
||||||
|
if (logLevel == WindowTraceLogLevel.CRITICAL && !isVisible()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long token = proto.start(fieldId);
|
||||||
|
|
||||||
|
super.dumpDebug(proto, WINDOW_CONTAINER, logLevel);
|
||||||
|
|
||||||
|
proto.write(DISPLAY_ID, getDisplayId());
|
||||||
|
proto.write(ACTIVITY_TYPE, getActivityType());
|
||||||
|
proto.write(MIN_WIDTH, mMinWidth);
|
||||||
|
proto.write(MIN_HEIGHT, mMinHeight);
|
||||||
|
|
||||||
|
proto.end(token);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user