1/* 2 * Copyright (C) 2022 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16import {Cuj, Event, Transition} from 'trace/flickerlib/common'; 17import {LayerTraceEntry} from './flickerlib/layers/LayerTraceEntry'; 18import {WindowManagerState} from './flickerlib/windows/WindowManagerState'; 19import {LogMessage} from './protolog'; 20import {ScreenRecordingTraceEntry} from './screen_recording'; 21 22export enum TraceType { 23 ACCESSIBILITY, 24 WINDOW_MANAGER, 25 SURFACE_FLINGER, 26 SCREEN_RECORDING, 27 TRANSACTIONS, 28 TRANSACTIONS_LEGACY, 29 WAYLAND, 30 WAYLAND_DUMP, 31 PROTO_LOG, 32 SYSTEM_UI, 33 LAUNCHER, 34 INPUT_METHOD_CLIENTS, 35 INPUT_METHOD_MANAGER_SERVICE, 36 INPUT_METHOD_SERVICE, 37 EVENT_LOG, 38 WM_TRANSITION, 39 SHELL_TRANSITION, 40 TRANSITION, 41 CUJS, 42 TAG, 43 ERROR, 44 TEST_TRACE_STRING, 45 TEST_TRACE_NUMBER, 46 VIEW_CAPTURE, 47} 48 49export interface TraceEntryTypeMap { 50 [TraceType.ACCESSIBILITY]: object; 51 [TraceType.LAUNCHER]: object; 52 [TraceType.PROTO_LOG]: LogMessage; 53 [TraceType.SURFACE_FLINGER]: LayerTraceEntry; 54 [TraceType.SCREEN_RECORDING]: ScreenRecordingTraceEntry; 55 [TraceType.SYSTEM_UI]: object; 56 [TraceType.TRANSACTIONS]: object; 57 [TraceType.TRANSACTIONS_LEGACY]: object; 58 [TraceType.WAYLAND]: object; 59 [TraceType.WAYLAND_DUMP]: object; 60 [TraceType.WINDOW_MANAGER]: WindowManagerState; 61 [TraceType.INPUT_METHOD_CLIENTS]: object; 62 [TraceType.INPUT_METHOD_MANAGER_SERVICE]: object; 63 [TraceType.INPUT_METHOD_SERVICE]: object; 64 [TraceType.EVENT_LOG]: Event; 65 [TraceType.WM_TRANSITION]: object; 66 [TraceType.SHELL_TRANSITION]: object; 67 [TraceType.TRANSITION]: Transition; 68 [TraceType.CUJS]: Cuj; 69 [TraceType.TAG]: object; 70 [TraceType.ERROR]: object; 71 [TraceType.TEST_TRACE_STRING]: string; 72 [TraceType.TEST_TRACE_NUMBER]: number; 73 [TraceType.VIEW_CAPTURE]: object; 74} 75