summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Michael Wright <michaelwr@google.com> 2022-10-22 01:12:01 +0100
committer Michael Wright <michaelwr@google.com> 2022-11-25 00:22:23 +0000
commit1c1d459e047e9415c1efd91d921adb5a8c67902d (patch)
treef444525e5905fca5ac39203bbe4100840f1d6678
parentca32463c074f71e387697f29d8e12d0454db8b07 (diff)
Add additional pointer state to input dumpsys
Bug: 254277939 Test: manually inspect `dumpsys input` Change-Id: I3931187638b4c54ff90be9bc3b01a1edc442d49b
-rw-r--r--core/java/android/view/PointerIcon.java43
-rw-r--r--services/core/java/com/android/server/input/InputManagerService.java5
2 files changed, 48 insertions, 0 deletions
diff --git a/core/java/android/view/PointerIcon.java b/core/java/android/view/PointerIcon.java
index 2a8e7e468616..080c0d81f95b 100644
--- a/core/java/android/view/PointerIcon.java
+++ b/core/java/android/view/PointerIcon.java
@@ -533,6 +533,13 @@ public final class PointerIcon implements Parcelable {
mHotSpotY = hotSpotY;
}
+ @Override
+ public String toString() {
+ return "PointerIcon{type=" + typeToString(mType)
+ + ", hotspotX=" + mHotSpotX + ", hotspotY=" + mHotSpotY
+ + ", systemIconResourceId=" + mSystemIconResourceId + "}";
+ }
+
private static void validateHotSpot(Bitmap bitmap, float hotSpotX, float hotSpotY) {
if (hotSpotX < 0 || hotSpotX >= bitmap.getWidth()) {
throw new IllegalArgumentException("x hotspot lies outside of the bitmap area");
@@ -624,4 +631,40 @@ public final class PointerIcon implements Parcelable {
displayManager.registerDisplayListener(sDisplayListener, null /* handler */);
}
+ /**
+ * Convert type constant to string.
+ * @hide
+ */
+ public static String typeToString(int type) {
+ switch (type) {
+ case TYPE_CUSTOM: return "CUSTOM";
+ case TYPE_NULL: return "NULL";
+ case TYPE_NOT_SPECIFIED: return "NOT_SPECIFIED";
+ case TYPE_ARROW: return "ARROW";
+ case TYPE_SPOT_HOVER: return "SPOT_HOVER";
+ case TYPE_SPOT_TOUCH: return "SPOT_TOUCH";
+ case TYPE_SPOT_ANCHOR: return "SPOT_ANCHOR";
+ case TYPE_CONTEXT_MENU: return "CONTEXT_MENU";
+ case TYPE_HAND: return "HAND";
+ case TYPE_HELP: return "HELP";
+ case TYPE_WAIT: return "WAIT";
+ case TYPE_CELL: return "CELL";
+ case TYPE_CROSSHAIR: return "CROSSHAIR";
+ case TYPE_TEXT: return "TEXT";
+ case TYPE_VERTICAL_TEXT: return "VERTICAL_TEXT";
+ case TYPE_ALIAS: return "ALIAS";
+ case TYPE_COPY: return "COPY";
+ case TYPE_NO_DROP: return "NO_DROP";
+ case TYPE_ALL_SCROLL: return "ALL_SCROLL";
+ case TYPE_HORIZONTAL_DOUBLE_ARROW: return "HORIZONTAL_DOUBLE_ARROW";
+ case TYPE_VERTICAL_DOUBLE_ARROW: return "VERTICAL_DOUBLE_ARROW";
+ case TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW: return "TOP_RIGHT_DIAGONAL_DOUBLE_ARROW";
+ case TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW: return "TOP_LEFT_DIAGONAL_DOUBLE_ARROW";
+ case TYPE_ZOOM_IN: return "ZOOM_IN";
+ case TYPE_ZOOM_OUT: return "ZOOM_OUT";
+ case TYPE_GRAB: return "GRAB";
+ case TYPE_GRABBING: return "GRABBING";
+ default: return Integer.toString(type);
+ }
+ }
}
diff --git a/services/core/java/com/android/server/input/InputManagerService.java b/services/core/java/com/android/server/input/InputManagerService.java
index c20d8806412d..b4078f5d0739 100644
--- a/services/core/java/com/android/server/input/InputManagerService.java
+++ b/services/core/java/com/android/server/input/InputManagerService.java
@@ -2770,6 +2770,11 @@ public class InputManagerService extends IInputManager.Stub
if (mOverriddenPointerDisplayId != Display.INVALID_DISPLAY) {
pw.println("mOverriddenPointerDisplayId: " + mOverriddenPointerDisplayId);
}
+
+ pw.println("mAcknowledgedPointerDisplayId=" + mAcknowledgedPointerDisplayId);
+ pw.println("mRequestedPointerDisplayId=" + mRequestedPointerDisplayId);
+ pw.println("mPointerIconType=" + PointerIcon.typeToString(mPointerIconType));
+ pw.println("mPointerIcon=" + mPointerIcon);
}
}
private boolean checkCallingPermission(String permission, String func) {