diff options
| author | 2016-04-11 22:33:24 +0000 | |
|---|---|---|
| committer | 2016-04-11 22:33:25 +0000 | |
| commit | 9dd39f8bcc7f6f12e2e65cf2fcdf27cd169b5268 (patch) | |
| tree | 6c1e16e6e09bcccbd1e4fc000ad8a945963b8832 | |
| parent | 1e07bda8fb94a6dfd3c18f92cacd504b891701da (diff) | |
| parent | b1e2f4fc3a7b6676aa2c19f470338d6d57ff0ce6 (diff) | |
Merge "Shift+Meta+Space should reverse-rotate subtypes part 2." into nyc-dev
| -rw-r--r-- | core/java/com/android/internal/inputmethod/InputMethodSubtypeSwitchingController.java | 51 |
1 files changed, 47 insertions, 4 deletions
diff --git a/core/java/com/android/internal/inputmethod/InputMethodSubtypeSwitchingController.java b/core/java/com/android/internal/inputmethod/InputMethodSubtypeSwitchingController.java index 46b49de7fc80..8d117837df83 100644 --- a/core/java/com/android/internal/inputmethod/InputMethodSubtypeSwitchingController.java +++ b/core/java/com/android/internal/inputmethod/InputMethodSubtypeSwitchingController.java @@ -16,6 +16,7 @@ package com.android.internal.inputmethod; +import android.annotation.Nullable; import android.content.Context; import android.content.pm.PackageManager; import android.text.TextUtils; @@ -284,8 +285,22 @@ public class InputMethodSubtypeSwitchingController { return -1; } + /** + * Provides the basic operation to implement bi-directional IME rotation. + * @param onlyCurrentIme {@code true} to limit the search space to IME subtypes that belong + * to {@code imi}. + * @param imi {@link InputMethodInfo} that will be used in conjunction with {@code subtype} + * from which we find the adjacent IME subtype. + * @param subtype {@link InputMethodSubtype} that will be used in conjunction with + * {@code imi} from which we find the next IME subtype. {@code null} if the input method + * does not have a subtype. + * @param forward {@code true} to do forward search the next IME subtype. Specify + * {@code false} to do backward search. + * @return The IME subtype found. {@code null} if no IME subtype is found. + */ + @Nullable public ImeSubtypeListItem getNextInputMethodLocked(boolean onlyCurrentIme, - InputMethodInfo imi, InputMethodSubtype subtype, boolean forward) { + InputMethodInfo imi, @Nullable InputMethodSubtype subtype, boolean forward) { if (imi == null) { return null; } @@ -298,7 +313,7 @@ public class InputMethodSubtypeSwitchingController { } final int N = mImeSubtypeList.size(); for (int i = 1; i < N; ++i) { - // Start searching the next IME/subtype from the next of the current index. + // Start searching the next IME/subtype from +/- 1 indices. final int offset = forward ? i : N - i; final int candidateIndex = (currentIndex + offset) % N; final ImeSubtypeListItem candidate = mImeSubtypeList.get(candidateIndex); @@ -371,8 +386,22 @@ public class InputMethodSubtypeSwitchingController { mUsageHistoryOfSubtypeListItemIndex[0] = currentItemIndex; } + /** + * Provides the basic operation to implement bi-directional IME rotation. + * @param onlyCurrentIme {@code true} to limit the search space to IME subtypes that belong + * to {@code imi}. + * @param imi {@link InputMethodInfo} that will be used in conjunction with {@code subtype} + * from which we find the adjacent IME subtype. + * @param subtype {@link InputMethodSubtype} that will be used in conjunction with + * {@code imi} from which we find the next IME subtype. {@code null} if the input method + * does not have a subtype. + * @param forward {@code true} to do forward search the next IME subtype. Specify + * {@code false} to do backward search. + * @return The IME subtype found. {@code null} if no IME subtype is found. + */ + @Nullable public ImeSubtypeListItem getNextInputMethodLocked(boolean onlyCurrentIme, - InputMethodInfo imi, InputMethodSubtype subtype, boolean forward) { + InputMethodInfo imi, @Nullable InputMethodSubtype subtype, boolean forward) { int currentUsageRank = getUsageRank(imi, subtype); if (currentUsageRank < 0) { if (DEBUG) { @@ -456,8 +485,22 @@ public class InputMethodSubtypeSwitchingController { mSwitchingUnawareRotationList = switchingUnawareRotationList; } + /** + * Provides the basic operation to implement bi-directional IME rotation. + * @param onlyCurrentIme {@code true} to limit the search space to IME subtypes that belong + * to {@code imi}. + * @param imi {@link InputMethodInfo} that will be used in conjunction with {@code subtype} + * from which we find the adjacent IME subtype. + * @param subtype {@link InputMethodSubtype} that will be used in conjunction with + * {@code imi} from which we find the next IME subtype. {@code null} if the input method + * does not have a subtype. + * @param forward {@code true} to do forward search the next IME subtype. Specify + * {@code false} to do backward search. + * @return The IME subtype found. {@code null} if no IME subtype is found. + */ + @Nullable public ImeSubtypeListItem getNextInputMethod(boolean onlyCurrentIme, InputMethodInfo imi, - InputMethodSubtype subtype, boolean forward) { + @Nullable InputMethodSubtype subtype, boolean forward) { if (imi == null) { return null; } |