From bab2edd0effa4ab9a81ae99c00eb35e57e0f7f8d Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Thu, 10 Oct 2024 13:11:27 +0800 Subject: [PATCH] Fix SpaSearchLandingActivity.isValidCall() SettingsIntelligence sometimes starts SearchResultTrampoline first, in this case, SearchResultTrampoline checks if the call is valid, then SearchResultTrampoline will start this SpaSearchLandingActivity, allow this use case. Fix: 370186204 Flag: EXEMPT bug fix Test: manual - search roaming Change-Id: Ib6b2c1d3b8754f478a637dda8e9df77a91b24d9e --- .../settings/spa/search/SpaSearchLandingActivity.kt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt b/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt index 2c0955b42b0..b94f52c8d40 100644 --- a/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt +++ b/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt @@ -38,9 +38,17 @@ class SpaSearchLandingActivity : Activity() { finish() } - private fun isValidCall() = - PasswordUtils.getCallingAppPackageName(activityToken) == + private fun isValidCall(): Boolean { + val callingAppPackageName = PasswordUtils.getCallingAppPackageName(activityToken) + if (callingAppPackageName == packageName) { + // SettingsIntelligence sometimes starts SearchResultTrampoline first, in this case, + // SearchResultTrampoline checks if the call is valid, then SearchResultTrampoline will + // start this activity, allow this use case. + return true + } + return callingAppPackageName == featureFactory.searchFeatureProvider.getSettingsIntelligencePkgName(this) + } companion object { @VisibleForTesting