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
This commit is contained in:
Chaohui Wang
2024-10-10 13:11:27 +08:00
parent e3c4db5884
commit bab2edd0ef

View File

@@ -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