diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java index 3ed3e82dee5..94589f08387 100644 --- a/src/com/android/settings/DateTimeSettings.java +++ b/src/com/android/settings/DateTimeSettings.java @@ -28,6 +28,8 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; +import android.os.UserManager; +import android.provider.SearchIndexableResource; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; import android.support.v14.preference.SwitchPreference; @@ -38,17 +40,21 @@ import android.widget.DatePicker; import android.widget.TimePicker; import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.settings.dashboard.SummaryLoader; +import com.android.settings.search.BaseSearchIndexProvider; +import com.android.settings.search.Indexable; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedSwitchPreference; import com.android.settingslib.datetime.ZoneGetter; +import java.util.ArrayList; import java.util.Calendar; import java.util.Date; +import java.util.List; import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; public class DateTimeSettings extends SettingsPreferenceFragment - implements OnTimeSetListener, OnDateSetListener, OnPreferenceChangeListener { + implements OnTimeSetListener, OnDateSetListener, OnPreferenceChangeListener, Indexable { private static final String HOURS_12 = "12"; private static final String HOURS_24 = "24"; @@ -380,4 +386,26 @@ public class DateTimeSettings extends SettingsPreferenceFragment return new SummaryProvider(activity, summaryLoader); } }; + + public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = + new DateTimeSearchIndexProvider(); + + private static class DateTimeSearchIndexProvider extends BaseSearchIndexProvider { + + @Override + public List getXmlResourcesToIndex( + Context context, boolean enabled) { + List result = new ArrayList<>(); + // Remove data/time settings from search in demo mode + if (UserManager.isDeviceInDemoMode(context)) { + return result; + } + + SearchIndexableResource sir = new SearchIndexableResource(context); + sir.xmlResId = R.xml.date_time_prefs; + result.add(sir); + + return result; + } + } } diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index fcee935c3ab..17ce8a11331 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -1058,6 +1058,13 @@ public class SettingsActivity extends SettingsDrawerActivity UserHandle.MU_ENABLED && UserManager.supportsMultipleUsers() && !Utils.isMonkeyRunning(), isAdmin, pm); + setTileEnabled(new ComponentName(packageName, + Settings.WirelessSettingsActivity.class.getName()), + !UserManager.isDeviceInDemoMode(this), isAdmin, pm); + + setTileEnabled(new ComponentName(packageName, + Settings.DateTimeSettingsActivity.class.getName()), + !UserManager.isDeviceInDemoMode(this), isAdmin, pm); NfcAdapter adapter = NfcAdapter.getDefaultAdapter(this); setTileEnabled(new ComponentName(packageName, Settings.PaymentSettingsActivity.class.getName()), diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java index 722a861fbda..7e3b8d8aed7 100644 --- a/src/com/android/settings/WirelessSettings.java +++ b/src/com/android/settings/WirelessSettings.java @@ -57,6 +57,7 @@ import com.android.settingslib.RestrictedPreference; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; public class WirelessSettings extends SettingsPreferenceFragment implements Indexable { @@ -410,6 +411,10 @@ public class WirelessSettings extends SettingsPreferenceFragment implements Inde @Override public List getXmlResourcesToIndex( Context context, boolean enabled) { + // Remove wireless settings from search in demo mode + if (UserManager.isDeviceInDemoMode(context)) { + return Collections.emptyList(); + } SearchIndexableResource sir = new SearchIndexableResource(context); sir.xmlResId = R.xml.wireless_settings; return Arrays.asList(sir); diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java index 08a0d0c8ee7..ff633e07abb 100644 --- a/src/com/android/settings/search/SearchIndexableResources.java +++ b/src/com/android/settings/search/SearchIndexableResources.java @@ -272,7 +272,7 @@ public final class SearchIndexableResources { sResMap.put(DateTimeSettings.class.getName(), new SearchIndexableResource( Ranking.getRankForClassName(DateTimeSettings.class.getName()), - R.xml.date_time_prefs, + NO_DATA_RES_ID, DateTimeSettings.class.getName(), R.drawable.ic_settings_date_time));