summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nataniel Borges <natanieljr@google.com> 2024-12-13 14:23:04 +0000
committer Nataniel Borges <natanieljr@google.com> 2025-02-20 13:11:43 +0000
commit6318fca1a87285ca2079a2d2956528de13cc832c (patch)
tree1f112caa6fa39220e8ce071409ba2cc14f22049d
parent1ef2de7fb59fbe56483e207127e4f215c39eb975 (diff)
Dump identifier instead of window configuration on proto
The current information is not useful, instead dump only the ID and name of the target Flag: TEST_ONLY Test: atest FlickerTests (or WM CTS, both collect and read the traces) Bug: 382466149 Change-Id: I94678fb93562d7ce6960cd743a7f0b8c7daf3ce5
-rw-r--r--core/proto/android/server/windowmanagerservice.proto28
-rw-r--r--services/core/java/com/android/server/wm/DisplayContent.java22
-rw-r--r--services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java4
-rw-r--r--services/core/java/com/android/server/wm/InsetsSourceProvider.java19
4 files changed, 44 insertions, 29 deletions
diff --git a/core/proto/android/server/windowmanagerservice.proto b/core/proto/android/server/windowmanagerservice.proto
index a673ad7dfb34..5820c8e947c2 100644
--- a/core/proto/android/server/windowmanagerservice.proto
+++ b/core/proto/android/server/windowmanagerservice.proto
@@ -216,10 +216,10 @@ message DisplayContentProto {
optional .com.android.server.wm.IdentifierProto resumed_activity = 24;
repeated TaskProto tasks = 25 [deprecated=true];
optional bool display_ready = 26;
- optional WindowStateProto input_method_target = 27;
- optional WindowStateProto input_method_input_target = 28;
- optional WindowStateProto input_method_control_target = 29;
- optional WindowStateProto current_focus = 30;
+ optional WindowStateProto input_method_target = 27 [deprecated = true];
+ optional WindowStateProto input_method_input_target = 28 [deprecated = true];
+ optional WindowStateProto input_method_control_target = 29 [deprecated = true];
+ optional WindowStateProto current_focus = 30 [deprecated = true];
optional ImeInsetsSourceProviderProto ime_insets_source_provider = 31;
optional bool can_show_ime = 32 [deprecated=true];
@@ -231,6 +231,10 @@ message DisplayContentProto {
repeated string sleep_tokens = 37;
repeated .android.graphics.RectProto keep_clear_areas = 38;
optional int32 min_size_of_resizeable_task_dp = 39;
+ optional IdentifierProto input_method_layering_target_identifier = 40;
+ optional IdentifierProto input_method_input_target_identifier = 41;
+ optional IdentifierProto input_method_control_target_identifier = 42;
+ optional IdentifierProto current_focus_identifier = 43;
}
/* represents DisplayArea object */
@@ -590,9 +594,9 @@ message InsetsSourceProviderProto {
optional .android.graphics.RectProto frame = 2;
optional .android.view.InsetsSourceControlProto fake_control = 3;
optional .android.view.InsetsSourceControlProto control = 4;
- optional WindowStateProto control_target = 5;
- optional WindowStateProto pending_control_target = 6;
- optional WindowStateProto fake_control_target = 7;
+ optional WindowStateProto control_target = 5 [deprecated = true];
+ optional WindowStateProto pending_control_target = 6 [deprecated = true];
+ optional WindowStateProto fake_control_target = 7 [deprecated = true];
optional .android.view.SurfaceControlProto captured_leash = 8;
optional .android.graphics.RectProto ime_overridden_frame = 9 [deprecated=true];
optional bool is_leash_ready_for_dispatching = 10;
@@ -601,15 +605,21 @@ message InsetsSourceProviderProto {
optional bool seamless_rotating = 13;
optional int64 finish_seamless_rotate_frame_number = 14;
optional bool controllable = 15;
- optional WindowStateProto source_window_state = 16;
+ optional WindowStateProto source_window_state = 16 [deprecated = true];
+
+ optional IdentifierProto control_target_identifier = 17;
+ optional IdentifierProto pending_control_target_identifier = 18;
+ optional IdentifierProto fake_control_target_identifier = 19;
+ optional IdentifierProto source_window_state_identifier = 20;
}
message ImeInsetsSourceProviderProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
optional InsetsSourceProviderProto insets_source_provider = 1;
- optional WindowStateProto ime_target_from_ime = 2;
+ optional WindowStateProto ime_target_from_ime = 2 [deprecated = true];
optional bool is_ime_layout_drawn = 3 [deprecated=true];
+ optional IdentifierProto ime_target_from_ime_identifier = 4;
}
message BackNavigationProto {
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index fd322a5c6345..95214b91f619 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -108,7 +108,7 @@ import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_W
import static com.android.server.wm.ActivityRecord.State.RESUMED;
import static com.android.server.wm.ActivityTaskManagerService.POWER_MODE_REASON_CHANGE_DISPLAY;
import static com.android.server.wm.DisplayContentProto.APP_TRANSITION;
-import static com.android.server.wm.DisplayContentProto.CURRENT_FOCUS;
+import static com.android.server.wm.DisplayContentProto.CURRENT_FOCUS_IDENTIFIER;
import static com.android.server.wm.DisplayContentProto.DISPLAY_FRAMES;
import static com.android.server.wm.DisplayContentProto.DISPLAY_INFO;
import static com.android.server.wm.DisplayContentProto.DISPLAY_READY;
@@ -118,9 +118,9 @@ import static com.android.server.wm.DisplayContentProto.FOCUSED_APP;
import static com.android.server.wm.DisplayContentProto.FOCUSED_ROOT_TASK_ID;
import static com.android.server.wm.DisplayContentProto.ID;
import static com.android.server.wm.DisplayContentProto.IME_POLICY;
-import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_CONTROL_TARGET;
-import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_INPUT_TARGET;
-import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_TARGET;
+import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_CONTROL_TARGET_IDENTIFIER;
+import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_INPUT_TARGET_IDENTIFIER;
+import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_LAYERING_TARGET_IDENTIFIER;
import static com.android.server.wm.DisplayContentProto.IS_SLEEPING;
import static com.android.server.wm.DisplayContentProto.KEEP_CLEAR_AREAS;
import static com.android.server.wm.DisplayContentProto.MIN_SIZE_OF_RESIZEABLE_TASK_DP;
@@ -3569,18 +3569,20 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
}
if (mImeLayeringTarget != null) {
- mImeLayeringTarget.dumpDebug(proto, INPUT_METHOD_TARGET, logLevel);
+ mImeLayeringTarget.writeIdentifierToProto(
+ proto, INPUT_METHOD_LAYERING_TARGET_IDENTIFIER);
}
- if (mImeInputTarget != null) {
- mImeInputTarget.dumpProto(proto, INPUT_METHOD_INPUT_TARGET, logLevel);
+ if (mImeInputTarget != null && mImeInputTarget.getWindowState() != null) {
+ mImeInputTarget.getWindowState().writeIdentifierToProto(
+ proto, INPUT_METHOD_INPUT_TARGET_IDENTIFIER);
}
if (mImeControlTarget != null
&& mImeControlTarget.getWindow() != null) {
- mImeControlTarget.getWindow().dumpDebug(proto, INPUT_METHOD_CONTROL_TARGET,
- logLevel);
+ mImeControlTarget.getWindow().writeIdentifierToProto(
+ proto, INPUT_METHOD_CONTROL_TARGET_IDENTIFIER);
}
if (mCurrentFocus != null) {
- mCurrentFocus.dumpDebug(proto, CURRENT_FOCUS, logLevel);
+ mCurrentFocus.writeIdentifierToProto(proto, CURRENT_FOCUS_IDENTIFIER);
}
if (mInsetsStateController != null) {
mInsetsStateController.dumpDebug(proto, logLevel);
diff --git a/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java b/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java
index f52446ff494c..2a2ae12ab09b 100644
--- a/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java
+++ b/services/core/java/com/android/server/wm/ImeInsetsSourceProvider.java
@@ -22,7 +22,7 @@ import static android.view.InsetsSource.ID_IME;
import static com.android.internal.protolog.WmProtoLogGroups.WM_DEBUG_IME;
import static com.android.server.wm.DisplayContent.IME_TARGET_CONTROL;
import static com.android.server.wm.DisplayContent.IME_TARGET_LAYERING;
-import static com.android.server.wm.ImeInsetsSourceProviderProto.IME_TARGET_FROM_IME;
+import static com.android.server.wm.ImeInsetsSourceProviderProto.IME_TARGET_FROM_IME_IDENTIFIER;
import static com.android.server.wm.ImeInsetsSourceProviderProto.INSETS_SOURCE_PROVIDER;
import static com.android.server.wm.WindowManagerService.H.UPDATE_MULTI_WINDOW_STACKS;
@@ -774,7 +774,7 @@ final class ImeInsetsSourceProvider extends InsetsSourceProvider {
final WindowState imeRequesterWindow =
mImeRequester != null ? mImeRequester.getWindow() : null;
if (imeRequesterWindow != null) {
- imeRequesterWindow.dumpDebug(proto, IME_TARGET_FROM_IME, logLevel);
+ imeRequesterWindow.writeIdentifierToProto(proto, IME_TARGET_FROM_IME_IDENTIFIER);
}
proto.end(token);
}
diff --git a/services/core/java/com/android/server/wm/InsetsSourceProvider.java b/services/core/java/com/android/server/wm/InsetsSourceProvider.java
index d1585d06ae40..b7489029768a 100644
--- a/services/core/java/com/android/server/wm/InsetsSourceProvider.java
+++ b/services/core/java/com/android/server/wm/InsetsSourceProvider.java
@@ -21,16 +21,16 @@ import static com.android.server.wm.InsetsSourceProviderProto.CAPTURED_LEASH;
import static com.android.server.wm.InsetsSourceProviderProto.CLIENT_VISIBLE;
import static com.android.server.wm.InsetsSourceProviderProto.CONTROL;
import static com.android.server.wm.InsetsSourceProviderProto.CONTROLLABLE;
-import static com.android.server.wm.InsetsSourceProviderProto.CONTROL_TARGET;
+import static com.android.server.wm.InsetsSourceProviderProto.CONTROL_TARGET_IDENTIFIER;
import static com.android.server.wm.InsetsSourceProviderProto.FAKE_CONTROL;
-import static com.android.server.wm.InsetsSourceProviderProto.FAKE_CONTROL_TARGET;
+import static com.android.server.wm.InsetsSourceProviderProto.FAKE_CONTROL_TARGET_IDENTIFIER;
import static com.android.server.wm.InsetsSourceProviderProto.FRAME;
import static com.android.server.wm.InsetsSourceProviderProto.IS_LEASH_READY_FOR_DISPATCHING;
-import static com.android.server.wm.InsetsSourceProviderProto.PENDING_CONTROL_TARGET;
+import static com.android.server.wm.InsetsSourceProviderProto.PENDING_CONTROL_TARGET_IDENTIFIER;
import static com.android.server.wm.InsetsSourceProviderProto.SEAMLESS_ROTATING;
import static com.android.server.wm.InsetsSourceProviderProto.SERVER_VISIBLE;
import static com.android.server.wm.InsetsSourceProviderProto.SOURCE;
-import static com.android.server.wm.InsetsSourceProviderProto.SOURCE_WINDOW_STATE;
+import static com.android.server.wm.InsetsSourceProviderProto.SOURCE_WINDOW_STATE_IDENTIFIER;
import static com.android.server.wm.SurfaceAnimator.ANIMATION_TYPE_INSETS_CONTROL;
import android.annotation.NonNull;
@@ -803,14 +803,16 @@ class InsetsSourceProvider {
mControl.dumpDebug(proto, CONTROL);
}
if (mControlTarget != null && mControlTarget.getWindow() != null) {
- mControlTarget.getWindow().dumpDebug(proto, CONTROL_TARGET, logLevel);
+ mControlTarget.getWindow().writeIdentifierToProto(proto, CONTROL_TARGET_IDENTIFIER);
}
if (mPendingControlTarget != null && mPendingControlTarget != mControlTarget
&& mPendingControlTarget.getWindow() != null) {
- mPendingControlTarget.getWindow().dumpDebug(proto, PENDING_CONTROL_TARGET, logLevel);
+ mPendingControlTarget.getWindow().writeIdentifierToProto(
+ proto, PENDING_CONTROL_TARGET_IDENTIFIER);
}
if (mFakeControlTarget != null && mFakeControlTarget.getWindow() != null) {
- mFakeControlTarget.getWindow().dumpDebug(proto, FAKE_CONTROL_TARGET, logLevel);
+ mFakeControlTarget.getWindow().writeIdentifierToProto(
+ proto, FAKE_CONTROL_TARGET_IDENTIFIER);
}
if (mAdapter != null && mAdapter.mCapturedLeash != null) {
mAdapter.mCapturedLeash.dumpDebug(proto, CAPTURED_LEASH);
@@ -821,7 +823,8 @@ class InsetsSourceProvider {
proto.write(SEAMLESS_ROTATING, mSeamlessRotating);
proto.write(CONTROLLABLE, mControllable);
if (mWindowContainer != null && mWindowContainer.asWindowState() != null) {
- mWindowContainer.asWindowState().dumpDebug(proto, SOURCE_WINDOW_STATE, logLevel);
+ mWindowContainer.asWindowState().writeIdentifierToProto(
+ proto, SOURCE_WINDOW_STATE_IDENTIFIER);
}
proto.end(token);
}