Add Indexable.SearchIndexProvider.getNonIndexableKeys(Context)
- getNonIndexableKeys(Context) allow a SearchIndexProvider to tell which data he does not want to index by providing a list of the data keys - use this new API for SoundSettings and removing KEY_EMERGENCY_TONE related settings if the device is not CDMA - add a BaseSearchIndexProvider for code simplification Change-Id: I23633ace1d7e390ee05fac0a5458a33e04e72d8d
This commit is contained in:
@@ -47,11 +47,14 @@ import android.provider.MediaStore;
|
||||
import android.provider.Settings;
|
||||
import android.telephony.TelephonyManager;
|
||||
import android.util.Log;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.search.Indexable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class SoundSettings extends SettingsPreferenceFragment implements
|
||||
Preference.OnPreferenceChangeListener {
|
||||
Preference.OnPreferenceChangeListener, Indexable {
|
||||
private static final String TAG = "SoundSettings";
|
||||
|
||||
private static final int DIALOG_NOT_DOCKED = 1;
|
||||
@@ -446,5 +449,23 @@ public class SoundSettings extends SettingsPreferenceFragment implements
|
||||
ab.setPositiveButton(android.R.string.ok, null);
|
||||
return ab.create();
|
||||
}
|
||||
|
||||
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||
new BaseSearchIndexProvider() {
|
||||
@Override
|
||||
public List<String> getNonIndexableKeys(Context context) {
|
||||
final List<String> keys = new ArrayList<String>();
|
||||
|
||||
int activePhoneType = TelephonyManager.getDefault().getCurrentPhoneType();
|
||||
|
||||
if (TelephonyManager.PHONE_TYPE_CDMA != activePhoneType) {
|
||||
// device is not CDMA, do not display CDMA emergency_tone
|
||||
keys.add(KEY_EMERGENCY_TONE);
|
||||
}
|
||||
|
||||
return keys;
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user