Loading core/proto/android/server/windowmanagerservice.proto +19 −5 Original line number Diff line number Diff line Loading @@ -278,7 +278,7 @@ message PinnedTaskControllerProto { message TaskProto { option (.android.msg_privacy).dest = DEST_AUTOMATIC; optional WindowContainerProto window_container = 1; optional WindowContainerProto window_container = 1 [deprecated=true]; optional int32 id = 2; reserved 3; // activity optional bool fills_parent = 4; Loading @@ -295,12 +295,12 @@ message TaskProto { optional string real_activity = 13; 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 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 min_width = 19; optional int32 min_height = 20; optional int32 min_width = 19 [deprecated=true]; optional int32 min_height = 20 [deprecated=true]; optional .android.graphics.RectProto adjusted_bounds = 21; optional .android.graphics.RectProto last_non_fullscreen_bounds = 22; Loading @@ -312,6 +312,18 @@ message TaskProto { optional bool created_by_organizer = 28; optional string affinity = 29; 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 */ Loading Loading @@ -493,6 +505,8 @@ message WindowContainerChildProto { optional WindowTokenProto window_token = 7; /* represents a WindowState child */ optional WindowStateProto window = 8; /* represents a WindowState child */ optional TaskFragmentProto task_fragment = 9; } /* represents ConfigurationContainer */ Loading services/core/java/com/android/server/wm/Task.java +3 −16 Original line number Diff line number Diff line Loading @@ -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_PINNABLE; 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.BOUNDS; 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.HAS_CHILD_PIP_ACTIVITY; 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.REAL_ACTIVITY; import static com.android.server.wm.TaskProto.RESIZE_MODE; Loading @@ -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.SURFACE_HEIGHT; 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.TRANSITION; import static com.android.server.wm.WindowContainerChildProto.TASK; Loading Loading @@ -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. */ int getRootTaskId() { return getRootTask().mTaskId; Loading Loading @@ -6066,10 +6057,8 @@ class Task extends TaskFragment { } final long token = proto.start(fieldId); super.dumpDebug(proto, WINDOW_CONTAINER, logLevel); proto.write(TaskProto.ID, mTaskId); proto.write(DISPLAY_ID, getDisplayId()); proto.write(ROOT_TASK_ID, getRootTaskId()); if (getTopResumedActivity() != null) { Loading @@ -6081,11 +6070,7 @@ class Task extends TaskFragment { if (origActivity != null) { proto.write(ORIG_ACTIVITY, origActivity.flattenToShortString()); } proto.write(ACTIVITY_TYPE, getActivityType()); proto.write(RESIZE_MODE, mResizeMode); proto.write(MIN_WIDTH, mMinWidth); proto.write(MIN_HEIGHT, mMinHeight); proto.write(FILLS_PARENT, matchParentBounds()); getRawBounds().dumpDebug(proto, BOUNDS); Loading @@ -6102,6 +6087,8 @@ class Task extends TaskFragment { proto.write(AFFINITY, affinity); proto.write(HAS_CHILD_PIP_ACTIVITY, mChildPipActivity != null); super.dumpDebug(proto, TASK_FRAGMENT, logLevel); proto.end(token); } Loading services/core/java/com/android/server/wm/TaskFragment.java +48 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ 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_UNDEFINED; import static android.app.WindowConfiguration.ROTATION_UNDEFINED; Loading @@ -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_PORTRAIT; 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.WindowManager.TRANSIT_CLOSE; import static android.view.WindowManager.TRANSIT_FLAG_OPEN_BEHIND; Loading @@ -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_WITH_CLASS_NAME; 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.NonNull; Loading @@ -68,6 +79,7 @@ import android.graphics.Rect; import android.os.RemoteException; import android.util.DisplayMetrics; import android.util.Slog; import android.util.proto.ProtoOutputStream; import android.view.DisplayInfo; import com.android.internal.annotations.VisibleForTesting; Loading Loading @@ -1457,7 +1469,7 @@ class TaskFragment extends WindowContainer<WindowContainer> { } private int getTaskId() { return getTask().mTaskId; return getTask() != null ? getTask().mTaskId : INVALID_TASK_ID; } private void resolveLeafOnlyOverrideConfigs(Configuration newParentConfig, Loading Loading @@ -1929,4 +1941,39 @@ class TaskFragment extends WindowContainer<WindowContainer> { pw.print(prefix); pw.print("* "); pw.println(this); 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); } } Loading
core/proto/android/server/windowmanagerservice.proto +19 −5 Original line number Diff line number Diff line Loading @@ -278,7 +278,7 @@ message PinnedTaskControllerProto { message TaskProto { option (.android.msg_privacy).dest = DEST_AUTOMATIC; optional WindowContainerProto window_container = 1; optional WindowContainerProto window_container = 1 [deprecated=true]; optional int32 id = 2; reserved 3; // activity optional bool fills_parent = 4; Loading @@ -295,12 +295,12 @@ message TaskProto { optional string real_activity = 13; 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 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 min_width = 19; optional int32 min_height = 20; optional int32 min_width = 19 [deprecated=true]; optional int32 min_height = 20 [deprecated=true]; optional .android.graphics.RectProto adjusted_bounds = 21; optional .android.graphics.RectProto last_non_fullscreen_bounds = 22; Loading @@ -312,6 +312,18 @@ message TaskProto { optional bool created_by_organizer = 28; optional string affinity = 29; 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 */ Loading Loading @@ -493,6 +505,8 @@ message WindowContainerChildProto { optional WindowTokenProto window_token = 7; /* represents a WindowState child */ optional WindowStateProto window = 8; /* represents a WindowState child */ optional TaskFragmentProto task_fragment = 9; } /* represents ConfigurationContainer */ Loading
services/core/java/com/android/server/wm/Task.java +3 −16 Original line number Diff line number Diff line Loading @@ -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_PINNABLE; 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.BOUNDS; 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.HAS_CHILD_PIP_ACTIVITY; 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.REAL_ACTIVITY; import static com.android.server.wm.TaskProto.RESIZE_MODE; Loading @@ -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.SURFACE_HEIGHT; 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.TRANSITION; import static com.android.server.wm.WindowContainerChildProto.TASK; Loading Loading @@ -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. */ int getRootTaskId() { return getRootTask().mTaskId; Loading Loading @@ -6066,10 +6057,8 @@ class Task extends TaskFragment { } final long token = proto.start(fieldId); super.dumpDebug(proto, WINDOW_CONTAINER, logLevel); proto.write(TaskProto.ID, mTaskId); proto.write(DISPLAY_ID, getDisplayId()); proto.write(ROOT_TASK_ID, getRootTaskId()); if (getTopResumedActivity() != null) { Loading @@ -6081,11 +6070,7 @@ class Task extends TaskFragment { if (origActivity != null) { proto.write(ORIG_ACTIVITY, origActivity.flattenToShortString()); } proto.write(ACTIVITY_TYPE, getActivityType()); proto.write(RESIZE_MODE, mResizeMode); proto.write(MIN_WIDTH, mMinWidth); proto.write(MIN_HEIGHT, mMinHeight); proto.write(FILLS_PARENT, matchParentBounds()); getRawBounds().dumpDebug(proto, BOUNDS); Loading @@ -6102,6 +6087,8 @@ class Task extends TaskFragment { proto.write(AFFINITY, affinity); proto.write(HAS_CHILD_PIP_ACTIVITY, mChildPipActivity != null); super.dumpDebug(proto, TASK_FRAGMENT, logLevel); proto.end(token); } Loading
services/core/java/com/android/server/wm/TaskFragment.java +48 −1 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ 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_UNDEFINED; import static android.app.WindowConfiguration.ROTATION_UNDEFINED; Loading @@ -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_PORTRAIT; 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.WindowManager.TRANSIT_CLOSE; import static android.view.WindowManager.TRANSIT_FLAG_OPEN_BEHIND; Loading @@ -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_WITH_CLASS_NAME; 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.NonNull; Loading @@ -68,6 +79,7 @@ import android.graphics.Rect; import android.os.RemoteException; import android.util.DisplayMetrics; import android.util.Slog; import android.util.proto.ProtoOutputStream; import android.view.DisplayInfo; import com.android.internal.annotations.VisibleForTesting; Loading Loading @@ -1457,7 +1469,7 @@ class TaskFragment extends WindowContainer<WindowContainer> { } private int getTaskId() { return getTask().mTaskId; return getTask() != null ? getTask().mTaskId : INVALID_TASK_ID; } private void resolveLeafOnlyOverrideConfigs(Configuration newParentConfig, Loading Loading @@ -1929,4 +1941,39 @@ class TaskFragment extends WindowContainer<WindowContainer> { pw.print(prefix); pw.print("* "); pw.println(this); 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); } }