From 2ac864b781f78c18b29829d26cec660974663d4b Mon Sep 17 00:00:00 2001 From: Alan Chen Date: Thu, 17 Sep 2026 18:42:40 +0000 Subject: [PATCH] Support AOSP AppSearch APEX package in CheckMainlineVersionUseCase Currently, CheckMainlineVersionUseCase only checks for the Google mainline package name com.google.android.appsearch. On AOSP builds and automotive emulators, the package name is com.android.appsearch, causing the agent to report 'AppFunction Not Supported'. Check both com.google.android.appsearch and com.android.appsearch to support AOSP environments. --- .../CheckMainlineVersionUseCase.kt | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/agent/app/src/main/java/com/example/appfunctions/agent/domain/troubleshoot/CheckMainlineVersionUseCase.kt b/agent/app/src/main/java/com/example/appfunctions/agent/domain/troubleshoot/CheckMainlineVersionUseCase.kt index abad414d..303f6c1e 100644 --- a/agent/app/src/main/java/com/example/appfunctions/agent/domain/troubleshoot/CheckMainlineVersionUseCase.kt +++ b/agent/app/src/main/java/com/example/appfunctions/agent/domain/troubleshoot/CheckMainlineVersionUseCase.kt @@ -32,21 +32,29 @@ class CheckMainlineVersionUseCase */ operator fun invoke(): Boolean { val pm = context.packageManager - return try { - val packageInfo = - pm.getPackageInfo( - APPSEARCH_MODULE_NAME, - PackageManager.PackageInfoFlags.of(PackageManager.MATCH_APEX.toLong()), - ) - val versionCode = packageInfo.longVersionCode - versionCode > REQUIRED_VERSION - } catch (e: PackageManager.NameNotFoundException) { - false + for (moduleName in APPSEARCH_MODULE_NAMES) { + try { + val packageInfo = + pm.getPackageInfo( + moduleName, + PackageManager.PackageInfoFlags.of(PackageManager.MATCH_APEX.toLong()), + ) + if (packageInfo.longVersionCode > REQUIRED_VERSION) { + return true + } + } catch (e: PackageManager.NameNotFoundException) { + // Try next module name + } } + return false } companion object { - const val APPSEARCH_MODULE_NAME = "com.google.android.appsearch" + val APPSEARCH_MODULE_NAMES = + listOf( + "com.google.android.appsearch", + "com.android.appsearch", + ) const val REQUIRED_VERSION = 360743060L } }