본문 바로가기
모바일개발(Mobile Dev)/안드로이드개발(Android)

Preference Example

by 테크한스 2016. 10. 2.
반응형
Example 1
Project: Tofu-Notes-master View SourceVote up6 votes
@Override
  protected void onCreate(Bundle savedInstanceState) {
//setTheme(Umlaut.getCurrentPreferencesTheme(this));

      requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);

      addPreferencesFromResource(R.layout.preferences);
      
      OnPreferenceChangeListener listener = new Preference.OnPreferenceChangeListener() {

	@Override
	public boolean onPreferenceChange(Preference preference, Object newValue) {
		
		Intent intent = new Intent(MainPreferenceActivity.this, OverviewActivity.class);
    	startActivity(intent);
		
		return true;
	}
  	
  	};
      
  	ListPreference lp2 = (ListPreference) findPreference("dateFormat");
      if(lp2 != null)
      	lp2.setOnPreferenceChangeListener(listener);
  	
      ListPreference lp = (ListPreference) findPreference("theme");
      if(lp != null)
      	lp.setOnPreferenceChangeListener(listener);
      
      ListPreference lp1 = (ListPreference) findPreference("listStyle");
      if(lp1 != null)
      	lp1.setOnPreferenceChangeListener(listener);
  }
 
Example 2
Project: HoloDash-master View SourceVote up6 votes
/**
 * When the preference's value is changed, trigger the given listener. The listener is also
 * immediately called with the preference's current value upon calling this method.
 */
public static void setAndCallPreferenceChangeListener(Preference preference,
        Preference.OnPreferenceChangeListener listener) {
    // Set the listener to watch for value changes.
    preference.setOnPreferenceChangeListener(listener);

    // Trigger the listener immediately with the preference's
    // current value.
    listener.onPreferenceChange(preference,
            PreferenceManager
                    .getDefaultSharedPreferences(preference.getContext())
                    .getString(preference.getKey(), ""));
}
 
Example 3
Project: android-sholi-master View SourceVote up6 votes
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    addPreferencesFromResource(R.xml.preferences);
    PreferenceManager.setDefaultValues(getActivity(), R.xml.preferences, false);

    Preference.OnPreferenceChangeListener c = new Preference.OnPreferenceChangeListener() {
        public boolean onPreferenceChange(Preference preference, Object value) {
            return checkImportMarkers(preference.getKey(), (String)value);
        }
    };

    findPreference(SettingsActivity.KEY_IMPORT_SYMBOL_CHECKED).setOnPreferenceChangeListener(c);
    findPreference(SettingsActivity.KEY_IMPORT_SYMBOL_UNCHECKED).setOnPreferenceChangeListener(c);
    findPreference(SettingsActivity.KEY_IMPORT_SYMBOL_OFF_LIST).setOnPreferenceChangeListener(c);
}
 

Example 4
Project: MuzeiTVShows-master View SourceVote up6 votes
/**
 * When the preference's value is changed, trigger the given listener. The listener is also
 * immediately called with the preference's current value upon calling this method.
 */
public static void setAndCallPreferenceChangeListener(Preference preference,
                                                      Preference.OnPreferenceChangeListener listener) {
    // Set the listener to watch for value changes.
    preference.setOnPreferenceChangeListener(listener);

    // Trigger the listener immediately with the preference's
    // current value.
    listener.onPreferenceChange(preference,
            PreferenceManager
                    .getDefaultSharedPreferences(preference.getContext())
                    .getString(preference.getKey(), ""));
}
 
Example 5
Project: AppsiHomePlugins-master View SourceVote up6 votes
/**
 * When the preference's value is changed, trigger the given listener. The listener is also
 * immediately called with the preference's current value upon calling this method.
 */
public static void setAndCallPreferenceChangeListener(Preference preference,
        Preference.OnPreferenceChangeListener listener) {
    // Set the listener to watch for value changes.
    preference.setOnPreferenceChangeListener(listener);

    // Trigger the listener immediately with the preference's
    // current value.
    listener.onPreferenceChange(preference,
            PreferenceManager
                    .getDefaultSharedPreferences(preference.getContext())
                    .getString(preference.getKey(), ""));
}
 
Example 6
Project: platform_packages_apps_settings-master View SourceVote up6 votes
protected EditTextPreference createEditTextPreference(Context c, int titleId,
        int prefNameId, String value,
        Preference.OnPreferenceChangeListener listener) {
    EditTextPreference pref = new EditTextPreference(c);
    pref.setTitle(titleId);
    pref.setDialogTitle(titleId);
    setSummary(pref, prefNameId, value);
    pref.setText(value);
    pref.setPersistent(true);
    pref.setOnPreferenceChangeListener(listener);
    return pref;
}
 
