Add referrer when launching search intent.

Bug: 123294739
Test: robotests
Change-Id: I600abf1d764e828d52f3b8d35ad24cdc94dfba01
This commit is contained in:
Fan Zhang
2019-01-29 13:52:12 -08:00
parent c52a581bb7
commit beedd3abe5
7 changed files with 77 additions and 29 deletions

View File

@@ -30,11 +30,10 @@ import androidx.fragment.app.Fragment;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.core.InstrumentedPreferenceFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.SearchFeatureProvider;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.ObservableFragment;
import com.android.settingslib.core.lifecycle.ObservablePreferenceFragment;
import com.android.settingslib.core.lifecycle.events.OnCreateOptionsMenu;
public class SearchMenuController implements LifecycleObserver, OnCreateOptionsMenu {
@@ -42,17 +41,21 @@ public class SearchMenuController implements LifecycleObserver, OnCreateOptionsM
public static final String NEED_SEARCH_ICON_IN_ACTION_BAR = "need_search_icon_in_action_bar";
private final Fragment mHost;
private final int mPageId;
public static void init(@NonNull ObservablePreferenceFragment host) {
host.getSettingsLifecycle().addObserver(new SearchMenuController(host));
public static void init(@NonNull InstrumentedPreferenceFragment host) {
host.getSettingsLifecycle().addObserver(
new SearchMenuController(host, host.getMetricsCategory()));
}
public static void init(@NonNull ObservableFragment host) {
host.getSettingsLifecycle().addObserver(new SearchMenuController(host));
public static void init(@NonNull InstrumentedFragment host) {
host.getSettingsLifecycle().addObserver(
new SearchMenuController(host, host.getMetricsCategory()));
}
private SearchMenuController(@NonNull Fragment host) {
private SearchMenuController(@NonNull Fragment host, int pageId) {
mHost = host;
mPageId = pageId;
}
@Override
@@ -79,8 +82,9 @@ public class SearchMenuController implements LifecycleObserver, OnCreateOptionsM
searchItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
searchItem.setOnMenuItemClickListener(target -> {
final Intent intent = SearchFeatureProvider.SEARCH_UI_INTENT;
intent.setPackage(SettingsIntelligencePkgName);
final Intent intent = FeatureFactory.getFactory(context)
.getSearchFeatureProvider()
.buildSearchIntent(context, mPageId);
if (context.getPackageManager().queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY).isEmpty()) {