diff options
Diffstat (limited to 'libs/ui/InputDispatcher.cpp')
| -rw-r--r-- | libs/ui/InputDispatcher.cpp | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/libs/ui/InputDispatcher.cpp b/libs/ui/InputDispatcher.cpp index 421ad663f8..46baf9d14f 100644 --- a/libs/ui/InputDispatcher.cpp +++ b/libs/ui/InputDispatcher.cpp @@ -592,10 +592,6 @@ InputDispatcher::KeyEntry* InputDispatcher::synthesizeKeyRepeatLocked(      // mKeyRepeatState.lastKeyEntry in addition to the one we return.      entry->refCount += 1; -    if (entry->repeatCount == 1) { -        entry->flags |= AKEY_EVENT_FLAG_LONG_PRESS; -    } -      mKeyRepeatState.nextRepeatTime = currentTime + keyRepeatDelay;      return entry;  } @@ -645,6 +641,12 @@ bool InputDispatcher::dispatchKeyLocked(              resetKeyRepeatLocked();          } +        if (entry->repeatCount == 1) { +            entry->flags |= AKEY_EVENT_FLAG_LONG_PRESS; +        } else { +            entry->flags &= ~AKEY_EVENT_FLAG_LONG_PRESS; +        } +          entry->dispatchInProgress = true;          resetTargetsLocked();  |