예제 #1
0
 private void updateState(@StringRes int targetKey, String valueKey) {
   Preference pref = findPreference(targetKey);
   if (pref.getSharedPreferences().getBoolean(valueKey, false)) {
     pref.setSummary(getString(R.string.state_enabled));
   } else {
     pref.setSummary(getString(R.string.state_disabled));
   }
 }
예제 #2
0
  @Override
  public boolean onPreferenceChange(Preference preference, Object newValue) {
    java.util.Set<String> newSets = (java.util.Set<String>) newValue;
    if (newSets == null || newSets.isEmpty()) {
      Toast.makeText(getContext(), R.string.toast_invalid_set_selection, Toast.LENGTH_LONG).show();
      return false; // disallow update
    }
    SpaceDockApplication.updateSetPreferences(newSets);

    // there may a race here, since transaction not shared with the actual selection commit
    preference
        .getSharedPreferences()
        .edit()
        .putStringSet(PREF_KEY_SEEN_SET_ID, mObservedSetIds)
        .commit();
    return true; // approve update, and allow it to be persisted
  }
예제 #3
0
 protected void pickAction(@StringRes int id) {
   openActivityForResult(
       id,
       ActionPickerActivity.class,
       REQUEST_ACTION,
       new ExtraPutter() {
         @Override
         public void putExtras(Preference preference, Intent activityIntent) {
           mPrefKey = preference.getKey();
           ActionPickerActivity.putExtras(activityIntent, preference.getTitle(), true);
         }
       });
   Preference pref = findPreference(id);
   ActionInfo.Record record =
       ActionInfo.Record.fromPreference(
           pref.getSharedPreferences().getString(pref.getKey(), ""));
   updateActionSummary(pref, record);
 }
예제 #4
0
 @Override
 public void onActivityResult(int requestCode, int resultCode, Intent data) {
   switch (requestCode) {
     case REQUEST_ACTION:
       if (resultCode == RESULT_OK) {
         ActionInfo.Record record =
             (ActionInfo.Record)
                 data.getSerializableExtra(ActionPickerActivity.EXTRA_ACTION_RECORD);
         MyApp.logD("picked intent: " + record.intentUri);
         // save
         Preference pref = findPreference(mPrefKey);
         pref.getSharedPreferences()
             .edit()
             .putString(mPrefKey, record.toStringForPreference())
             .apply();
         updateActionSummary(pref, record);
       }
       break;
     default:
       super.onActivityResult(requestCode, resultCode, data);
   }
 }
예제 #5
0
  @Override
  public void onCreate(Bundle savedInstanceState) {
    // Assign a theme according to settings or default
    setTheme(MainActivity.CURRENT_THEME);
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preferences);

    Preference pref = (Preference) findPreference("pref_no_of_teams");

    // First of all set the summary to the initial number of teams
    int default_n_teams = getResources().getInteger(R.integer.no_of_Teams_default);
    int no_of_teams =
        pref.getSharedPreferences().getInt(SettingsActivity.KEY_NO_OF_TEAMS, default_n_teams);
    pref.setSummary(String.valueOf(no_of_teams) + " teams as default.");

    // Secondly add the functionality to change it
    pref.setOnPreferenceClickListener(
        new Preference.OnPreferenceClickListener() {

          public boolean onPreferenceClick(Preference arg0) {
            // Increment the current value
            SharedPreferences settings = arg0.getSharedPreferences();
            int default_n_teams = getResources().getInteger(R.integer.no_of_Teams_default);
            int no_of_teams =
                settings.getInt(SettingsActivity.KEY_NO_OF_TEAMS, default_n_teams)
                        % getResources().getInteger(R.integer.maxTeams)
                    + 1;

            arg0.setSummary(String.valueOf(no_of_teams) + " teams as default.");

            // Save incremented value
            SharedPreferences.Editor settingsEditor = settings.edit();
            settingsEditor.putInt(SettingsActivity.KEY_NO_OF_TEAMS, no_of_teams);
            settingsEditor.commit();

            return false;
          }
        });
  }
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.pref);

    Preference inputmethod = findPreference(getString(R.string.prefs_next_inputmethod_key));
    if (inputmethod == null) return;

    if (!(inputmethod instanceof ListPreference)) return;

    ListPreference list = (ListPreference) inputmethod;

    InputMethodManager im = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    PackageManager pm = getPackageManager();
    List<InputMethodInfo> info = im.getEnabledInputMethodList();
    String[] entries = new String[info.size()];
    String[] entriesValue = new String[info.size()];
    int index = 1;
    for (int count = 0; count < info.size(); count++) {
      String label = info.get(count).loadLabel(pm).toString();
      String id = info.get(count).getId();

      if (id.indexOf("com.diycircuits.cangjie") == -1) {
        entries[index] = label;
        entriesValue[index] = id;
        index++;
      }
    }
    entries[0] = getString(R.string.no_next_inputmethod);
    entriesValue[0] = "";
    list.setEntries(entries);
    list.setEntryValues(entriesValue);

    Preference vibrator_on = findPreference("vibrate_on");
    Preference vibrator_settings = findPreference("pref_vibration_duration_settings");
    Preference sound_on = findPreference("sound_on");
    Preference sound_settings = findPreference("pref_keypress_sound_volume");
    final SharedPreferences sp = getPreferenceManager().getSharedPreferences();

    if (getSystemService(Context.VIBRATOR_SERVICE) == null) {
      vibrator_on.setEnabled(false);
      vibrator_settings.setEnabled(false);
    } else {
      vibrator_settings.setEnabled(
          vibrator_on.getSharedPreferences().getBoolean("vibrate_on", false));
      vibrator_settings.setSummary(
          Integer.toString(sp.getInt("pref_vibration_duration_settings", 5)) + "ms");
    }
    sound_settings.setEnabled(sound_on.getSharedPreferences().getBoolean("sound_on", false));
    sound_settings.setSummary(Integer.toString(sp.getInt("pref_keypress_sound_volume", 50)));

    vibrator_on.setOnPreferenceChangeListener(
        new Preference.OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object newValue) {
            if (newValue != null && newValue instanceof Boolean) {
              Preference vibrator_on = findPreference("vibrate_on");
              Preference vibrator_settings = findPreference("pref_vibration_duration_settings");
              vibrator_settings.setEnabled(((Boolean) newValue).booleanValue());
              vibrator_settings.setSummary(
                  Integer.toString(sp.getInt("pref_vibration_duration_settings", 5)) + "ms");
            }
            return true;
          }
        });

    vibrator_settings.setOnPreferenceClickListener(
        new Preference.OnPreferenceClickListener() {
          @Override
          public boolean onPreferenceClick(Preference arg0) {
            showKeypressVibrationDurationSettingsDialog();
            return true;
          }
        });

    sound_on.setOnPreferenceChangeListener(
        new Preference.OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object newValue) {
            if (newValue != null && newValue instanceof Boolean) {
              Preference sound_on = findPreference("sound_on");
              Preference sound_settings = findPreference("pref_keypress_sound_volume");
              sound_settings.setEnabled(((Boolean) newValue).booleanValue());
              sound_settings.setSummary(
                  Integer.toString(sp.getInt("pref_keypress_sound_volume", 50)));
            }
            return true;
          }
        });

    sound_settings.setOnPreferenceClickListener(
        new Preference.OnPreferenceClickListener() {
          @Override
          public boolean onPreferenceClick(Preference arg0) {
            showKeypressSoundVolumeSettingDialog();
            return true;
          }
        });
  }