Merge "Accept null subtype in InputMethodSubtypeHandle." into nyc-dev
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user