diff --git a/tools/winscope/src/App.vue b/tools/winscope/src/App.vue
index 291ae7a4a..ab88a1bde 100644
--- a/tools/winscope/src/App.vue
+++ b/tools/winscope/src/App.vue
@@ -52,6 +52,8 @@
:ref="file.type"
:store="store"
:file="file"
+ :presentTags="Object.freeze(presentTags)"
+ :presentErrors="Object.freeze(presentErrors)"
@click="onDataViewFocus(file)"
/>
@@ -102,6 +104,7 @@ export default {
simplifyNames: true,
displayDefaults: true,
navigationStyle: NAVIGATION_STYLE.GLOBAL,
+ flickerTraceView: false,
}),
overlayRef: 'overlay',
mainContentStyle: {
@@ -110,7 +113,6 @@ export default {
presentTags: [],
presentErrors: [],
searchTypes: [SEARCH_TYPE.TIMESTAMP],
- tagAndErrorTraces: false,
};
},
created() {
@@ -124,7 +126,7 @@ export default {
},
methods: {
- /** get states from either tag files or error files */
+ /** Get states from either tag files or error files */
getUpdatedStates(files) {
var states = [];
for (const file of files) {
@@ -132,7 +134,7 @@ export default {
}
return states;
},
- /** get tags from all uploaded tag files*/
+ /** Get tags from all uploaded tag files*/
getUpdatedTags() {
var tagStates = this.getUpdatedStates(this.tagFiles);
var tags = [];
@@ -144,7 +146,7 @@ export default {
});
return tags;
},
- /** get tags from all uploaded error files*/
+ /** Get tags from all uploaded error files*/
getUpdatedErrors() {
var errorStates = this.getUpdatedStates(this.errorFiles);
var errors = [];
@@ -157,11 +159,11 @@ export default {
});
return errors;
},
- /** set flicker mode check for if there are tag/error traces uploaded*/
+ /** Set flicker mode check for if there are tag/error traces uploaded*/
shouldUpdateTagAndErrorTraces() {
return this.tagFiles.length > 0 || this.errorFiles.length > 0;
},
- /** activate flicker search tab if tags/errors uploaded*/
+ /** Activate flicker search tab if tags/errors uploaded*/
updateSearchTypes() {
this.searchTypes = [SEARCH_TYPE.TIMESTAMP];
if (this.tagAndErrorTraces) this.searchTypes.push(SEARCH_TYPE.TAG);
diff --git a/tools/winscope/src/DataView.vue b/tools/winscope/src/DataView.vue
index db3c07f5f..7db5699f1 100644
--- a/tools/winscope/src/DataView.vue
+++ b/tools/winscope/src/DataView.vue
@@ -40,12 +40,16 @@
v-if="showInWindowManagerTraceView(file)"
:store="store"
:file="file"
+ :presentTags="presentTags"
+ :presentErrors="presentErrors"
ref="view"
/>
+
+
@@ -100,4 +124,12 @@ span {
flex: 1 1 auto;
width: 0;
}
+
+.flicker-tags {
+ display: inline-block;
+}
+
+.error-arrow {
+ color: red;
+}
diff --git a/tools/winscope/src/Searchbar.vue b/tools/winscope/src/Searchbar.vue
index 1f5fa4e64..f893122af 100644
--- a/tools/winscope/src/Searchbar.vue
+++ b/tools/winscope/src/Searchbar.vue
@@ -76,7 +76,7 @@
class="inline-error"
@click="setCurrentTimestamp(item.timestamp)"
>
- Error
+ Error: {{item.message}}
@@ -117,17 +117,17 @@ export default {
};
},
methods: {
- /** set search type depending on tab selected */
+ /** Set search type depending on tab selected */
setSearchType(searchType) {
this.searchType = searchType;
},
- /** set tab class to determine color highlight for active tab */
+ /** Set tab class to determine color highlight for active tab */
tabClass(searchType) {
var isActive = (this.searchType === searchType) ? 'active' : 'inactive';
return ['tab', isActive];
},
- /** filter all the tags present in the trace by the searchbar input */
+ /** Filter all the tags present in the trace by the searchbar input */
filteredTags() {
var tags = [];
var filter = this.searchInput.toUpperCase();
@@ -136,7 +136,7 @@ export default {
});
return tags;
},
- /** add filtered errors to filtered tags to integrate both into table*/
+ /** Add filtered errors to filtered tags to integrate both into table*/
filteredTagsAndErrors() {
var tagsAndErrors = [...this.filteredTags()];
var filter = this.searchInput.toUpperCase();
@@ -148,9 +148,9 @@ export default {
return tagsAndErrors;
},
- /** each transition has two tags present
- * isolate the tags for the desire transition
- * add a desc to display the timestamps as strings
+ /** Each transition has two tags present
+ * Isolate the tags for the desire transition
+ * Add a desc to display the timestamps as strings
*/
transitionTags(id) {
var tags = this.filteredTags().filter((tag) => tag.id === id);
@@ -160,36 +160,36 @@ export default {
return tags;
},
- /** find the start as minimum timestamp in transition tags */
+ /** Find the start as minimum timestamp in transition tags */
transitionStart(tags) {
var times = tags.map((tag) => tag.timestamp);
return times[0];
},
- /** find the end as maximum timestamp in transition tags */
+ /** Find the end as maximum timestamp in transition tags */
transitionEnd(tags) {
var times = tags.map((tag) => tag.timestamp);
return times[times.length - 1];
},
- /** upon selecting a start/end tag in the dropdown;
+ /** Upon selecting a start/end tag in the dropdown;
* navigates to that timestamp in the timeline */
setCurrentTimestamp(timestamp) {
this.$store.dispatch("updateTimelineTime", timestamp);
},
- /** colour codes text of transition in dropdown */
+ /** Colour codes text of transition in dropdown */
transitionTextColor(transition) {
return transitionMap.get(transition).color;
},
- /** displays transition description rather than variable name */
+ /** Displays transition description rather than variable name */
transitionDesc(transition) {
return transitionMap.get(transition).desc;
},
- /** add a desc to display the error timestamps as strings */
+ /** Add a desc to display the error timestamps as strings */
errorDesc(timestamp) {
return nanos_to_string(timestamp);
},
- /** navigates to closest timestamp in timeline to search input*/
+ /** Navigates to closest timestamp in timeline to search input*/
updateSearchForTimestamp() {
if (regExpTimestampSearch.test(this.searchInput)) {
var roundedTimestamp = parseInt(this.searchInput);
diff --git a/tools/winscope/src/SurfaceFlingerTraceView.vue b/tools/winscope/src/SurfaceFlingerTraceView.vue
index b40aab155..5a848c10b 100644
--- a/tools/winscope/src/SurfaceFlingerTraceView.vue
+++ b/tools/winscope/src/SurfaceFlingerTraceView.vue
@@ -14,7 +14,13 @@
-->
-
+