Hide search box if it is called in initial setup wizard
- Search box is hidden if user set intent extra isSetupFlow true Fixes: 135717823 Test: search box is hidden in the following command adb shell am start -a android.settings.SETTINGS --ez isSetupFlow true Change-Id: Ia3d955c9390d6b0eef9391b9b35b6a483eb63d26
This commit is contained in:
@@ -34,6 +34,8 @@ import com.android.settings.Utils;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.search.SearchIndexableResources;
|
||||
|
||||
import com.google.android.setupcompat.util.WizardManagerHelper;
|
||||
|
||||
/**
|
||||
* FeatureProvider for Settings Search
|
||||
*/
|
||||
@@ -67,8 +69,9 @@ public interface SearchFeatureProvider {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Utils.isDeviceProvisioned(activity) ||
|
||||
!Utils.isPackageEnabled(activity, getSettingsIntelligencePkgName(activity))) {
|
||||
if (!WizardManagerHelper.isDeviceProvisioned(activity)
|
||||
|| !Utils.isPackageEnabled(activity, getSettingsIntelligencePkgName(activity))
|
||||
|| WizardManagerHelper.isAnySetupWizard(activity.getIntent())) {
|
||||
final ViewGroup parent = (ViewGroup) toolbar.getParent();
|
||||
if (parent != null) {
|
||||
parent.setVisibility(View.GONE);
|
||||
|
@@ -17,8 +17,8 @@
|
||||
package com.android.settings.search.actionbar;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.app.Activity;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Bundle;
|
||||
@@ -37,6 +37,8 @@ import com.android.settings.search.SearchFeatureProvider;
|
||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
import com.android.settingslib.core.lifecycle.events.OnCreateOptionsMenu;
|
||||
|
||||
import com.google.android.setupcompat.util.WizardManagerHelper;
|
||||
|
||||
public class SearchMenuController implements LifecycleObserver, OnCreateOptionsMenu {
|
||||
|
||||
public static final String NEED_SEARCH_ICON_IN_ACTION_BAR = "need_search_icon_in_action_bar";
|
||||
@@ -61,13 +63,14 @@ public class SearchMenuController implements LifecycleObserver, OnCreateOptionsM
|
||||
|
||||
@Override
|
||||
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
||||
final Context context = mHost.getContext();
|
||||
final String SettingsIntelligencePkgName = context.getString(
|
||||
final Activity activity = mHost.getActivity();
|
||||
final String SettingsIntelligencePkgName = activity.getString(
|
||||
R.string.config_settingsintelligence_package_name);
|
||||
if (!Utils.isDeviceProvisioned(mHost.getContext())) {
|
||||
if (!WizardManagerHelper.isDeviceProvisioned(activity)
|
||||
|| WizardManagerHelper.isAnySetupWizard(activity.getIntent())) {
|
||||
return;
|
||||
}
|
||||
if (!Utils.isPackageEnabled(mHost.getContext(), SettingsIntelligencePkgName)) {
|
||||
if (!Utils.isPackageEnabled(activity, SettingsIntelligencePkgName)) {
|
||||
return;
|
||||
}
|
||||
if (menu == null) {
|
||||
@@ -83,17 +86,17 @@ public class SearchMenuController implements LifecycleObserver, OnCreateOptionsM
|
||||
searchItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
|
||||
|
||||
searchItem.setOnMenuItemClickListener(target -> {
|
||||
final Intent intent = FeatureFactory.getFactory(context)
|
||||
final Intent intent = FeatureFactory.getFactory(activity)
|
||||
.getSearchFeatureProvider()
|
||||
.buildSearchIntent(context, mPageId);
|
||||
.buildSearchIntent(activity, mPageId);
|
||||
|
||||
if (context.getPackageManager().queryIntentActivities(intent,
|
||||
if (activity.getPackageManager().queryIntentActivities(intent,
|
||||
PackageManager.MATCH_DEFAULT_ONLY).isEmpty()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
FeatureFactory.getFactory(context).getMetricsFeatureProvider()
|
||||
.action(context, SettingsEnums.ACTION_SEARCH_RESULTS);
|
||||
FeatureFactory.getFactory(activity).getMetricsFeatureProvider()
|
||||
.action(activity, SettingsEnums.ACTION_SEARCH_RESULTS);
|
||||
mHost.startActivityForResult(intent, SearchFeatureProvider.REQUEST_CODE);
|
||||
return true;
|
||||
});
|
||||
|
Reference in New Issue
Block a user