diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2021-06-19 03:02:07 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2021-06-19 03:02:07 +0000 |
commit | f276a30c1a177efe423ca8f0bf74c30a85aaf95e (patch) | |
tree | e8b5e9646ec79ec2900d22c5881230f4ef70de02 | |
parent | e22a2787edf6562f78ad1c28455e5fa4158db32b (diff) | |
parent | 92d1bda2a2babca64d29e1cfc49d7c6031465011 (diff) | |
download | development-f276a30c1a177efe423ca8f0bf74c30a85aaf95e.tar.gz |
Snap for 7472272 from 92d1bda2a2babca64d29e1cfc49d7c6031465011 to sc-v2-release
Change-Id: I882512ed5fb6e77e58d694882b5af94f115a0ecf
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | tools/winscope/src/flickerlib/common.js | 9 | ||||
-rw-r--r-- | tools/winscope/src/flickerlib/windows/Task.ts (renamed from tools/winscope/src/flickerlib/windows/ActivityTask.ts) | 21 | ||||
-rw-r--r-- | tools/winscope/src/flickerlib/windows/TaskFragment.ts | 52 | ||||
-rw-r--r-- | tools/winscope/src/flickerlib/windows/WindowContainer.ts | 6 |
5 files changed, 75 insertions, 15 deletions
diff --git a/.gitignore b/.gitignore index 42494a2f4..f7eb85bdb 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,6 @@ Thumbs.db *.iml .idea/ +*.yarn/ +.yarnrc gen/ diff --git a/tools/winscope/src/flickerlib/common.js b/tools/winscope/src/flickerlib/common.js index 7e329f18e..c439ed56d 100644 --- a/tools/winscope/src/flickerlib/common.js +++ b/tools/winscope/src/flickerlib/common.js @@ -24,8 +24,6 @@ const WindowManagerState = require('flicker').com.android.server.wm.traces.commo const Activity = require('flicker').com.android.server.wm.traces.common. windowmanager.windows.Activity; -const ActivityTask = require('flicker').com.android.server.wm.traces.common. - windowmanager.windows.ActivityTask; const Configuration = require('flicker').com.android.server.wm.traces.common. windowmanager.windows.Configuration; const ConfigurationContainer = require('flicker').com.android.server.wm.traces.common. @@ -38,6 +36,10 @@ const KeyguardControllerState = require('flicker').com.android.server.wm.traces. windowmanager.windows.KeyguardControllerState; const RootWindowContainer = require('flicker').com.android.server.wm.traces.common. windowmanager.windows.RootWindowContainer; +const Task = require('flicker').com.android.server.wm.traces.common. + windowmanager.windows.Task; +const TaskFragment = require('flicker').com.android.server.wm.traces.common. + windowmanager.windows.TaskFragment; const WindowConfiguration = require('flicker').com.android.server.wm.traces.common. windowmanager.windows.WindowConfiguration; const WindowContainer = require('flicker').com.android.server.wm.traces.common. @@ -130,13 +132,14 @@ function toTransform(proto) { export { Activity, - ActivityTask, Configuration, ConfigurationContainer, DisplayArea, DisplayContent, KeyguardControllerState, RootWindowContainer, + Task, + TaskFragment, WindowConfiguration, WindowContainer, WindowState, diff --git a/tools/winscope/src/flickerlib/windows/ActivityTask.ts b/tools/winscope/src/flickerlib/windows/Task.ts index b29aa793a..7159f313e 100644 --- a/tools/winscope/src/flickerlib/windows/ActivityTask.ts +++ b/tools/winscope/src/flickerlib/windows/Task.ts @@ -16,28 +16,29 @@ import { getPropertiesForDisplay, shortenName } from '../mixin' import { asRawTreeViewObject } from '../../utils/diff.js' -import { ActivityTask, toRect } from "../common" +import { Task, toRect } from "../common" import WindowContainer from "./WindowContainer" -ActivityTask.fromProto = function (proto, isActivityInTree: Boolean): ActivityTask { +Task.fromProto = function (proto, isActivityInTree: Boolean): Task { if (proto == null) { return null } else { - const children = proto.windowContainer.children.reverse() + const windowContainerProto = proto?.taskFragment.windowContainer ?? proto.windowContainer + const children = windowContainerProto.children.reverse() .filter(it => it != null) .map(it => WindowContainer.childrenFromProto(it, isActivityInTree)) - const windowContainer = WindowContainer.fromProto({proto: proto.windowContainer, + const windowContainer = WindowContainer.fromProto({proto: windowContainerProto, children: children}) if (windowContainer == null) { throw "Window container should not be null: " + JSON.stringify(proto) } - const entry = new ActivityTask( - proto.activityType, + const entry = new Task( + proto?.taskFragment.activityType ?? proto.activityType, proto.fillsParent, toRect(proto.bounds), proto.id, proto.rootTaskId, - proto.displayId, + proto.taskFragment.displayId, toRect(proto.lastNonFullscreenBounds), proto.realActivity, proto.origActivity, @@ -47,8 +48,8 @@ ActivityTask.fromProto = function (proto, isActivityInTree: Boolean): ActivityTa proto.surfaceWidth, proto.surfaceHeight, proto.createdByOrganizer, - proto.minWidth, - proto.minHeight, + proto?.taskFragment.minWidth ?? proto.minWidth, + proto?.taskFragment.minHeight ?? proto.minHeight, windowContainer ) @@ -62,4 +63,4 @@ ActivityTask.fromProto = function (proto, isActivityInTree: Boolean): ActivityTa } } -export default ActivityTask +export default Task diff --git a/tools/winscope/src/flickerlib/windows/TaskFragment.ts b/tools/winscope/src/flickerlib/windows/TaskFragment.ts new file mode 100644 index 000000000..b3aef2b88 --- /dev/null +++ b/tools/winscope/src/flickerlib/windows/TaskFragment.ts @@ -0,0 +1,52 @@ +/* + * Copyright 2021, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { getPropertiesForDisplay, shortenName } from '../mixin' +import { asRawTreeViewObject } from '../../utils/diff.js' +import { TaskFragment } from "../common" +import WindowContainer from "./WindowContainer" + +TaskFragment.fromProto = function (proto, isActivityInTree: Boolean): TaskFragment { + if (proto == null) { + return null + } else { + const children = proto.windowContainer.children.reverse() + .filter(it => it != null) + .map(it => WindowContainer.childrenFromProto(it, isActivityInTree)) + const windowContainer = WindowContainer.fromProto({proto: proto.windowContainer, + children: children}) + if (windowContainer == null) { + throw "Window container should not be null: " + JSON.stringify(proto) + } + const entry = new TaskFragment( + proto.activityType, + proto.displayId, + proto.minWidth, + proto.minHeight, + windowContainer + ) + + entry.obj = getPropertiesForDisplay(proto, entry) + entry.kind = entry.constructor.name + entry.shortName = shortenName(entry.name) + entry.rawTreeViewObject = asRawTreeViewObject(entry) + + console.warn("Created ", entry.kind, " stableId=", entry.stableId) + return entry + } +} + +export default TaskFragment diff --git a/tools/winscope/src/flickerlib/windows/WindowContainer.ts b/tools/winscope/src/flickerlib/windows/WindowContainer.ts index 756494573..154d0e23e 100644 --- a/tools/winscope/src/flickerlib/windows/WindowContainer.ts +++ b/tools/winscope/src/flickerlib/windows/WindowContainer.ts @@ -29,7 +29,8 @@ import { import Activity from "./Activity" import DisplayArea from "./DisplayArea" import DisplayContent from "./DisplayContent" -import ActivityTask from "./ActivityTask" +import Task from "./Task" +import TaskFragment from "./TaskFragment" import WindowState from "./WindowState" import WindowToken from "./WindowToken" @@ -70,7 +71,8 @@ WindowContainer.fromProto = function ({ WindowContainer.childrenFromProto = function(proto, isActivityInTree: Boolean): WindowContainerChild { return DisplayContent.fromProto(proto.displayContent, isActivityInTree) ?? DisplayArea.fromProto(proto.displayArea, isActivityInTree) ?? - ActivityTask.fromProto(proto.task, isActivityInTree) ?? + Task.fromProto(proto.task, isActivityInTree) ?? + TaskFragment.fromProto(proto.taskFragment, isActivityInTree) ?? Activity.fromProto(proto.activity) ?? WindowToken.fromProto(proto.windowToken, isActivityInTree) ?? WindowState.fromProto(proto.window, isActivityInTree) ?? |