Add dump of pending focus requests
Assuming we are keeping this code, let's add a dump of pending focus
requests for better debugging of focus-related issues.
Since printing a token is pretty meaningless (and not clear how to do),
we try to find the window associated with this token instead.
Sample dump:
mPendingFocusRequests:
displayId=0, token->'Window{ff00537 u0 com.android.chrome/org.chromium.chrome.browser.firstrun.FirstRunActivity}', focusedToken->'<nullptr>'
Bug: 171130500
Test: adb shell monkey 10000 then adb shell dumpsys input | grep -i
focusreq -A 2 and see the output produced. Sample output is above
Change-Id: Id99ae4f3253a5037b352b41ee108e19c7f6f8eb2
diff --git a/services/inputflinger/dispatcher/InputDispatcher.h b/services/inputflinger/dispatcher/InputDispatcher.h
index 4565151..5387c40 100644
--- a/services/inputflinger/dispatcher/InputDispatcher.h
+++ b/services/inputflinger/dispatcher/InputDispatcher.h
@@ -210,6 +210,8 @@
sp<Connection> getConnectionLocked(const sp<IBinder>& inputConnectionToken) const
REQUIRES(mLock);
+ std::string getConnectionNameLocked(const sp<IBinder>& connectionToken) const REQUIRES(mLock);
+
void removeConnectionLocked(const sp<Connection>& connection) REQUIRES(mLock);
struct IBinderHash {
@@ -532,6 +534,7 @@
void dumpMonitors(std::string& dump, const std::vector<Monitor>& monitors);
void logDispatchStateLocked() REQUIRES(mLock);
std::string dumpFocusedWindowsLocked() REQUIRES(mLock);
+ std::string dumpPendingFocusRequestsLocked() REQUIRES(mLock);
// Registration.
void removeMonitorChannelLocked(const sp<IBinder>& connectionToken) REQUIRES(mLock);