summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Keith <javelinanddart@gmail.com>2017-11-23 21:47:51 +0100
committerBruno Martins <bgcngm@gmail.com>2017-12-06 09:27:25 +0000
commitd75294d8e45e97f3c4a978cbc1986896174c6040 (patch)
tree74d87bc1b3e9127902c0399a8889ce1b93279e9d
parent0a965fbc64c25889e8cae8ca044d80a8307d621c (diff)
downloadandroid_frameworks_base-lineage-15.0.tar.gz
android_frameworks_base-lineage-15.0.tar.bz2
android_frameworks_base-lineage-15.0.zip
fw/b: Return a KeyEvent instead of a boolean in KeyHandlerlineage-15.0
* Allows handlers to modify the event before sending it off to another KeyHandler class, to handle things like rotation Change-Id: I481107e050f6323c5897260a5d241e64b4e031ac
-rw-r--r--core/java/com/android/internal/os/DeviceKeyHandler.java4
-rw-r--r--services/core/java/com/android/server/policy/PhoneWindowManager.java3
2 files changed, 4 insertions, 3 deletions
diff --git a/core/java/com/android/internal/os/DeviceKeyHandler.java b/core/java/com/android/internal/os/DeviceKeyHandler.java
index 18faed8620c..8902337f3eb 100644
--- a/core/java/com/android/internal/os/DeviceKeyHandler.java
+++ b/core/java/com/android/internal/os/DeviceKeyHandler.java
@@ -25,7 +25,7 @@ public interface DeviceKeyHandler {
* this special keys prior to pass the key to the active app.
*
* @param event The key event to be handled
- * @return If the event is consume
+ * @return null if event is consumed, KeyEvent to be handled otherwise
*/
- public boolean handleKeyEvent(KeyEvent event);
+ public KeyEvent handleKeyEvent(KeyEvent event);
}
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index c47a057bcf5..da9a2395cb1 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -3910,7 +3910,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
if (DEBUG_INPUT) {
Log.d(TAG, "Dispatching key event " + event + " to handler " + handler);
}
- if (handler.handleKeyEvent(event)) {
+ event = handler.handleKeyEvent(event);
+ if (event == null) {
return true;
}
} catch (Exception e) {