summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2022-07-28 21:11:29 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-07-28 21:11:29 +0000
commit95ffdae9997ac0756c9929ce33610f8358865a68 (patch)
tree9a97c5ae0a6987095793c18ffdd0cfebb9d233d2
parent953c2f9b580e864c62cdc5882425aafb41a51077 (diff)
parente26fa5abeb8299880a894b7bc94c8314c47b95cd (diff)
Merge "Simplify IMMS#setAdditionalInputMethodSubtypes()"
-rw-r--r--services/core/java/com/android/server/inputmethod/InputMethodManagerService.java38
1 files changed, 18 insertions, 20 deletions
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
index af95b4f54eb4..fcc6a741f646 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
@@ -178,6 +178,7 @@ import com.android.internal.inputmethod.UnbindReason;
import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
import com.android.internal.notification.SystemNotificationChannels;
import com.android.internal.os.TransferPipe;
+import com.android.internal.util.ArrayUtils;
import com.android.internal.util.ConcurrentUtils;
import com.android.internal.util.DumpUtils;
import com.android.internal.view.IInputMethodManager;
@@ -4190,26 +4191,23 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub
Slog.e(TAG, "Failed to get package infos");
return;
}
- if (packageInfos != null) {
- final int packageNum = packageInfos.length;
- for (int i = 0; i < packageNum; ++i) {
- if (packageInfos[i].equals(imi.getPackageName())) {
- if (subtypes.length > 0) {
- mAdditionalSubtypeMap.put(imi.getId(), toBeAdded);
- } else {
- mAdditionalSubtypeMap.remove(imi.getId());
- }
- AdditionalSubtypeUtils.save(mAdditionalSubtypeMap, mMethodMap,
- mSettings.getCurrentUserId());
- final long ident = Binder.clearCallingIdentity();
- try {
- buildInputMethodListLocked(false /* resetDefaultEnabledIme */);
- } finally {
- Binder.restoreCallingIdentity(ident);
- }
- return;
- }
- }
+ if (ArrayUtils.find(packageInfos,
+ packageInfo -> TextUtils.equals(packageInfo, imi.getPackageName())) == null) {
+ return;
+ }
+
+ if (toBeAdded.isEmpty()) {
+ mAdditionalSubtypeMap.remove(imi.getId());
+ } else {
+ mAdditionalSubtypeMap.put(imi.getId(), toBeAdded);
+ }
+ AdditionalSubtypeUtils.save(mAdditionalSubtypeMap, mMethodMap,
+ mSettings.getCurrentUserId());
+ final long ident = Binder.clearCallingIdentity();
+ try {
+ buildInputMethodListLocked(false /* resetDefaultEnabledIme */);
+ } finally {
+ Binder.restoreCallingIdentity(ident);
}
}
}