Example 7
Project: sms-ticket-master View SourceVote up6 votes
private void updateRingtoneSummary(PreferenceScreen preferenceScreen) {
    String name = getString(R.string.pref_ringtone_none);
    String value = Preferences.getString(mContext, Preferences.NOTIFICATION_RINGTONE, null);
    if (!TextUtils.isEmpty(value)) {
        Uri ringtoneUri = Uri.parse(value);
        Ringtone ringtone = RingtoneManager.getRingtone(mContext, ringtoneUri);
        if (ringtone != null) {
            name = ringtone.getTitle(mContext);
        }
    }
    preferenceScreen.findPreference(Preferences.NOTIFICATION_RINGTONE).setSummary(name);
    preferenceScreen.findPreference(Preferences.NOTIFICATION_RINGTONE).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            String v = (String)newValue;
            preference.setSummary(v);
            return true;
        }
    });
}
 
Example 8
Project: lunar_calendar-master View SourceVote up6 votes
/**
 * When the preference's value is changed, trigger the given listener. The
 * listener is also immediately called with the preference's current value
 * upon calling this method.
 */
public static void setAndCallPreferenceChangeListener(Preference preference,
    Preference.OnPreferenceChangeListener listener) {
  // Set the listener to watch for value changes.
  preference.setOnPreferenceChangeListener(listener);

  // Trigger the listener immediately with the preference's
  // current value.
  listener.onPreferenceChange(preference,
      PreferenceManager.getDefaultSharedPreferences(preference.getContext())
          .getString(preference.getKey(), ""));
}
 
Example 9
Project: assertj-android-master View SourceVote up6 votes
public S hasPreferenceChangeListener(Preference.OnPreferenceChangeListener listener) {
  isNotNull();
  Preference.OnPreferenceChangeListener actualListener = actual.getOnPreferenceChangeListener();
  assertThat(actualListener) //
      .overridingErrorMessage("Expected preference change listener <%s> but was <%s>.", listener,
          actualListener) //
      .isSameAs(listener);
  return myself;
}
 
Example 10
Project: android_packages_apps_settings-master View SourceVote up6 votes
private ListPreference createList(Context c, int titleResId, String selection, String[] keys,
        Preference.OnPreferenceChangeListener listener) {
    ListPreference pref = new ListPreference(c);
    pref.setTitle(titleResId);
    pref.setDialogTitle(titleResId);
    pref.setPersistent(true);
    pref.setEntries(keys);
    pref.setEntryValues(keys);
    pref.setValue(selection);
    pref.setOnPreferenceChangeListener(listener);
    return pref;
}
 
