private void addCustomSearchProvidersSelect(SharedPreferences prefs) { MultiSelectListPreference multiPreference = new MultiSelectListPreference(this); //get stored search providers or default hard-coded values Set<String> availableSearchProviders = prefs.getStringSet("available-search-providers", SearchProvider.getSearchProviders(this)); String[] searchProvidersArray = new String[availableSearchProviders.size()]; int pos = 0; //get names of search providers for (String searchProvider : availableSearchProviders) { searchProvidersArray[pos++] = searchProvider.split("\\|")[0]; } String search_providers_title = this.getString(R.string.search_providers_title); multiPreference.setTitle(search_providers_title); multiPreference.setDialogTitle(search_providers_title); multiPreference.setKey("selected-search-provider-names"); multiPreference.setEntries(searchProvidersArray); multiPreference.setEntryValues(searchProvidersArray); multiPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override @SuppressWarnings("unchecked") public boolean onPreferenceChange(Preference preference, Object newValue) { final SearchProvider provider = KissApplication.getApplication(SettingsActivity.this).getDataHandler().getSearchProvider(); if (provider != null) { provider.reload(); } return true; } }); PreferenceGroup category = (PreferenceGroup) findPreference("providers"); category.addPreference(multiPreference); }
String search_providers_title = this.getString(R.string.search_providers_delete); multiPreference.setTitle(search_providers_title); multiPreference.setDialogTitle(search_providers_title); multiPreference.setKey("deleting-search-providers-names"); multiPreference.setEntries(searchProvidersArray);
@SuppressWarnings("deprecation") private void addExcludedFromHistoryAppSettings(final SharedPreferences prefs) { final MultiSelectListPreference multiPreference = new MultiSelectListPreference(this); multiPreference.setTitle(R.string.ui_excluded_from_history_apps); multiPreference.setDialogTitle(R.string.ui_excluded_apps_dialog_title); multiPreference.setKey("excluded_from_history_apps_ui"); multiPreference.setOrder(15); PreferenceGroup category = (PreferenceGroup) findPreference("exclude_apps_category"); category.addPreference(multiPreference); loadExcludedFromHistoryAppsToPreference(multiPreference); multiPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override @SuppressWarnings("unchecked") public boolean onPreferenceChange(Preference preference, Object newValue) { Set<String> appListToBeExcluded = (HashSet<String>) newValue; prefs.edit().putStringSet("excluded-apps-from-history", appListToBeExcluded).apply(); loadExcludedFromHistoryAppsToPreference(multiPreference); if (hasNoExcludedFromHistoryApps()) { multiPreference.setDialogMessage(R.string.ui_excluded_apps_not_found); } return false; } }); if (hasNoExcludedFromHistoryApps()) { multiPreference.setDialogMessage(R.string.ui_excluded_apps_not_found); } }
final MultiSelectListPreference multiPreference = new MultiSelectListPreference(this); multiPreference.setTitle(R.string.ui_excluded_apps); multiPreference.setDialogTitle(R.string.ui_excluded_apps_dialog_title); multiPreference.setKey("excluded_apps_ui"); multiPreference.setOrder(15);
/** * Helper Class to setup the default Unit Type preference list in code */ private void setUpUnitTypePrefs() { PreferenceScreen screen = getPreferenceScreen(); MultiSelectListPreference listPref = new MultiSelectListPreference(super.getActivity()); listPref.setOrder(0); listPref.setDialogTitle(R.string.unit_select_title); listPref.setKey(UNIT_TYPE_PREF_KEY); listPref.setSummary(R.string.unit_select_summary); listPref.setTitle(R.string.unit_select_title); listPref.setEntries(getUnitTypeNameArray(getResources())); String[] keyArray = getUnitTypeKeyArray(getResources()); listPref.setEntryValues(keyArray); final Set<String> result = new HashSet<>(); Collections.addAll(result, keyArray); listPref.setDefaultValue(result); screen.addPreference(listPref); }