From 3a01939e031369622643116cf296ae6bae314f87 Mon Sep 17 00:00:00 2001 From: Kean Mariotti Date: Mon, 6 Mar 2023 15:53:22 +0000 Subject: [PATCH] Integrate "UI Traces API" with Winscope App/Core Bug: b/256564627 Test: npm run build:all && npm run test:all Change-Id: Ic434abc3031b9d53ddb6289fed747971e90c430e --- .../src/app/components/app_component.ts | 12 +- .../components/collect_traces_component.ts | 4 +- .../app/components/upload_traces_component.ts | 16 +- tools/winscope/src/app/mediator.ts | 80 +++-- tools/winscope/src/app/mediator_test.ts | 77 ++--- tools/winscope/src/app/timeline_data.ts | 313 ++++++++---------- tools/winscope/src/app/timeline_data_test.ts | 203 ++++++------ tools/winscope/src/app/trace_pipeline.ts | 108 +++--- tools/winscope/src/app/trace_pipeline_test.ts | 136 ++++---- ...r.ts => trace_position_update_listener.ts} | 6 +- 10 files changed, 449 insertions(+), 506 deletions(-) rename tools/winscope/src/interfaces/{timestamp_change_listener.ts => trace_position_update_listener.ts} (80%) diff --git a/tools/winscope/src/app/components/app_component.ts b/tools/winscope/src/app/components/app_component.ts index a4c971a55..e22b7c737 100644 --- a/tools/winscope/src/app/components/app_component.ts +++ b/tools/winscope/src/app/components/app_component.ts @@ -273,11 +273,7 @@ export class AppComponent implements TraceDataListener { } getLoadedTraceTypes(): TraceType[] { - return this.tracePipeline.getLoadedTraces().map((trace) => trace.type); - } - - getVideoData(): Blob | undefined { - return this.timelineData.getScreenRecordingVideo(); + return this.tracePipeline.getLoadedTraceFiles().map((trace) => trace.type); } onTraceDataLoaded(viewers: Viewer[]) { @@ -325,8 +321,8 @@ export class AppComponent implements TraceDataListener { private makeActiveTraceFileInfo(view: View): string { const traceFile = this.tracePipeline - .getLoadedTraces() - .find((trace) => trace.type === view.dependencies[0])?.traceFile; + .getLoadedTraceFiles() + .find((file) => file.type === view.dependencies[0])?.traceFile; if (!traceFile) { return ''; @@ -340,7 +336,7 @@ export class AppComponent implements TraceDataListener { } private async makeTraceFilesForDownload(): Promise { - return this.tracePipeline.getLoadedTraces().map((trace) => { + return this.tracePipeline.getLoadedTraceFiles().map((trace) => { const traceType = TRACE_INFO[trace.type].name; const newName = traceType + '/' + FileUtils.removeDirFromFileName(trace.traceFile.file.name); return new File([trace.traceFile.file], newName); diff --git a/tools/winscope/src/app/components/collect_traces_component.ts b/tools/winscope/src/app/components/collect_traces_component.ts index 521515a83..961f798f5 100644 --- a/tools/winscope/src/app/components/collect_traces_component.ts +++ b/tools/winscope/src/app/components/collect_traces_component.ts @@ -29,7 +29,7 @@ import { import {MatSnackBar} from '@angular/material/snack-bar'; import {TracePipeline} from 'app/trace_pipeline'; import {PersistentStore} from 'common/persistent_store'; -import {TraceFile} from 'trace/trace'; +import {TraceFile} from 'trace/trace_file'; import {Connection} from 'trace_collection/connection'; import {ProxyState} from 'trace_collection/proxy_client'; import {ProxyConnection} from 'trace_collection/proxy_connection'; @@ -518,7 +518,7 @@ export class CollectTracesComponent implements OnInit, OnDestroy { console.log('loading files', this.connect.adbData()); this.tracePipeline.clear(); const traceFiles = this.connect.adbData().map((file) => new TraceFile(file)); - const parserErrors = await this.tracePipeline.loadTraces(traceFiles); + const parserErrors = await this.tracePipeline.loadTraceFiles(traceFiles); ParserErrorSnackBarComponent.showIfNeeded(this.ngZone, this.snackBar, parserErrors); this.traceDataLoaded.emit(); console.log('finished loading data!'); diff --git a/tools/winscope/src/app/components/upload_traces_component.ts b/tools/winscope/src/app/components/upload_traces_component.ts index 8993667b5..f53e696f8 100644 --- a/tools/winscope/src/app/components/upload_traces_component.ts +++ b/tools/winscope/src/app/components/upload_traces_component.ts @@ -27,7 +27,7 @@ import {TRACE_INFO} from 'app/trace_info'; import {TracePipeline} from 'app/trace_pipeline'; import {FileUtils, OnFile} from 'common/file_utils'; import {FilesDownloadListener} from 'interfaces/files_download_listener'; -import {Trace, TraceFile} from 'trace/trace'; +import {LoadedTraceFile, TraceFile} from 'trace/trace_file'; import {ParserErrorSnackBarComponent} from './parser_error_snack_bar_component'; @Component({ @@ -58,9 +58,9 @@ import {ParserErrorSnackBarComponent} from './parser_error_snack_bar_component'; - + {{ TRACE_INFO[trace.type].icon }} @@ -74,7 +74,7 @@ import {ParserErrorSnackBarComponent} from './parser_error_snack_bar_component';

@@ -84,7 +84,7 @@ import {ParserErrorSnackBarComponent} from './parser_error_snack_bar_component';