From 8da9c337db1a99d4cf55ec41df1f7b6a933453e9 Mon Sep 17 00:00:00 2001
From: Jean Chalard <jchalard@google.com>
Date: Wed, 9 Jan 2013 21:58:32 +0900
Subject: [PATCH] Move a method to a utility class (C1)

This is a preparatory change to fix bug 7969231

Change-Id: I44604ae75192a17b4e75a01f3e3d679d4901299e
---
 .../android/inputmethod/keyboard/KeyboardId.java  | 15 +++------------
 .../android/inputmethod/latin/InputTypeUtils.java | 13 +++++++++++++
 2 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardId.java b/java/src/com/android/inputmethod/keyboard/KeyboardId.java
index b413615158..f9ff7b0897 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardId.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardId.java
@@ -59,8 +59,6 @@ public final class KeyboardId {
     public static final int FORM_FACTOR_TABLET7 = 1;
     public static final int FORM_FACTOR_TABLET10 = 2;
 
-    private static final int IME_ACTION_CUSTOM_LABEL = EditorInfo.IME_MASK_ACTION + 1;
-
     public final InputMethodSubtype mSubtype;
     public final Locale mLocale;
     public final int mDeviceFormFactor;
@@ -174,19 +172,12 @@ public final class KeyboardId {
     }
 
     public int imeAction() {
-        final int actionId = mEditorInfo.imeOptions & EditorInfo.IME_MASK_ACTION;
-        if ((mEditorInfo.imeOptions & EditorInfo.IME_FLAG_NO_ENTER_ACTION) != 0) {
-            return EditorInfo.IME_ACTION_NONE;
-        } else if (mEditorInfo.actionLabel != null) {
-            return IME_ACTION_CUSTOM_LABEL;
-        } else {
-            return actionId;
-        }
+        return InputTypeUtils.getActionIdFromEditorInfo(mEditorInfo);
     }
 
     public int imeActionId() {
         final int actionId = imeAction();
-        return actionId == IME_ACTION_CUSTOM_LABEL ? mEditorInfo.actionId : actionId;
+        return actionId == InputTypeUtils.IME_ACTION_CUSTOM_LABEL ? mEditorInfo.actionId : actionId;
     }
 
     @Override
@@ -269,7 +260,7 @@ public final class KeyboardId {
     }
 
     public static String actionName(final int actionId) {
-        return (actionId == IME_ACTION_CUSTOM_LABEL) ? "actionCustomLabel"
+        return (actionId == InputTypeUtils.IME_ACTION_CUSTOM_LABEL) ? "actionCustomLabel"
                 : EditorInfoCompatUtils.imeActionName(actionId);
     }
 }
diff --git a/java/src/com/android/inputmethod/latin/InputTypeUtils.java b/java/src/com/android/inputmethod/latin/InputTypeUtils.java
index 9a4503bf4b..55414b809a 100644
--- a/java/src/com/android/inputmethod/latin/InputTypeUtils.java
+++ b/java/src/com/android/inputmethod/latin/InputTypeUtils.java
@@ -17,6 +17,7 @@
 package com.android.inputmethod.latin;
 
 import android.text.InputType;
+import android.view.inputmethod.EditorInfo;
 
 public final class InputTypeUtils implements InputType {
     private static final int WEB_TEXT_PASSWORD_INPUT_TYPE =
@@ -35,6 +36,7 @@ public final class InputTypeUtils implements InputType {
         InputType.TYPE_TEXT_VARIATION_URI,
         InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD,
         InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD };
+    public static final int IME_ACTION_CUSTOM_LABEL = EditorInfo.IME_MASK_ACTION + 1;
 
     private InputTypeUtils() {
         // This utility class is not publicly instantiable.
@@ -102,4 +104,15 @@ public final class InputTypeUtils implements InputType {
         }
         return true;
     }
+
+    public static int getActionIdFromEditorInfo(final EditorInfo editorInfo) {
+        final int actionId = editorInfo.imeOptions & EditorInfo.IME_MASK_ACTION;
+        if ((editorInfo.imeOptions & EditorInfo.IME_FLAG_NO_ENTER_ACTION) != 0) {
+            return EditorInfo.IME_ACTION_NONE;
+        } else if (editorInfo.actionLabel != null) {
+            return IME_ACTION_CUSTOM_LABEL;
+        } else {
+            return actionId;
+        }
+    }
 }
-- 
GitLab