Inputdispatcher: Dropped Event Because Input Dispatch Is Disabled
I am developing ui automation platform for android. For some reason sometimes (very rare) click events can be dropped When it happen I see in log I/InputDispatcher( 2707): Dropped
Solution 1:
There are certain conditions in which Input Dispatcher will drop the input events:
- DROP_REASON_BLOCKED : If current application is not responding and user is tapping on device, input event will be dropped
- DROP_REASON_STALE: Dropped event because it is stale
- DROP_REASON_APP_SWITCH: Dropped event because of pending overdue app switch
- DROP_REASON_DISABLED: Dropped event because input dispatch is disabled
etc.
In your case, its executing case 4. Means something going fishy or your first input is not executed yet. So Input Dispatcher is disabled.
Check [method dropInboundEventLocked of middleware class InputDispatcher.cpp
Solution 2:
It happened only when screen was off. Click event was turning screen on, but it event was quicker than turning screen on.
Now, I am checking if screen is off and turning it on
//Acquire wake lock in case screen is offif (PermissionsUtil.checkSelfPermission(getContext(), Manifest.permission.WAKE_LOCK))
{
PowerManagerpm= (PowerManager)getContext().getSystemService(Context.POWER_SERVICE);
if (pm.isScreenOn() == false)
{
wakeLock = pm.newWakeLock((PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP), TAG);
//
wakeLock.acquire();
Log.d(TAG,"Acquiring wake lock");
}
}
//Do my stuff//Release wake lock in case it was acquireif (wakeLock != null && wakeLock.isHeld())
{
wakeLock.release();
wakeLock = null;
Log.d(TAG,"Releasing wake lock");
}
Post a Comment for "Inputdispatcher: Dropped Event Because Input Dispatch Is Disabled"