blob: 7e329f18ec6ac18ba64a4d960a9f15e4ca111e79 [file] [log] [blame]
/*
* 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
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 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.
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 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;
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;
const Bounds = require('flicker').com.android.server.wm.traces.common.Bounds;
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;
function toBounds(proto) {
if (proto == null) {
return null
}
return new Bounds(proto.width ?? proto.w ?? 0, proto.height ?? proto.h ?? 0)
}
function toBuffer(proto) {
if (proto == null) {
return null
}
return new Buffer(proto.width ?? 0, proto.height ?? 0, proto.stride ?? 0, proto.format ?? 0)
}
function toColor(proto) {
if (proto == null) {
return null
}
return new Color(proto.r ?? 0, proto.g ?? 0, proto.b ?? 0, proto.a ?? 0)
}
function toPoint(proto) {
if (proto == null) {
return null
}
return new Point(proto.x ?? 0, proto.y ?? 0)
}
function toRect(proto) {
if (proto == null) {
return null
}
return new Rect(proto.left ?? 0, proto.top ?? 0, proto.right ?? 0, proto.bottom ?? 0)
}
function toRectF(proto) {
if (proto == null) {
return null
}
return new RectF(proto.left ?? 0, proto.top ?? 0, proto.right ?? 0, proto.bottom ?? 0)
}
function toRegion(proto) {
if (proto == null) {
return null
}
let rects = []
for (let rectNr in proto.rect) {
const rect = proto.rect[rectNr]
const parsedRect = toRect(rect)
rects.push(parsedRect)
}
return new Region(rects)
}
function toTransform(proto) {
if (proto == null) {
return null
}
const matrix = new Matrix(proto.dsdx ?? 0, proto.dtdx ?? 0,
proto.tx ?? 0, proto.dsdy ?? 0, proto.dtdy ?? 0, proto.ty ?? 0)
return new Transform(proto.type ?? 0, matrix)
}
export {
Activity,
ActivityTask,
Configuration,
ConfigurationContainer,
DisplayArea,
DisplayContent,
KeyguardControllerState,
RootWindowContainer,
WindowConfiguration,
WindowContainer,
WindowState,
WindowToken,
WindowLayoutParams,
WindowManagerPolicy,
WindowManagerTrace,
WindowManagerState,
Bounds,
Buffer,
Color,
Point,
Rect,
RectF,
Region,
toBounds,
toBuffer,
toColor,
toPoint,
toRect,
toRectF,
toRegion,
toTransform
};