Loading include/input/NamedEnum.h +2 −2 Original line number Diff line number Diff line Loading @@ -115,10 +115,10 @@ public: // Do not specialize it to a large number to avoid performance issues. // The recommended maximum enum number to specialize is 64. template <typename E> static const std::string string(E val) { static const std::string string(E val, const char* fallbackFormat = "0x%08x") { std::string result; std::optional<std::string_view> enumString = enum_name(val); result += enumString ? enumString.value() : base::StringPrintf("0x%08x", val); result += enumString ? enumString.value() : base::StringPrintf(fallbackFormat, val); return result; } }; Loading services/inputflinger/dispatcher/InputDispatcher.cpp +15 −12 Original line number Diff line number Diff line Loading @@ -204,12 +204,12 @@ static bool validateMotionEvent(int32_t action, int32_t actionButton, size_t poi return true; } static void dumpRegion(std::string& dump, const Region& region) { static std::string dumpRegion(const Region& region) { if (region.isEmpty()) { dump += "<empty>"; return; return "<empty>"; } std::string dump; bool first = true; Region::const_iterator cur = region.begin(); Region::const_iterator const tail = region.end(); Loading @@ -222,6 +222,7 @@ static void dumpRegion(std::string& dump, const Region& region) { dump += StringPrintf("[%d,%d][%d,%d]", cur->left, cur->top, cur->right, cur->bottom); cur++; } return dump; } static std::string dumpQueue(const std::deque<DispatchEntry*>& queue, nsecs_t currentTime) { Loading Loading @@ -2271,15 +2272,17 @@ InputDispatcher::TouchOcclusionInfo InputDispatcher::computeTouchOcclusionInfoLo std::string InputDispatcher::dumpWindowForTouchOcclusion(const InputWindowInfo* info, bool isTouchedWindow) const { return StringPrintf(INDENT2 "* %stype=%s, package=%s/%" PRId32 ", mode=%s, alpha=%.2f, " return StringPrintf(INDENT2 "* %stype=%s, package=%s/%" PRId32 ", mode=%s, alpha=%.2f, " "frame=[%" PRId32 ",%" PRId32 "][%" PRId32 ",%" PRId32 "], window=%s, applicationInfo=%s, flags=%s\n", "], touchableRegion=%s, window=%s, applicationInfo=%s, flags={%s}\n", (isTouchedWindow) ? "[TOUCHED] " : "", NamedEnum::string(info->type).c_str(), info->packageName.c_str(), info->ownerUid, toString(info->touchOcclusionMode).c_str(), info->alpha, info->frameLeft, info->frameTop, info->frameRight, info->frameBottom, info->name.c_str(), info->applicationInfo.name.c_str(), info->flags.string().c_str()); NamedEnum::string(info->type, "%" PRId32).c_str(), info->packageName.c_str(), info->ownerUid, toString(info->touchOcclusionMode).c_str(), info->alpha, info->frameLeft, info->frameTop, info->frameRight, info->frameBottom, dumpRegion(info->touchableRegion).c_str(), info->name.c_str(), info->applicationInfo.name.c_str(), info->flags.string().c_str()); } bool InputDispatcher::isTouchTrustedLocked(const TouchOcclusionInfo& occlusionInfo) const { Loading Loading @@ -4484,7 +4487,7 @@ void InputDispatcher::dumpDispatchStateLocked(std::string& dump) { windowInfo->frameRight, windowInfo->frameBottom, windowInfo->globalScaleFactor, windowInfo->applicationInfo.name.c_str()); dumpRegion(dump, windowInfo->touchableRegion); dump += dumpRegion(windowInfo->touchableRegion); dump += StringPrintf(", inputFeatures=%s", windowInfo->inputFeatures.string().c_str()); dump += StringPrintf(", ownerPid=%d, ownerUid=%d, dispatchingTimeout=%" PRId64 Loading Loading
include/input/NamedEnum.h +2 −2 Original line number Diff line number Diff line Loading @@ -115,10 +115,10 @@ public: // Do not specialize it to a large number to avoid performance issues. // The recommended maximum enum number to specialize is 64. template <typename E> static const std::string string(E val) { static const std::string string(E val, const char* fallbackFormat = "0x%08x") { std::string result; std::optional<std::string_view> enumString = enum_name(val); result += enumString ? enumString.value() : base::StringPrintf("0x%08x", val); result += enumString ? enumString.value() : base::StringPrintf(fallbackFormat, val); return result; } }; Loading
services/inputflinger/dispatcher/InputDispatcher.cpp +15 −12 Original line number Diff line number Diff line Loading @@ -204,12 +204,12 @@ static bool validateMotionEvent(int32_t action, int32_t actionButton, size_t poi return true; } static void dumpRegion(std::string& dump, const Region& region) { static std::string dumpRegion(const Region& region) { if (region.isEmpty()) { dump += "<empty>"; return; return "<empty>"; } std::string dump; bool first = true; Region::const_iterator cur = region.begin(); Region::const_iterator const tail = region.end(); Loading @@ -222,6 +222,7 @@ static void dumpRegion(std::string& dump, const Region& region) { dump += StringPrintf("[%d,%d][%d,%d]", cur->left, cur->top, cur->right, cur->bottom); cur++; } return dump; } static std::string dumpQueue(const std::deque<DispatchEntry*>& queue, nsecs_t currentTime) { Loading Loading @@ -2271,15 +2272,17 @@ InputDispatcher::TouchOcclusionInfo InputDispatcher::computeTouchOcclusionInfoLo std::string InputDispatcher::dumpWindowForTouchOcclusion(const InputWindowInfo* info, bool isTouchedWindow) const { return StringPrintf(INDENT2 "* %stype=%s, package=%s/%" PRId32 ", mode=%s, alpha=%.2f, " return StringPrintf(INDENT2 "* %stype=%s, package=%s/%" PRId32 ", mode=%s, alpha=%.2f, " "frame=[%" PRId32 ",%" PRId32 "][%" PRId32 ",%" PRId32 "], window=%s, applicationInfo=%s, flags=%s\n", "], touchableRegion=%s, window=%s, applicationInfo=%s, flags={%s}\n", (isTouchedWindow) ? "[TOUCHED] " : "", NamedEnum::string(info->type).c_str(), info->packageName.c_str(), info->ownerUid, toString(info->touchOcclusionMode).c_str(), info->alpha, info->frameLeft, info->frameTop, info->frameRight, info->frameBottom, info->name.c_str(), info->applicationInfo.name.c_str(), info->flags.string().c_str()); NamedEnum::string(info->type, "%" PRId32).c_str(), info->packageName.c_str(), info->ownerUid, toString(info->touchOcclusionMode).c_str(), info->alpha, info->frameLeft, info->frameTop, info->frameRight, info->frameBottom, dumpRegion(info->touchableRegion).c_str(), info->name.c_str(), info->applicationInfo.name.c_str(), info->flags.string().c_str()); } bool InputDispatcher::isTouchTrustedLocked(const TouchOcclusionInfo& occlusionInfo) const { Loading Loading @@ -4484,7 +4487,7 @@ void InputDispatcher::dumpDispatchStateLocked(std::string& dump) { windowInfo->frameRight, windowInfo->frameBottom, windowInfo->globalScaleFactor, windowInfo->applicationInfo.name.c_str()); dumpRegion(dump, windowInfo->touchableRegion); dump += dumpRegion(windowInfo->touchableRegion); dump += StringPrintf(", inputFeatures=%s", windowInfo->inputFeatures.string().c_str()); dump += StringPrintf(", ownerPid=%d, ownerUid=%d, dispatchingTimeout=%" PRId64 Loading