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
diff --git a/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt b/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt
index 2c0955b..b94f52c 100644
--- a/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt
+++ b/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt
@@ -38,9 +38,17 @@
         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