Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e3512894 authored by Yohei Yukawa's avatar Yohei Yukawa Committed by android-build-merger
Browse files

Merge "Accept null subtype in InputMethodSubtypeHandle." into nyc-dev

am: d67a1ca4

* commit 'd67a1ca4':
  Accept null subtype in InputMethodSubtypeHandle.

Change-Id: I59093644b6bb6f9b6573f28fb501d28f736f1972
parents ef792746 d67a1ca4
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -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,
+3 −2
Original line number Diff line number Diff line
@@ -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;
        }
    }

+2 −2
Original line number Diff line number Diff line
@@ -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);