Implement #15841213 Search - index Developer Option only and only if they have been activated

- do not index Developer Options if they are not activated
- index them just after their activation

Change-Id: I54fcc6b55a1f29eb6b19d6e14e3158d4a38a6fe6
This commit is contained in:
Fabrice Di Meglio
2014-07-25 16:28:53 -07:00
parent b7bd72f297
commit 2ec78636f7
2 changed files with 23 additions and 0 deletions

View File

@@ -1586,9 +1586,22 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
*/
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
private boolean isShowingDeveloperOptions(Context context) {
return context.getSharedPreferences(DevelopmentSettings.PREF_FILE,
Context.MODE_PRIVATE).getBoolean(
DevelopmentSettings.PREF_SHOW,
android.os.Build.TYPE.equals("eng"));
}
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
if (!isShowingDeveloperOptions(context)) {
return null;
}
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.development_prefs;
return Arrays.asList(sir);
@@ -1596,6 +1609,10 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
@Override
public List<String> getNonIndexableKeys(Context context) {
if (!isShowingDeveloperOptions(context)) {
return null;
}
final List<String> keys = new ArrayList<String>();
if (!showEnableOemUnlockPreference()) {
keys.add(ENABLE_OEM_UNLOCK);

View File

@@ -41,6 +41,7 @@ import android.text.TextUtils;
import android.util.Log;
import android.widget.Toast;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Index;
import com.android.settings.search.Indexable;
import java.io.BufferedReader;
@@ -212,6 +213,11 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment implements In
mDevHitToast = Toast.makeText(getActivity(), R.string.show_dev_on,
Toast.LENGTH_LONG);
mDevHitToast.show();
// This is good time to index the Developer Options
Index.getInstance(
getActivity().getApplicationContext()).updateFromClassNameResource(
DevelopmentSettings.class.getName(), true, true);
} else if (mDevHitCountdown > 0
&& mDevHitCountdown < (TAPS_TO_BE_A_DEVELOPER-2)) {
if (mDevHitToast != null) {