Add fields to WM&SF Properties panel for Ime IMMS

Add windowContainer > identifier > title property for imeControlTarget,
imeInputTarget and imeLayeringTarget, which are extracted from WM trace,
into the WM&SF Properties panel for ImeTrace InputMethodManagerService.

Also, change the titles of 'IME...Target' properties into clickable
text (originally, the clickable text was in the right column).

Screenshot: https://screenshot.googleplex.com/BWZFJgca2YmXk6X.png
Bug: 236226833
Test: manual on local build of Winscope
Change-Id: I8da832fa36c722688c73a16d5381d7ef49fbfb0e
This commit is contained in:
Hui Ling Shi
2022-08-04 12:56:46 +00:00
parent f6593124e5
commit cba772e665

View File

@@ -68,43 +68,43 @@
<div />
</div>
</div>
<div class="group">
<span class="group-header">Control Target</span>
<div class="group" v-if="wmImeControlTargetOrNull">
<button
class="text-button group-header"
:class="{ 'selected': isSelected(wmImeControlTargetOrNull) }"
@click="onClickShowInPropertiesPanel(wmImeControlTargetOrNull)">
IME Control Target
</button>
<div class="full-width">
<button
class="text-button"
:class="{ 'selected': isSelected(wmImeControlTargetOrNull) }"
v-if="wmImeControlTargetOrNull"
@click="onClickShowInPropertiesPanel(wmImeControlTargetOrNull)">
IME Control Target
</button>
<span class="value" v-else>null</span>
<span class="key" v-if="wmImeControlTargetTitleOrNull">Title:</span>
<span class="value" v-if="wmImeControlTargetTitleOrNull">{{
wmImeControlTargetTitleOrNull }}</span>
</div>
</div>
<div class="group">
<span class="group-header">Input Target</span>
<div class="group" v-if="wmImeInputTargetOrNull">
<button
class="text-button group-header"
:class="{ 'selected': isSelected(wmImeInputTargetOrNull) }"
@click="onClickShowInPropertiesPanel(wmImeInputTargetOrNull)">
IME Input Target
</button>
<div class="full-width">
<button
class="text-button"
:class="{ 'selected': isSelected(wmImeInputTargetOrNull) }"
v-if="wmImeInputTargetOrNull"
@click="onClickShowInPropertiesPanel(wmImeInputTargetOrNull)">
IME Input Target
</button>
<span class="value" v-else>null</span>
<span class="key" v-if="wmImeInputTargetTitleOrNull">Title:</span>
<span class="value" v-if="wmImeInputTargetTitleOrNull">{{
wmImeInputTargetTitleOrNull }}</span>
</div>
</div>
<div class="group">
<span class="group-header">Layering Target</span>
<div class="group" v-if="wmImeLayeringTargetOrNull">
<button
class="text-button group-header"
:class="{ 'selected': isSelected(wmImeLayeringTargetOrNull) }"
@click="onClickShowInPropertiesPanel(wmImeLayeringTargetOrNull)">
IME Layering Target
</button>
<div class="full-width">
<button
class="text-button"
:class="{ 'selected': isSelected(wmImeLayeringTargetOrNull) }"
v-if="wmImeLayeringTargetOrNull"
@click="onClickShowInPropertiesPanel(wmImeLayeringTargetOrNull)">
IME Layering Target
</button>
<span class="value" v-else>null</span>
<span class="key" v-if="wmImeLayeringTargetTitleOrNull">Title:</span>
<span class="value" v-if="wmImeLayeringTargetTitleOrNull">{{
wmImeLayeringTargetTitleOrNull }}</span>
</div>
</div>
</div>
@@ -309,18 +309,30 @@ export default {
this.entry.wmProperties.imeControlTarget) :
null;
},
wmImeControlTargetTitleOrNull() {
return this.entry?.wmProperties?.imeControlTarget?.windowContainer
?.identifier?.title || 'null';
},
wmImeInputTargetOrNull() {
return this.entry?.wmProperties?.imeInputTarget ?
Object.assign({'name': 'IME Input Target'},
this.entry.wmProperties.imeInputTarget) :
null;
},
wmImeInputTargetTitleOrNull() {
return this.entry?.wmProperties?.imeInputTarget?.windowContainer
?.identifier?.title || 'null';
},
wmImeLayeringTargetOrNull() {
return this.entry?.wmProperties?.imeLayeringTarget ?
Object.assign({'name': 'IME Layering Target'},
this.entry.wmProperties.imeLayeringTarget) :
null;
},
wmImeLayeringTargetTitleOrNull() {
return this.entry?.wmProperties?.imeLayeringTarget?.windowContainer
?.identifier?.title || 'null';
},
sfImeContainerScreenBoundsOrNull() {
return this.entry.sfProperties?.screenBounds || 'null';
},