From 3c36033acb70f07c80181684a6fcf73575bb3cf7 Mon Sep 17 00:00:00 2001 From: Helium314 Date: Fri, 9 May 2025 05:16:22 +0200 Subject: [PATCH] add more information to exception when InputMethodInfo is not found apparently this randomly happens, see GH-1521 --- .../helium314/keyboard/latin/RichInputMethodManager.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/helium314/keyboard/latin/RichInputMethodManager.java b/app/src/main/java/helium314/keyboard/latin/RichInputMethodManager.java index 607e30a92..92ac1c73f 100644 --- a/app/src/main/java/helium314/keyboard/latin/RichInputMethodManager.java +++ b/app/src/main/java/helium314/keyboard/latin/RichInputMethodManager.java @@ -25,6 +25,7 @@ import helium314.keyboard.latin.utils.ScriptUtils; import helium314.keyboard.latin.utils.SubtypeLocaleUtils; import helium314.keyboard.latin.utils.SubtypeSettings; import helium314.keyboard.latin.utils.SubtypeUtilsKt; +import kotlin.collections.CollectionsKt; import java.util.Collections; import java.util.HashMap; @@ -148,13 +149,15 @@ public class RichInputMethodManager { if (mCachedThisImeInfo != null) { return mCachedThisImeInfo; } - for (final InputMethodInfo imi : mImm.getInputMethodList()) { + final var inputMethods = mImm.getInputMethodList(); + for (final InputMethodInfo imi : inputMethods) { if (imi.getPackageName().equals(mImePackageName)) { mCachedThisImeInfo = imi; return imi; } } - throw new RuntimeException("Input method id for " + mImePackageName + " not found."); + throw new RuntimeException("Input method id for " + mImePackageName + " not found, only found" + + CollectionsKt.map(inputMethods, InputMethodInfo::getPackageName)); } public synchronized List getEnabledInputMethodSubtypeList(