diff options
| author | 2016-04-11 13:13:57 -0700 | |
|---|---|---|
| committer | 2016-04-11 13:38:36 -0700 | |
| commit | b1e2f4fc3a7b6676aa2c19f470338d6d57ff0ce6 (patch) | |
| tree | bff04eec7480a5cd7c0f90486604c47317f0dcbf | |
| parent | 0e2e7806b7092519a1f97364d5c7256251ad03d5 (diff) | |
Shift+Meta+Space should reverse-rotate subtypes part 2.
This CL adds JavaDoc to clarify what previous CL [1] wanted to do.
No behavior change is intended in this CL.
[1]: I3694edd80be6dfe18b90360e24ae4d451b331928
d39ae854820edebe3f1cb8580117c451ffa5c4ec
Bug: 25753404
Bug: 28103839
Change-Id: I246223c0856382d68323f22987b998cd1613e98c
| -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; } |