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:
Raff Tsai
2019-10-18 09:57:49 +08:00
parent f28a690ad9
commit c898775914
12 changed files with 62 additions and 68 deletions

View File

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

View File

@@ -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;
});