diff --git a/tools/winscope/src/PropertiesTableView.vue b/tools/winscope/src/PropertiesTableView.vue
new file mode 100644
index 000000000..bb001c6f4
--- /dev/null
+++ b/tools/winscope/src/PropertiesTableView.vue
@@ -0,0 +1,75 @@
+
+
+
+ Key properties
+
+
+
+ {{ propertyName }}
+
+
+ {{ propertyValue != null ? propertyValue : 'undefined' }}
+
+
+
+
+
+
+
+
+
diff --git a/tools/winscope/src/TraceView.vue b/tools/winscope/src/TraceView.vue
index a2bbb97a1..498a8352f 100644
--- a/tools/winscope/src/TraceView.vue
+++ b/tools/winscope/src/TraceView.vue
@@ -53,23 +53,29 @@
/>
-
@@ -149,6 +155,7 @@ import Rects from './Rects.vue';
import FlatCard from './components/FlatCard.vue';
import PropertiesTreeElement from './PropertiesTreeElement.vue';
import SurfaceFlingerPropertyGroups from '@/SurfaceFlingerPropertyGroups.vue';
+import PropertiesTableView from './PropertiesTableView';
import {ObjectTransformer} from './transform.js';
import {DiffGenerator, defaultModifiedCheck} from './utils/diff.js';
@@ -438,12 +445,34 @@ export default {
hasTagsOrErrors() {
return this.presentTags.length > 0 || this.presentErrors.length > 0;
},
+ propertiesForTableView() {
+ if (this.file.type == TRACE_TYPES.IME_CLIENTS) {
+ return {
+ 'methodId': this.item.obj.client?.inputMethodManager?.curId,
+ 'packageName': this.item.obj.client?.editorInfo?.packageName,
+ };
+ } else if (this.file.type == TRACE_TYPES.IME_SERVICE) {
+ return {
+ 'windowVisible': this.item.obj.inputMethodService?.windowVisible,
+ 'decorViewVisible': this.item.obj.inputMethodService?.decorViewVisible,
+ 'packageName': this.item.obj.inputMethodService?.inputEditorInfo?.packageName,
+ };
+ } else if (this.file.type == TRACE_TYPES.IME_MANAGERSERVICE) {
+ return {
+ 'methodId': this.item.obj.inputMethodManagerService?.curMethodId,
+ 'curFocusedWindow': this.item.obj.inputMethodManagerService?.curFocusedWindowName,
+ 'lastImeTargetWindow': this.item.obj.inputMethodManagerService?.lastImeTargetWindowName,
+ 'inputShown': this.item.obj.inputMethodManagerService?.inputShown,
+ };
+ }
+ },
},
components: {
'tree-view': TreeView,
'rects': Rects,
'flat-card': FlatCard,
'sf-property-groups': SurfaceFlingerPropertyGroups,
+ 'properties-table-view': PropertiesTableView,
},
};
@@ -486,6 +515,7 @@ function getFilter(filterString) {
margin: 8px;
min-width: 400px;
min-height: 70rem;
+ max-height: 70rem;
}
.rects,
@@ -508,6 +538,7 @@ function getFilter(filterString) {
.treeview {
overflow: auto;
white-space: pre-line;
+ flex: 1 0 0;
}
.no-properties {
@@ -546,6 +577,7 @@ function getFilter(filterString) {
color: rgba(0, 0, 0, 0.75);
}
+.hierarchy-content,
.properties-content {
display: flex;
flex-direction: column;
@@ -557,8 +589,4 @@ function getFilter(filterString) {
flex-direction: column;
flex: 1;
}
-
-.treeview {
- flex: 1 0 0;
-}
diff --git a/tools/winscope/src/transform_ime.js b/tools/winscope/src/transform_ime.js
index cd317c8c0..718a05461 100644
--- a/tools/winscope/src/transform_ime.js
+++ b/tools/winscope/src/transform_ime.js
@@ -28,9 +28,7 @@ function transform_client_dump(entry) {
return transform({
obj: transform_input_connection_call(entry),
kind: 'Client',
- name: '\n- methodId ' + entry?.inputMethodManager?.curId
- + '\n- view ' + entry?.viewRootImpl?.view
- + '\n- packageName ' + entry?.editorInfo?.packageName,
+ name: entry?.viewRootImpl?.view,
children: [],
stableId: 'client'
});
@@ -64,9 +62,7 @@ function transform_service_dump(entry) {
return transform({
obj: transform_input_connection_call(entry),
kind: 'InputMethodService',
- name: '\n- windowVisible ' + entry?.windowVisible
- + '\n- decorViewVisible ' + entry?.decorViewVisible
- + '\n- packageName ' + entry?.inputEditorInfo?.packageName,
+ name: '',
children: [],
stableId: 'service'
});
@@ -100,10 +96,7 @@ function transform_managerservice_dump(entry) {
return transform({
obj: entry,
kind: 'InputMethodManagerService',
- name: '\n- methodId ' + entry?.curMethodId
- + '\n- curFocusedWindow ' + entry?.curFocusedWindowName
- + '\n- lastImeTargetWindow ' + entry?.lastImeTargetWindowName
- + '\n- inputShown ' + entry?.inputShown,
+ name: '',
children: [],
stableId: 'managerservice'
});