diff --git a/tools/winscope/src/Overlay.vue b/tools/winscope/src/Overlay.vue index 4bb051e49..0f60280ca 100644 --- a/tools/winscope/src/Overlay.vue +++ b/tools/winscope/src/Overlay.vue @@ -91,7 +91,8 @@ name="navigationStyle" md-dense > - @@ -412,7 +413,11 @@ export default { } if (this.navigationStyle === NAVIGATION_STYLE.FOCUSED) { - return this.focusedFile; + //dumps do not have a timeline, so if scrolling over a dump, show merged timeline + if (this.focusedFile.timeline) { + return this.focusedFile; + } + return this.mergedTimeline; } if (this.navigationStyle === NAVIGATION_STYLE.CUSTOM) { diff --git a/tools/winscope/src/decode.js b/tools/winscope/src/decode.js index 6c95adfd6..953971478 100644 --- a/tools/winscope/src/decode.js +++ b/tools/winscope/src/decode.js @@ -320,7 +320,7 @@ const FILE_DECODERS = { mime: 'application/octet-stream', protoType: SfDumpMessage, transform: SurfaceFlingerDump.fromProto, - timeline: false, + timeline: true, }, }, [FILE_TYPES.WINDOW_MANAGER_DUMP]: { @@ -331,7 +331,7 @@ const FILE_DECODERS = { mime: 'application/octet-stream', protoType: WmDumpMessage, transform: WindowManagerDump.fromProto, - timeline: false, + timeline: true, }, }, [FILE_TYPES.WAYLAND_DUMP]: { @@ -342,7 +342,7 @@ const FILE_DECODERS = { mime: 'application/octet-stream', protoType: WaylandDumpMessage, transform: transform_wl_outputstate, - timeline: false, + timeline: true, }, }, [FILE_TYPES.SCREEN_RECORDING]: { diff --git a/tools/winscope/src/main.js b/tools/winscope/src/main.js index 9c1816505..907e7de0e 100644 --- a/tools/winscope/src/main.js +++ b/tools/winscope/src/main.js @@ -252,6 +252,9 @@ const store = new Vuex.Store({ }, updateTimelineTime(context, timestamp) { for (const file of context.getters.files) { + //dumps do not have a timeline, so only look at files with timelines to update the timestamp + if (!file.timeline) continue; + const type = file.type; const entryIndex = findLastMatchingSorted( file.timeline,