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 Long from 'long'; 17import * as protobuf from 'protobufjs'; 18 19protobuf.util.Long = Long; // otherwise 64-bit types would be decoded as javascript number (only 53-bits precision) 20protobuf.configure(); 21 22import protoLogJson from 'frameworks/base/core/proto/android/internal/protolog.proto'; 23import accessibilityJson from 'frameworks/base/core/proto/android/server/accessibilitytrace.proto'; 24import windowManagerJson from 'frameworks/base/core/proto/android/server/windowmanagertrace.proto'; 25import wmTransitionsJson from 'frameworks/base/core/proto/android/server/windowmanagertransitiontrace.proto'; 26import inputMethodClientsJson from 'frameworks/base/core/proto/android/view/inputmethod/inputmethodeditortrace.proto'; 27import shellTransitionsJson from 'frameworks/base/libs/WindowManager/Shell/proto/wm_shell_transition_trace.proto'; 28import viewCaptureJson from 'frameworks/libs/systemui/viewcapturelib/src/com/android/app/viewcapture/proto/view_capture.proto'; 29import layersJson from 'frameworks/native/services/surfaceflinger/layerproto/layerstrace.proto'; 30import transactionsJson from 'frameworks/native/services/surfaceflinger/layerproto/transactions.proto'; 31 32const AccessibilityTraceFileProto = protobuf.Root.fromJSON(accessibilityJson).lookupType( 33 'com.android.server.accessibility.AccessibilityTraceFileProto' 34); 35const InputMethodClientsTraceFileProto = protobuf.Root.fromJSON(inputMethodClientsJson).lookupType( 36 'android.view.inputmethod.InputMethodClientsTraceFileProto' 37); 38const InputMethodManagerServiceTraceFileProto = protobuf.Root.fromJSON( 39 inputMethodClientsJson 40).lookupType('android.view.inputmethod.InputMethodManagerServiceTraceFileProto'); 41const InputMethodServiceTraceFileProto = protobuf.Root.fromJSON(inputMethodClientsJson).lookupType( 42 'android.view.inputmethod.InputMethodServiceTraceFileProto' 43); 44const LayersTraceFileProto = protobuf.Root.fromJSON(layersJson).lookupType( 45 'android.surfaceflinger.LayersTraceFileProto' 46); 47const ProtoLogFileProto = protobuf.Root.fromJSON(protoLogJson).lookupType( 48 'com.android.internal.protolog.ProtoLogFileProto' 49); 50const TransactionsTraceFileProto = protobuf.Root.fromJSON(transactionsJson).lookupType( 51 'android.surfaceflinger.proto.TransactionTraceFile' 52); 53const WindowManagerServiceDumpProto = protobuf.Root.fromJSON(windowManagerJson).lookupType( 54 'com.android.server.wm.WindowManagerServiceDumpProto' 55); 56const WindowManagerTraceFileProto = protobuf.Root.fromJSON(windowManagerJson).lookupType( 57 'com.android.server.wm.WindowManagerTraceFileProto' 58); 59const WmTransitionsTraceFileProto = protobuf.Root.fromJSON(wmTransitionsJson).lookupType( 60 'com.android.server.wm.shell.TransitionTraceProto' 61); 62const ShellTransitionsTraceFileProto = protobuf.Root.fromJSON(shellTransitionsJson).lookupType( 63 'com.android.wm.shell.WmShellTransitionTraceProto' 64); 65 66const ExportedData = protobuf.Root.fromJSON(viewCaptureJson).lookupType( 67 'com.android.app.viewcapture.data.ExportedData' 68); 69 70export { 71 AccessibilityTraceFileProto, 72 InputMethodClientsTraceFileProto, 73 InputMethodManagerServiceTraceFileProto, 74 InputMethodServiceTraceFileProto, 75 LayersTraceFileProto, 76 ProtoLogFileProto, 77 TransactionsTraceFileProto, 78 WindowManagerServiceDumpProto, 79 WindowManagerTraceFileProto, 80 WmTransitionsTraceFileProto, 81 ShellTransitionsTraceFileProto, 82 ExportedData, 83}; 84