From beb8f3f4b3ce2eb51303d2332e56faeeb771baf6 Mon Sep 17 00:00:00 2001 From: chenchaoli Date: Fri, 3 Dec 2021 13:39:10 +0800 Subject: [PATCH] ANDROID: Fix EventLog string class problem in ViewRootImpl#enqueueInputEvent() EventLog function can handle string,integer class and long class. (in android_util_EventLog.cpp) If menu title string are used bold tag(like test), it'll be android.text.SpannedString. therefore any android activity using tag menu string(like ) can be crashed by IllegalArgumentException. Bug: 208862322 Change-Id: I2432b0cd28c8f5fcb07cdf3e29560bf6b6c0f7b6 Signed-off-by: chenchaoli --- core/java/android/view/ViewRootImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 3550a31f90380..2257f6cd21597 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -8448,13 +8448,13 @@ public final class ViewRootImpl implements ViewParent, MotionEvent me = (MotionEvent) event; if (me.getAction() == MotionEvent.ACTION_CANCEL) { EventLog.writeEvent(EventLogTags.VIEW_ENQUEUE_INPUT_EVENT, "Motion - Cancel", - getTitle()); + getTitle().toString()); } } else if (event instanceof KeyEvent) { KeyEvent ke = (KeyEvent) event; if (ke.isCanceled()) { EventLog.writeEvent(EventLogTags.VIEW_ENQUEUE_INPUT_EVENT, "Key - Cancel", - getTitle()); + getTitle().toString()); } } // Always enqueue the input event in order, regardless of its time stamp.