From d0313df2b357474aabf2fb149349aaf8c9a60109 Mon Sep 17 00:00:00 2001 From: ajp_anton Date: Wed, 15 Jul 2026 19:08:50 +0000 Subject: [PATCH] Simplify support fallbacks --- .../se/ajpanton/navbuttons/ForegroundAppSupport.kt | 9 +-------- .../se/ajpanton/navbuttons/InputInjectionSupport.kt | 11 ++--------- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/se/ajpanton/navbuttons/ForegroundAppSupport.kt b/app/src/main/java/se/ajpanton/navbuttons/ForegroundAppSupport.kt index bea1ced..1916891 100644 --- a/app/src/main/java/se/ajpanton/navbuttons/ForegroundAppSupport.kt +++ b/app/src/main/java/se/ajpanton/navbuttons/ForegroundAppSupport.kt @@ -66,14 +66,7 @@ private fun packageNameFromComponent(component: Any?): String? { } private fun packageNameFromActivityInfo(info: Any?): String? { - if (info == null) { - return null - } - return try { - findField(info.javaClass, "packageName").get(info)?.toString() - } catch (_: Throwable) { - null - } + return getFieldValue(info, "packageName")?.toString() } internal fun shouldSkipForegroundPackage(packageName: String?, defaultLauncher: String?): Boolean { diff --git a/app/src/main/java/se/ajpanton/navbuttons/InputInjectionSupport.kt b/app/src/main/java/se/ajpanton/navbuttons/InputInjectionSupport.kt index 9043992..f01f257 100644 --- a/app/src/main/java/se/ajpanton/navbuttons/InputInjectionSupport.kt +++ b/app/src/main/java/se/ajpanton/navbuttons/InputInjectionSupport.kt @@ -21,15 +21,8 @@ internal fun sendInjectedKeyPress(context: Context?, keyCode: Int, log: (String) internal fun inputManagerForInjection(context: Context?): Any? { context?.getSystemService(Context.INPUT_SERVICE)?.let { return it } - - return try { - callStaticMethod(findClass(INPUT_MANAGER_CLASS, null), "getInstance") - } catch (_: Throwable) { - try { - callStaticMethod(findClass(INPUT_MANAGER_GLOBAL_CLASS, null), "getInstance") - } catch (_: Throwable) { - null - } + return listOf(INPUT_MANAGER_CLASS, INPUT_MANAGER_GLOBAL_CLASS).firstNotNullOfOrNull { className -> + runCatching { callStaticMethod(findClass(className, null), "getInstance") }.getOrNull() } }