Move a method to a utility class (C1)

This is a preparatory change to fix bug 7969231

Change-Id: I44604ae75192a17b4e75a01f3e3d679d4901299e
main
Jean Chalard 2013-01-09 21:58:32 +09:00
parent 8315e8168b
commit 8da9c337db
2 changed files with 16 additions and 12 deletions

View File

@ -59,8 +59,6 @@ public final class KeyboardId {
public static final int FORM_FACTOR_TABLET7 = 1; public static final int FORM_FACTOR_TABLET7 = 1;
public static final int FORM_FACTOR_TABLET10 = 2; 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 InputMethodSubtype mSubtype;
public final Locale mLocale; public final Locale mLocale;
public final int mDeviceFormFactor; public final int mDeviceFormFactor;
@ -174,19 +172,12 @@ public final class KeyboardId {
} }
public int imeAction() { public int imeAction() {
final int actionId = mEditorInfo.imeOptions & EditorInfo.IME_MASK_ACTION; return InputTypeUtils.getActionIdFromEditorInfo(mEditorInfo);
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;
}
} }
public int imeActionId() { public int imeActionId() {
final int actionId = imeAction(); final int actionId = imeAction();
return actionId == IME_ACTION_CUSTOM_LABEL ? mEditorInfo.actionId : actionId; return actionId == InputTypeUtils.IME_ACTION_CUSTOM_LABEL ? mEditorInfo.actionId : actionId;
} }
@Override @Override
@ -269,7 +260,7 @@ public final class KeyboardId {
} }
public static String actionName(final int actionId) { 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); : EditorInfoCompatUtils.imeActionName(actionId);
} }
} }

View File

@ -17,6 +17,7 @@
package com.android.inputmethod.latin; package com.android.inputmethod.latin;
import android.text.InputType; import android.text.InputType;
import android.view.inputmethod.EditorInfo;
public final class InputTypeUtils implements InputType { public final class InputTypeUtils implements InputType {
private static final int WEB_TEXT_PASSWORD_INPUT_TYPE = 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_URI,
InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD, InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD,
InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD }; InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD };
public static final int IME_ACTION_CUSTOM_LABEL = EditorInfo.IME_MASK_ACTION + 1;
private InputTypeUtils() { private InputTypeUtils() {
// This utility class is not publicly instantiable. // This utility class is not publicly instantiable.
@ -102,4 +104,15 @@ public final class InputTypeUtils implements InputType {
} }
return true; 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;
}
}
} }