summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yohei Yukawa <yukawa@google.com> 2016-04-21 17:11:53 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-04-21 17:11:55 +0000
commitd67a1ca49b138056d53490322ffdadef61d95fec (patch)
tree68876ba973026c639fb43afffc6a1deda73138e3
parent924d8227c4c790f05fb90d6140de15fa8abb704b (diff)
parent46ac35d09b0a1ba7af7eb4c14293a7978edcd2ab (diff)
Merge "Accept null subtype in InputMethodSubtypeHandle." into nyc-dev
-rw-r--r--core/java/android/hardware/input/InputManager.java11
-rw-r--r--core/java/com/android/internal/inputmethod/InputMethodSubtypeHandle.java5
-rw-r--r--services/core/java/com/android/server/input/InputManagerService.java4
3 files changed, 12 insertions, 8 deletions
diff --git a/core/java/android/hardware/input/InputManager.java b/core/java/android/hardware/input/InputManager.java
index f810fecb6427..8a43acb59100 100644
--- a/core/java/android/hardware/input/InputManager.java
+++ b/core/java/android/hardware/input/InputManager.java
@@ -19,6 +19,7 @@ package android.hardware.input;
import com.android.internal.os.SomeArgs;
import android.annotation.IntDef;
+import android.annotation.Nullable;
import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
import android.content.Context;
@@ -644,14 +645,16 @@ public final class InputManager {
*
* @param identifier The identifier for the input device.
* @param inputMethodInfo The input method.
- * @param inputMethodSubtype The input method subtype.
+ * @param inputMethodSubtype The input method subtype. {@code null} if this input method does
+ * not support any subtype.
*
* @return The associated {@link KeyboardLayout}, or null if one has not been set.
*
* @hide
*/
+ @Nullable
public KeyboardLayout getKeyboardLayoutForInputDevice(InputDeviceIdentifier identifier,
- InputMethodInfo inputMethodInfo, InputMethodSubtype inputMethodSubtype) {
+ InputMethodInfo inputMethodInfo, @Nullable InputMethodSubtype inputMethodSubtype) {
try {
return mIm.getKeyboardLayoutForInputDevice(
identifier, inputMethodInfo, inputMethodSubtype);
@@ -666,13 +669,13 @@ public final class InputManager {
* @param identifier The identifier for the input device.
* @param inputMethodInfo The input method with which to associate the keyboard layout.
* @param inputMethodSubtype The input method subtype which which to associate the keyboard
- * layout.
+ * layout. {@code null} if this input method does not support any subtype.
* @param keyboardLayoutDescriptor The descriptor of the keyboard layout to set
*
* @hide
*/
public void setKeyboardLayoutForInputDevice(InputDeviceIdentifier identifier,
- InputMethodInfo inputMethodInfo, InputMethodSubtype inputMethodSubtype,
+ InputMethodInfo inputMethodInfo, @Nullable InputMethodSubtype inputMethodSubtype,
String keyboardLayoutDescriptor) {
try {
mIm.setKeyboardLayoutForInputDevice(identifier, inputMethodInfo,
diff --git a/core/java/com/android/internal/inputmethod/InputMethodSubtypeHandle.java b/core/java/com/android/internal/inputmethod/InputMethodSubtypeHandle.java
index 975021e85cce..04d7f9b2c9c0 100644
--- a/core/java/com/android/internal/inputmethod/InputMethodSubtypeHandle.java
+++ b/core/java/com/android/internal/inputmethod/InputMethodSubtypeHandle.java
@@ -16,6 +16,7 @@
package com.android.internal.inputmethod;
+import android.annotation.Nullable;
import android.text.TextUtils;
import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodSubtype;
@@ -26,12 +27,12 @@ public class InputMethodSubtypeHandle {
private final String mInputMethodId;
private final int mSubtypeId;
- public InputMethodSubtypeHandle(InputMethodInfo info, InputMethodSubtype subtype) {
+ public InputMethodSubtypeHandle(InputMethodInfo info, @Nullable InputMethodSubtype subtype) {
mInputMethodId = info.getId();
if (subtype != null) {
mSubtypeId = subtype.hashCode();
} else {
- mSubtypeId = 0;
+ mSubtypeId = InputMethodUtils.NOT_A_SUBTYPE_ID;
}
}
diff --git a/services/core/java/com/android/server/input/InputManagerService.java b/services/core/java/com/android/server/input/InputManagerService.java
index c7c765bb431e..c64901235ebc 100644
--- a/services/core/java/com/android/server/input/InputManagerService.java
+++ b/services/core/java/com/android/server/input/InputManagerService.java
@@ -1349,8 +1349,8 @@ public class InputManagerService extends IInputManager.Stub
if (keyboardLayoutDescriptor == null) {
throw new IllegalArgumentException("keyboardLayoutDescriptor must not be null");
}
- if (imeInfo == null || imeSubtype == null) {
- throw new IllegalArgumentException("imeInfo and imeSubtype must not be null");
+ if (imeInfo == null) {
+ throw new IllegalArgumentException("imeInfo must not be null");
}
InputMethodSubtypeHandle handle = new InputMethodSubtypeHandle(imeInfo, imeSubtype);
setKeyboardLayoutForInputDeviceInner(identifier, handle, keyboardLayoutDescriptor);