Merge "Add KeyboardActionListener.Adapter"
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardActionListener.java b/java/src/com/android/inputmethod/keyboard/KeyboardActionListener.java
index 8640912..6f54208 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardActionListener.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardActionListener.java
@@ -76,4 +76,21 @@
      * @return true if the request has been consumed, false otherwise.
      */
     public boolean onCustomRequest(int requestCode);
+
+    public static class Adapter implements KeyboardActionListener {
+        @Override
+        public void onPress(int primaryCode, boolean withSliding) {}
+        @Override
+        public void onRelease(int primaryCode, boolean withSliding) {}
+        @Override
+        public void onCodeInput(int primaryCode, int[] keyCodes, int x, int y) {}
+        @Override
+        public void onTextInput(CharSequence text) {}
+        @Override
+        public void onCancelInput() {}
+        @Override
+        public boolean onCustomRequest(int requestCode) {
+            return false;
+        }
+    }
 }
diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
index b619472..7ae6220 100644
--- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java
+++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
@@ -139,20 +139,8 @@
     private boolean mIgnoreModifierKey;
 
     // Empty {@link KeyboardActionListener}
-    private static final KeyboardActionListener EMPTY_LISTENER = new KeyboardActionListener() {
-        @Override
-        public void onPress(int primaryCode, boolean withSliding) {}
-        @Override
-        public void onRelease(int primaryCode, boolean withSliding) {}
-        @Override
-        public void onCodeInput(int primaryCode, int[] keyCodes, int x, int y) {}
-        @Override
-        public void onTextInput(CharSequence text) {}
-        @Override
-        public void onCancelInput() {}
-        @Override
-        public boolean onCustomRequest(int requestCode) { return false; }
-    };
+    private static final KeyboardActionListener EMPTY_LISTENER =
+            new KeyboardActionListener.Adapter();
 
     public static void init(boolean hasDistinctMultitouch, Context context) {
         if (hasDistinctMultitouch) {
diff --git a/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java b/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java
index 8b8b27b..c4428dc 100644
--- a/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java
@@ -101,7 +101,8 @@
         public void cancelKeyTimers() {}
     };
 
-    private final KeyboardActionListener mMiniKeyboardListener = new KeyboardActionListener() {
+    private final KeyboardActionListener mMiniKeyboardListener =
+            new KeyboardActionListener.Adapter() {
         @Override
         public void onCodeInput(int primaryCode, int[] keyCodes, int x, int y) {
             mListener.onCodeInput(primaryCode, keyCodes, x, y);
@@ -125,8 +126,6 @@
         public void onRelease(int primaryCode, boolean withSliding) {
             mListener.onRelease(primaryCode, withSliding);
         }
-        @Override
-        public boolean onCustomRequest(int requestCode) { return false; }
     };
 
     public PopupMiniKeyboardView(Context context, AttributeSet attrs) {