| /* |
| * Copyright 2020, 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. |
| */ |
| |
| // Imports all the compiled common Flicker library classes and exports them |
| // as clean es6 modules rather than having them be commonjs modules |
| |
| // WM |
| const WindowManagerTrace = require('flicker').com.android.server.wm.traces. |
| common.windowmanager.WindowManagerTrace; |
| const WindowManagerState = require('flicker').com.android.server.wm.traces. |
| common.windowmanager.WindowManagerState; |
| const Activity = require('flicker').com.android.server.wm.traces.common. |
| windowmanager.windows.Activity; |
| const Configuration = require('flicker').com.android.server.wm.traces.common. |
| windowmanager.windows.Configuration; |
| const ConfigurationContainer = require('flicker').com.android.server.wm.traces. |
| common.windowmanager.windows.ConfigurationContainer; |
| const DisplayArea = require('flicker').com.android.server.wm.traces.common. |
| windowmanager.windows.DisplayArea; |
| const DisplayContent = require('flicker').com.android.server.wm.traces.common. |
| windowmanager.windows.DisplayContent; |
| const KeyguardControllerState = require('flicker').com.android.server.wm. |
| traces.common.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. |
| windowmanager.windows.WindowContainer; |
| const WindowLayoutParams= require('flicker').com.android.server.wm.traces. |
| common.windowmanager.windows.WindowLayoutParams; |
| const WindowManagerPolicy = require('flicker').com.android.server.wm.traces. |
| common.windowmanager.windows.WindowManagerPolicy; |
| const WindowState = require('flicker').com.android.server.wm.traces.common. |
| windowmanager.windows.WindowState; |
| const WindowToken = require('flicker').com.android.server.wm.traces.common. |
| windowmanager.windows.WindowToken; |
| |
| // SF |
| const Layer = require('flicker').com.android.server.wm.traces.common. |
| layers.Layer; |
| const LayerTraceEntry = require('flicker').com.android.server.wm.traces.common. |
| layers.LayerTraceEntry; |
| const LayerTraceEntryBuilder = require('flicker').com.android.server.wm.traces. |
| common.layers.LayerTraceEntryBuilder; |
| const LayersTrace = require('flicker').com.android.server.wm.traces.common. |
| layers.LayersTrace; |
| const Matrix = require('flicker').com.android.server.wm.traces.common.layers. |
| Transform.Matrix; |
| const Transform = require('flicker').com.android.server.wm.traces.common. |
| layers.Transform; |
| |
| // Common |
| const Size = require('flicker').com.android.server.wm.traces.common.Size; |
| const Buffer = require('flicker').com.android.server.wm.traces.common.Buffer; |
| const Color = require('flicker').com.android.server.wm.traces.common.Color; |
| const Point = require('flicker').com.android.server.wm.traces.common.Point; |
| const Rect = require('flicker').com.android.server.wm.traces.common.Rect; |
| const RectF = require('flicker').com.android.server.wm.traces.common.RectF; |
| const Region = require('flicker').com.android.server.wm.traces.common.Region; |
| |
| const EMPTY_BUFFER = new Buffer(0, 0, 0, 0); |
| const EMPTY_COLOR = new Color(-1, -1, -1, 0); |
| const EMPTY_RECT = new Rect(0, 0, 0, 0); |
| const EMPTY_RECTF = new RectF(0, 0, 0, 0); |
| const EMPTY_POINT = new Point(0, 0); |
| const EMPTY_MATRIX = new Matrix(0, 0, 0, 0, 0, 0); |
| const EMPTY_TRANSFORM = new Transform(0, EMPTY_MATRIX); |
| |
| function toSize(proto) { |
| if (proto == null) { |
| return EMPTY_BOUNDS; |
| } |
| const width = proto.width ?? proto.w ?? 0; |
| const height = proto.height ?? proto.h ?? 0; |
| if (width || height) { |
| return new Size(width, height); |
| } |
| return EMPTY_BOUNDS; |
| } |
| |
| function toBuffer(proto) { |
| const width = proto?.width ?? 0; |
| const height = proto?.height ?? 0; |
| const stride = proto?.stride ?? 0; |
| const format = proto?.format ?? 0; |
| |
| if (width || height || stride || format) { |
| return new Buffer(width, height, stride, format); |
| } |
| return EMPTY_BUFFER; |
| } |
| |
| function toColor(proto) { |
| if (proto == null) { |
| return EMPTY_COLOR; |
| } |
| const r = proto.r ?? 0; |
| const g = proto.g ?? 0; |
| const b = proto.b ?? 0; |
| const a = proto.a ?? 0; |
| if (r || g || b || a) { |
| return new Color(r, g, b, a); |
| } |
| return EMPTY_COLOR; |
| } |
| |
| function toPoint(proto) { |
| if (proto == null) { |
| return null; |
| } |
| const x = proto.x ?? 0; |
| const y = proto.y ?? 0; |
| if (x || y) { |
| return new Point(x, y); |
| } |
| return EMPTY_POINT; |
| } |
| |
| function toRect(proto) { |
| if (proto == null) { |
| return EMPTY_RECT; |
| } |
| |
| const left = proto?.left ?? 0; |
| const top = proto?.top ?? 0; |
| const right = proto?.right ?? 0; |
| const bottom = proto?.bottom ?? 0; |
| if (left || top || right || bottom) { |
| return new Rect(left, top, right, bottom); |
| } |
| return EMPTY_RECT; |
| } |
| |
| function toRectF(proto) { |
| if (proto == null) { |
| return EMPTY_RECTF; |
| } |
| |
| const left = proto?.left ?? 0; |
| const top = proto?.top ?? 0; |
| const right = proto?.right ?? 0; |
| const bottom = proto?.bottom ?? 0; |
| if (left || top || right || bottom) { |
| return new RectF(left, top, right, bottom); |
| } |
| return EMPTY_RECTF; |
| } |
| |
| function toRegion(proto) { |
| if (proto == null) { |
| return null; |
| } |
| |
| const rects = []; |
| for (let x = 0; x < proto.rect.length; x++) { |
| const rect = proto.rect[x]; |
| const parsedRect = toRect(rect); |
| rects.push(parsedRect); |
| } |
| |
| return new Region(rects); |
| } |
| |
| function toTransform(proto) { |
| if (proto == null) { |
| return EMPTY_TRANSFORM; |
| } |
| const dsdx = proto.dsdx ?? 0; |
| const dtdx = proto.dtdx ?? 0; |
| const tx = proto.tx ?? 0; |
| const dsdy = proto.dsdy ?? 0; |
| const dtdy = proto.dtdy ?? 0; |
| const ty = proto.ty ?? 0; |
| |
| if (dsdx || dtdx || tx || dsdy || dtdy || ty) { |
| const matrix = new Matrix(dsdx, dtdx, tx, dsdy, dtdy, ty); |
| return new Transform(proto.type ?? 0, matrix); |
| } |
| |
| if (proto.type) { |
| return new Transform(proto.type ?? 0, EMPTY_MATRIX); |
| } |
| return EMPTY_TRANSFORM; |
| } |
| |
| export { |
| Activity, |
| Configuration, |
| ConfigurationContainer, |
| DisplayArea, |
| DisplayContent, |
| KeyguardControllerState, |
| RootWindowContainer, |
| Task, |
| TaskFragment, |
| WindowConfiguration, |
| WindowContainer, |
| WindowState, |
| WindowToken, |
| WindowLayoutParams, |
| WindowManagerPolicy, |
| WindowManagerTrace, |
| WindowManagerState, |
| // SF |
| Layer, |
| LayerTraceEntry, |
| LayerTraceEntryBuilder, |
| LayersTrace, |
| Transform, |
| Matrix, |
| // Common |
| Size, |
| Buffer, |
| Color, |
| Point, |
| Rect, |
| RectF, |
| Region, |
| toSize, |
| toBuffer, |
| toColor, |
| toPoint, |
| toRect, |
| toRectF, |
| toRegion, |
| toTransform, |
| }; |