Example 11
Project: media-button-router-master View SourceVote up5 votes
/**
 * {@inheritDoc}
 */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    
    String hiddenReceiverIdsString = PreferenceManager.getDefaultSharedPreferences(this).getString(
            Constants.HIDDEN_APPS_KEY, "");
    List<String> hiddenIds = Arrays.asList(hiddenReceiverIdsString.split(","));
    final List<String> missingHiddenIds = new ArrayList<String>(hiddenIds);
    
    addPreferencesFromResource(R.xml.preferences);
    

    // Add preferences for hiding apps
    PreferenceCategory visibleAppsCategory = new PreferenceCategory(this);
    visibleAppsCategory.setTitle(R.string.visible_apps_header);
    getPreferenceScreen().addPreference(visibleAppsCategory);
    final List<CheckBoxPreference> showAppCheckBoxPreferences = new ArrayList<CheckBoxPreference>();
    OnPreferenceChangeListener showPreferenceChangeListener = new Preference.OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            StringBuilder hiddenApps = new StringBuilder();
            boolean first = true;

            for (CheckBoxPreference checkBoxPreference : showAppCheckBoxPreferences) {
                if ((preference == checkBoxPreference && newValue == Boolean.FALSE)
                        || ((preference != checkBoxPreference && !checkBoxPreference.isChecked()))) {
                    if (first) {
                        first = false;
                    } else {
                        hiddenApps.append(",");
                    }
                    hiddenApps.append(checkBoxPreference.getKey());
                }
            }
             
            
            // add missing hidden apps in case they are some how being updated in the middle of this checkbox change
            for (String missingHiddenId : missingHiddenIds) {
                if (first) {
                    first = false;
                } else {
                    hiddenApps.append(",");
                }
                hiddenApps.append(missingHiddenId);
            }

            PreferenceManager.getDefaultSharedPreferences(MediaButtonConfigure.this).edit()
                    .putString(Constants.HIDDEN_APPS_KEY, hiddenApps.toString()).commit();

            return true;
        }
    };

    List<ResolveInfo> mediaReceivers = Utils.getMediaReceivers(getPackageManager(), false, null);
    for (ResolveInfo mediaReceiver : mediaReceivers) {
        if (MediaButtonReceiver.class.getName().equals(mediaReceiver.activityInfo.name)) {
            continue;
        }
        String receiverId = Utils.getMediaReceiverUniqueID(mediaReceiver, getPackageManager());
        CheckBoxPreference showReceiverPreference = new CheckBoxPreference(this);
        showReceiverPreference.setTitle(Utils.getAppName(mediaReceiver, getPackageManager()));
        showReceiverPreference.setPersistent(false);
        showReceiverPreference.setKey(receiverId);
        showReceiverPreference.setChecked(!hiddenIds.contains(showReceiverPreference.getKey()));
        showReceiverPreference.setOnPreferenceChangeListener(showPreferenceChangeListener);
        visibleAppsCategory.addPreference(showReceiverPreference);
        showAppCheckBoxPreferences.add(showReceiverPreference);
        
        missingHiddenIds.remove(receiverId);
    }

    Eula.show(this);
    Utils.showIntroifNeccessary(this);

    Intent checkIntent = new Intent();
    checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
    try {
        startActivityForResult(checkIntent, TEXT_TO_SPEECH_CHECK_CODE);
    } catch (RuntimeException re) {
        // Unable to check tts data for some reason. This happens on Samsung devices the most.
        Log.e(TAG, "Trying to detect text to speech failed.", re);
        // disable warning to install tts data since it'll probably fail too. 
        Preference ttsWarningPreference = findPreference("tts_warning");
        ttsWarningPreference.setEnabled(false);
    }
    preferences = PreferenceManager.getDefaultSharedPreferences(this);

    // Starts the media monitor service. Most of the time it should be
    // started on boot, but that's not true if the app has just been
    // installed.
    // TODO check if enabled
    // TODO add listener to enable preference to start stop service

    if (Utils.isHandlingThroughSoleReceiver()) {
        if (Utils.isHandlingThroughSoleReceiver() && preferences.getBoolean(Constants.ENABLED_PREF_KEY, true)) {
            Intent intent = new Intent(this, MediaButtonMonitorService.class);
            startService(intent);
        }
    }
}
 
Example 12
Project: calendula-master View SourceVote up5 votes
/**
 * Shows the simplified settings UI if the device configuration if the
 * device configuration dictates that a simplified, single-pane UI should be
 * shown.
 */
private void setupSimplePreferencesScreen() {
    if (!isSimplePreferences(this)) {
        return;
    }

    // Add 'general' preferences.
    addPreferencesFromResource(R.xml.pref_general);

    // Add 'notifications' preferences, and a corresponding header.
    PreferenceCategory fakeHeader2 = new PreferenceCategory(this);
    fakeHeader2.setTitle(R.string.pref_header_notifications);
    getPreferenceScreen().addPreference(fakeHeader2);
    addPreferencesFromResource(R.xml.pref_notification);

    // Add 'data and sync' preferences, and a corresponding header.
    //fakeHeader = new PreferenceCategory(this);
    //fakeHeader.setTitle(R.string.pref_header_data_sync);
    //getPreferenceScreen().addPreference(fakeHeader);
    //addPreferencesFromResource(R.xml.pref_data_sync);

    // Bind the summaries of EditText/List/Dialog/Ringtone preferences to
    // their values. When their values change, their summaries are updated
    // to reflect the new value, per the Android Design guidelines.
    bindPreferenceSummaryToValue(findPreference("display_name"));
    bindPreferenceSummaryToValue(findPreference("alarm_repeat_frequency"));
    bindPreferenceSummaryToValue(findPreference("alarm_reminder_window"));
    bindPreferenceSummaryToValue(findPreference("pref_notification_tone"));

    findPreference("enable_prescriptions_db").setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            Boolean checked = (Boolean) newValue;

            if (checked) {
                new PopulatePrescriptionDatabaseTask().execute("");
            }else{
                try {
                    DB.prescriptions().executeRaw("DELETE FROM Prescriptions;");
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            return true;
        }
    });


    if(!CalendulaApp.isPharmaModeEnabled(this)){
        Preference alarmPk = findPreference("alarm_pickup_notifications");
        PreferenceScreen preferenceScreen = getPreferenceScreen();
        preferenceScreen.removePreference(alarmPk);
    }

}
 


반응형