// Soo... we can use SherlockPreferenceActivity to display the
  // action bar, but we can't use a PreferenceFragment?
  @SuppressWarnings("deprecation")
  public void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
    super.onCreate(savedInstanceState);
    UIHelp.setupActionBar(getSupportActionBar());
    setSupportProgressBarIndeterminate(true);

    addPreferencesFromResource(R.xml.preferences);

    regionPref = findPreference(getString(R.string.preference_key_region));
    regionPref.setOnPreferenceClickListener(this);

    customApiUrlPref = findPreference(getString(R.string.preference_key_oba_api_url));
    customApiUrlPref.setOnPreferenceChangeListener(this);

    analyticsPref = findPreference(getString(R.string.preferences_key_analytics));
    analyticsPref.setOnPreferenceChangeListener(this);

    donatePref = findPreference(getString(R.string.preferences_key_donate));
    donatePref.setOnPreferenceClickListener(this);

    SharedPreferences settings = Application.getPrefs();
    autoSelectInitialValue =
        settings.getBoolean(getString(R.string.preference_key_auto_select_region), true);

    preferredUnits =
        (ListPreference) findPreference(getString(R.string.preference_key_preferred_units));

    settings.registerOnSharedPreferenceChangeListener(this);
  }
 @Override
 public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   addPreferencesFromResource(R.xml.preferencias);
   mediator = AppMediator.getInstance();
   mediator.setPref(this);
   presentador = mediator.getPresentadorPreferencias();
   final Preference prefLanguage = findPreference("language");
   final Preference prefMusic = findPreference("music");
   prefLanguage.setOnPreferenceChangeListener(
       new Preference.OnPreferenceChangeListener() {
         @Override
         public boolean onPreferenceChange(Preference preference, Object newValue) {
           presentador.updateLanguage();
           return true;
         }
       });
   prefLanguage.setDefaultValue("es");
   prefMusic.setOnPreferenceChangeListener(
       new Preference.OnPreferenceChangeListener() {
         @Override
         public boolean onPreferenceChange(Preference preference, Object newValue) {
           presentador.updateMusic();
           return true;
         }
       });
 }
  private void initPreference(String name) {
    Preference preference = findPreference(name);

    if (preference instanceof EditTextPreference) {
      preference.setOnPreferenceChangeListener(this);

      EditTextPreference p = (EditTextPreference) preference;
      preference.setSummary(p.getText());
    } else if (preference instanceof ButtonPreference) {
      preference.setOnPreferenceChangeListener(this);
      preference.setOnPreferenceClickListener(this);
    }
  }
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    activityLightLevelManager =
        new ActivityLightLevelManager(
            new ActivityLightLevelChanger(this, null),
            PreferenceManager.getDefaultSharedPreferences(this));
    geocoder = new Geocoder(this);
    addPreferencesFromResource(R.xml.preference_screen);

    if (!StardroidApplication.getSupportsNewSensors()) {
      findPreference("fused_sensor").setEnabled(false);
    }

    findPreference("sensor_damping")
        .setEnabled(
            !PreferenceManager.getDefaultSharedPreferences(this).getBoolean("fused_sensor", false));
    findPreference("fused_sensor").setOnPreferenceChangeListener(this);

    Preference editPreference = findPreference(LOCATION);
    // TODO(johntaylor) if the lat long prefs get changed manually, we should really
    // reset the placename to "" too.
    editPreference.setOnPreferenceChangeListener(
        new OnPreferenceChangeListener() {

          public boolean onPreferenceChange(Preference preference, Object newValue) {
            Log.d(TAG, "Place to be updated to " + newValue);
            boolean success = setLatLongFromPlace(newValue.toString());
            return success;
          }
        });
  }
 @Override
 public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   addPreferencesFromResource(R.xml.preference_lock_pattern);
   lock_pattern_on = this.findPreference("lock_pattern_on");
   lock_pattern_on.setOnPreferenceChangeListener(this);
 }
  /**
   * Binds a preference's summary to its value. More specifically, when the preference's value is
   * changed, its summary (line of text below the preference title) is updated to reflect the value.
   * The summary is also immediately updated upon calling this method. The exact display format is
   * dependent on the type of preference.
   */
  public static void bindPreferenceSummaryToValue(SharedPreferences prefs, Preference preference) {
    // Set the listener to watch for value changes.
    preference.setOnPreferenceChangeListener(sSetSummaryListener);

    // Trigger the listener immediately with the preference's current value.
    sSetSummaryListener.onPreferenceChange(preference, prefs.getString(preference.getKey(), ""));
  }
 private void bindPreferenceSummaryToValue(Preference preference) {
   preference.setOnPreferenceChangeListener(this);
   onPreferenceChange(
       preference,
       PreferenceManager.getDefaultSharedPreferences(preference.getContext())
           .getString(preference.getKey(), ""));
 }
  private void setListSummary(String key, String def) {
    SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);

    Preference pref = findPreference(key);
    pref.setOnPreferenceChangeListener(this);
    updateListSummary(pref, sharedPref.getString(key, def));
  }
  private void initializeRingtonePreference() {
    Preference.OnPreferenceChangeListener ringtoneChangedListener =
        new Preference.OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object value) {
            if ("".equals(value)) {
              preference.setSummary(R.string.silent);
            } else {
              Ringtone ringtone =
                  RingtoneManager.getRingtone(
                      ReminderPreferences.this,
                      value == null
                          ? RingtoneManager.getActualDefaultRingtoneUri(
                              getApplicationContext(), RingtoneManager.TYPE_NOTIFICATION)
                          : Uri.parse((String) value));
              preference.setSummary(
                  ringtone == null ? "" : ringtone.getTitle(ReminderPreferences.this));
            }
            return true;
          }
        };

    String ringtoneKey = getString(R.string.p_rmd_ringtone);
    Preference ringtonePreference = findPreference(ringtoneKey);
    ringtonePreference.setOnPreferenceChangeListener(ringtoneChangedListener);
    ringtoneChangedListener.onPreferenceChange(
        ringtonePreference,
        PreferenceManager.getDefaultSharedPreferences(this).getString(ringtoneKey, null));
  }
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.pref_general);

    Preference preferenceActionBar = findPreference(KEY_ACTIONBAR_COLOR);
    preferenceActionBar.setOnPreferenceChangeListener(this);

    if (!Utils.isRooted()) {
      PreferenceCategory pref =
          (PreferenceCategory) getPreferenceManager().findPreference("advanced");
      Preference preference = findPreference(KEY_ROOT_MODE);
      if (null != preference) pref.removePreference(preference);
    }

    if (!Utils.hasKitKat()) {
      PreferenceCategory pref = (PreferenceCategory) getPreferenceManager().findPreference("theme");
      Preference preference = findPreference(KEY_TRANSLUCENT_MODE);
      if (null != preference) pref.removePreference(preference);
    }

    if (!Utils.isTablet(getActivity())) {
      PreferenceCategory pref = (PreferenceCategory) getPreferenceManager().findPreference("theme");
      Preference preference = findPreference(KEY_AS_DIALOG);
      if (null != preference) pref.removePreference(preference);
    }
  }
  @Override
  @SuppressWarnings("deprecation")
  protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    this.addPreferencesFromResource(R.xml.preferences);

    int prefs[] =
        new int[] {
          R.string.pref_highlight,
          R.string.pref_wherigo_engine_deviceid,
          R.string.pref_wherigo_engine_platform,
          R.string.pref_sensors_compass_hardware,
          R.string.pref_sensors_compass_auto_change,
          R.string.pref_sensors_compass_auto_change_value,
          R.string.pref_cartridgelist_sorting,
          R.string.pref_cartridgelist_anywhere_first,
          R.string.pref_scan_external_storage,
          R.string.pref_exclude_android_dir,
          R.string.pref_exclude_hidden_dirs,
          R.string.pref_exclude_whereyougo_dir,
          R.string.pref_include_dropbox_dir
          // , R.string.pref_guiding_compass_sounds
          ,
          R.string.pref_guiding_sound_type,
          R.string.pref_guiding_sound_distance
        };

    for (int i = 0; i < prefs.length; i++) {
      Preference preference = findPreference(prefs[i]);
      if (preference != null) {
        preference.setOnPreferenceChangeListener(this);
      }
    }
  }
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      addPreferencesFromResource(R.xml.preferences_list);

      final String keyList[] = getResources().getStringArray(R.array.pref_key_list);
      Preference preference;
      String value = "";
      for (String pref_key : keyList) {
        preference = findPreference(pref_key);
        if (preference != null) {
          if (preference instanceof ListPreference) {
            value = ((ListPreference) preference).getValue();
          } else if (preference instanceof SwitchPreference) {
            getSummaryForSwitchPreference((SwitchPreference) preference);
          } else if (preference instanceof RingtonePreference) {
            value = ((RingtonePreference) preference).getShowSilent() ? "Enabled" : "Silent";
          } else if (pref_key.equalsIgnoreCase(getString(R.string.pref_key_export_bookmarks))) {
            value = getString(R.string.pref_key_export_bookmarks_summary);
          } else if (pref_key.equalsIgnoreCase(getString(R.string.pref_key_changelog))) {
            value = getString(R.string.pref_key_changelog_summary);
          } else {
            value = "";
          }
          preference.setSummary(value);
          preference.setOnPreferenceChangeListener(mListener);
          preference.setOnPreferenceClickListener(mListener);
        }
      }
    }
Exemple #13
0
 private void listenForPreferenceChange(String... keys) {
   for (String key : keys) {
     Preference p = findPreference(key);
     if (p != null) {
       p.setOnPreferenceChangeListener(this);
     }
   }
 }
 @Override
 protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setTitle(R.string.menu_settings);
   addPreferencesFromResource(R.xml.sort_preferences);
   Preference sortPref = (Preference) findPreference(org.fosdem.schedules.Preferences.PREF_SORT);
   sortPref.setOnPreferenceChangeListener(this);
 }
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    addPreferencesFromResource(R.xml.general_preferences);

    setRingtoneSummary();

    Preference preference = findPreference(PrefUtils.REFRESH_ENABLED);
    preference.setOnPreferenceChangeListener(
        new Preference.OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object newValue) {
            Activity activity = getActivity();
            if (activity != null) {
              if (Boolean.TRUE.equals(newValue)) {
                activity.startService(new Intent(activity, RefreshService.class));
              } else {
                PrefUtils.putLong(PrefUtils.LAST_SCHEDULED_REFRESH, 0);
                activity.stopService(new Intent(activity, RefreshService.class));
              }
            }
            return true;
          }
        });

    preference = findPreference(PrefUtils.LIGHT_THEME);
    preference.setOnPreferenceChangeListener(
        new Preference.OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object newValue) {
            PrefUtils.putBoolean(PrefUtils.LIGHT_THEME, Boolean.TRUE.equals(newValue));

            PreferenceManager.getDefaultSharedPreferences(MainApplication.getContext())
                .edit()
                .commit(); // to be sure all prefs are written

            android.os.Process.killProcess(android.os.Process.myPid()); // Restart the app

            // this return statement will never be reached
            return true;
          }
        });
  }
 /** Sets up all the preference change listeners to use the specified listener. */
 private void setPreferenceListeners(OnPreferenceChangeListener listener) {
   mUseHomeTZ.setOnPreferenceChangeListener(listener);
   mHomeTZ.setOnPreferenceChangeListener(listener);
   mWeekStart.setOnPreferenceChangeListener(listener);
   mDefaultReminder.setOnPreferenceChangeListener(listener);
   mSnoozeDelay.setOnPreferenceChangeListener(listener);
   mRingtone.setOnPreferenceChangeListener(listener);
   mHideDeclined.setOnPreferenceChangeListener(listener);
   mVibrate.setOnPreferenceChangeListener(listener);
 }
  /**
   * Attaches a listener so the summary is always updated with the preference value. Also fires the
   * listener once, to initialize the summary (so it shows up before the value is changed.)
   */
  private void bindPreferenceSummaryToValue(Preference preference) {
    // Set the listener to watch for value changes.
    preference.setOnPreferenceChangeListener(this);

    // Trigger the listener immediately with the preference's current value.
    String strPref =
        PreferenceManager.getDefaultSharedPreferences(preference.getContext())
            .getString(preference.getKey(), "");
    onPreferenceChange(preference, strPref);
  }
  /**
   * Attaches a listener so the summary is always updated with the preference value. Also fires the
   * listener once, to initialize the summary (so it shows up before the value is changed.)
   */
  private void bindPreferenceSummaryToValue(Preference preference) {
    // set the listener for value changes
    preference.setOnPreferenceChangeListener(this);

    // trigger the listener imediatly with the preferences current value
    onPreferenceChange(
        preference,
        PreferenceManager.getDefaultSharedPreferences(preference.getContext())
            .getString(preference.getKey(), ""));
  }
  /**
   * Binds a preference's summary to its value. More specifically, when the preference's value is
   * changed, its summary (line of text below the preference title) is updated to reflect the value.
   * The summary is also immediately updated upon calling this method. The exact display format is
   * dependent on the type of preference.
   *
   * @see #sBindPreferenceSummaryToValueListener
   */
  private static void bindPreferenceSummaryToValue(Preference preference, Object value) {
    // Set the listener to watch for value changes
    preference.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener);

    // Trigger the listener immediately with the preference's
    // current value.
    if (value != null) {
      sBindPreferenceSummaryToValueListener.onPreferenceChange(preference, value);
    }
  }
  /**
   * Attaches a listener so the summary is always updated with the preference value. Also fires the
   * listener once, to initialize the summary (so it shows up before the value is changed.)
   */
  private void bindPreferenceSummaryToValue(Preference preference) {
    // Set the listener to watch for value changes.
    preference.setOnPreferenceChangeListener(this);

    // Set the preference summaries
    setPreferenceSummary(
        preference,
        PreferenceManager.getDefaultSharedPreferences(preference.getContext())
            .getString(preference.getKey(), ""));
  }
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setTitle(R.string.menu_settings);
    addPreferencesFromResource(R.xml.preferences);
    // Get the custom preference
    /*
     * Preference customPref = (Preference) findPreference("customPref");
     * customPref .setOnPreferenceClickListener(new
     * OnPreferenceClickListener() {
     *
     * public boolean onPreferenceClick(Preference preference) {
     * Toast.makeText(getBaseContext(),
     * "The custom preference has been clicked", Toast.LENGTH_LONG).show();
     * SharedPreferences customSharedPreference = getSharedPreferences(
     * "myCustomSharedPrefs", Activity.MODE_PRIVATE);
     * SharedPreferences.Editor editor = customSharedPreference .edit();
     * editor.putString("myCustomPref", "The preference has been clicked");
     * editor.commit(); return true; }
     *
     * });
     */
    notifyPref = (Preference) findPreference(PREF_NOTIFY);
    notifyPref.setOnPreferenceChangeListener(this);

    vibratePref = (Preference) findPreference(PREF_VIBRATE);
    vibratePref.setOnPreferenceChangeListener(this);

    delayPref = (Preference) findPreference(PREF_DELAY);
    delayPref.setOnPreferenceChangeListener(this);

    ledPref = (Preference) findPreference(PREF_LED);
    ledPref.setOnPreferenceChangeListener(this);

    upcomingPref = (Preference) findPreference(PREF_UPCOMING);
    upcomingPref.setOnPreferenceChangeListener(this);

    SharedPreferences sharedPreferences = getSharedPreferences(Main.PREFS, Activity.MODE_PRIVATE);
    vibratePref.setEnabled(sharedPreferences.getBoolean(PREF_NOTIFY, true));

    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  }
  /*
   * Binds a preference's summary to its value. More specifically, when the
   * preference's value is changed, its summary (line of text below the
   * preference title) is updated to reflect the value. The summary is also
   * immediately updated upon calling this method. The exact display format is
   * dependent on the type of preference.
   *
   * @see #sBindPreferenceSummaryToValueListener
   */
  private static void bindPreferenceSummaryToValue(Preference preference) {
    // Set the listener to watch for value changes.
    preference.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener);

    // Trigger the listener immediately with the preference's
    // current value.
    sBindPreferenceSummaryToValueListener.onPreferenceChange(
        preference,
        PreferenceManager.getDefaultSharedPreferences(preference.getContext())
            .getString(preference.getKey(), ""));
  }
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    addPreferencesFromResource(R.xml.general_preferences);

    Preference preference;

    preference = findPreference(PrefUtils.FONT_SIZE);
    preference.setOnPreferenceChangeListener(
        new Preference.OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object newValue) {
            PrefUtils.putString(PrefUtils.FONT_SIZE, String.valueOf(newValue));
            EventBus.getDefault().post(new ChangeFontSizeEvent(String.valueOf(newValue)));
            return true;
          }
        });

    preference = findPreference(PrefUtils.FONT);
    preference.setOnPreferenceChangeListener(
        new Preference.OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object newValue) {
            PrefUtils.putString(PrefUtils.FONT, String.valueOf(newValue));
            EventBus.getDefault().post(new ChangeFontEvent(String.valueOf(newValue)));
            return true;
          }
        });

    preference = findPreference(PrefUtils.THEME);
    preference.setOnPreferenceChangeListener(
        new Preference.OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object newValue) {
            PrefUtils.putString(PrefUtils.THEME, String.valueOf(newValue));
            EventBus.getDefault().post(new ChangeThemeEvent(String.valueOf(newValue)));
            return true;
          }
        });
  }
  private void bindPreferenceSummaryToValue(Preference preference) {
    // Set the listener to watch for value changes.
    preference.setOnPreferenceChangeListener(this);

    // Trigger the listener immediately with the preference's
    // current value.
    onPreferenceChange(
        preference,
        PreferenceManager.getDefaultSharedPreferences(preference.getContext())
            .getString(
                preference.getKey(), getResources().getString(R.string.default_sorting_method)));
  }
Exemple #25
0
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preferences);
    settings = new Settings(this);
    String registrationId = settings.getRegistrationIdentifier();

    preferenceAlert1 = this.findPreference(getString(R.string.ringtonePref1));
    preferenceAlert2 = this.findPreference(getString(R.string.ringtonePref2));
    preferenceAlert3 = this.findPreference(getString(R.string.ringtonePref3));
    preferenceAlert4 = this.findPreference(getString(R.string.ringtonePref4));
    preferenceAlert5 = this.findPreference(getString(R.string.ringtonePref5));
    preferenceManualDeviceIdentifier = this.findPreference(getString(R.string.manualDeviceIdPref));

    preferenceManualDeviceIdentifier.setOnPreferenceChangeListener(
        new OnPreferenceChangeListener() {
          @Override
          public boolean onPreferenceChange(Preference preference, Object newValue) {
            Boolean result = false;
            String deviceId = newValue.toString().toLowerCase();

            if (deviceId.equals("") || deviceId.matches("[[a-z]\\d]{12}")) {
              result = true;
            } else {
              Toast.makeText(
                      preference.getContext(),
                      getString(R.string.manual_device_id_error),
                      Toast.LENGTH_LONG)
                  .show();
            }

            return result;
          }
        });

    String deviceIdentifier = settings.getDeviceIdentifier();

    if (deviceIdentifier.equals("")) {
      deviceIdentifier = settings.scrambleIDS();
      Toast.makeText(this, getString(R.string.generated_id) + deviceIdentifier, Toast.LENGTH_SHORT)
          .show();
    }

    Preference deviceIDPref = this.findPreference(getString(R.string.deviceIdPref));
    deviceIDPref.setTitle(deviceIdentifier);

    if (!registrationId.equals("")) {
      // Already registered: disable manual setting of Device Identifier

      preferenceManualDeviceIdentifier.setSummary("Unregister first");
      preferenceManualDeviceIdentifier.setEnabled(false);
    }
  }
  /**
   * 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(), ""));
  }
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      final Activity a = getActivity();
      PackageManager pm = a.getPackageManager();
      setHasOptionsMenu(true);

      Log.v(TAG, "Prepping preferences: " + Preferences.getModeId());

      if (Preferences.isModePrivate()) {
        this.getPreferenceManager().setSharedPreferencesName(Preferences.FILENAME_PRIVATE);
        addPreferencesFromResource(R.xml.preferences_private_connection);

        loadHostPreferences(a);
        loadSecurityPreferences(a);
        loadOptionsPreferences(a);
        loadIdentificationPreferences(a);

      } else if (Preferences.isModeHosted()) {
        Log.v(TAG, "Prepping hosted preferences");
        this.getPreferenceManager().setSharedPreferencesName(Preferences.FILENAME_HOSTED);
        addPreferencesFromResource(R.xml.preferences_hosted_connection);

        loadIdentificationPreferencesHosted(a);

      } else if (Preferences.isModePublic()) {
        this.getPreferenceManager().setSharedPreferencesName(Preferences.FILENAME_PUBLIC);
        addPreferencesFromResource(R.xml.preferences_public_connection);
      } else {
        throw new RuntimeException("Unknown application mode");
      }

      mode = findPreference(Preferences.getKey(R.string.keyModeId));
      String[] modesReadable = getResources().getStringArray(R.array.profileIds_readable);
      mode.setSummary(modesReadable[Preferences.getModeId()]);
      mode.setOnPreferenceChangeListener(
          new Preference.OnPreferenceChangeListener() {
            @Override
            public boolean onPreferenceChange(Preference preference, Object newValue) {
              Preferences.setMode(Integer.parseInt((String) newValue));
              ActivityPreferencesConnection.modeSwitch =
                  true; // signal that ConnectionPreferences should be shown again after fragment is
                        // restored
              getFragmentManager()
                  .beginTransaction()
                  .remove(getFragmentManager().findFragmentByTag("preferences"))
                  .add(R.id.content_frame, new FragmentPreferences(), "preferences")
                  .commit();
              return false; // Don't save, setMode already did
            }
          });
    }
  /**
   * 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;
    }

    // In the simplified UI, fragments are not used at all and we instead
    // use the older PreferenceActivity APIs.

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

    /*

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

    */

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

    // 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("deviceIdentity"));
    bindPreferenceSummaryToValue(findPreference("deviceName"));

    Preference p = findPreference("showDebugNotifications");
    p.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener);

    Preference p2 = findPreference("enableContextDataService");
    p2.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener);
  }
 static Object getVal(Context ctx, View rootView, InjectViewAnn ann, Object target, Field field)
     throws Exception {
   boolean isView = View.class.isAssignableFrom(field.getType());
   boolean isPreference = Preference.class.isAssignableFrom(field.getType());
   if (!isView && !isPreference) {
     throw new Exception("Not a View or Preference '" + field.getType().getName() + "'.");
   }
   int viewOrPrefId = ann.id;
   if (viewOrPrefId == 0) {
     String fieldName = field.getName();
     if (isView) {
       viewOrPrefId = ResourceUtils.getResourceId(ctx, fieldName);
     } else {
       viewOrPrefId = ResourceUtils.getStringId(ctx, fieldName);
     }
   }
   Object val;
   if (isView) {
     val = rootView.findViewById(viewOrPrefId);
   } else {
     val = ((PreferenceActivity) ctx).findPreference(ctx.getText(viewOrPrefId));
   }
   if (val != null) {
     if (ann.click) {
       if (isView) {
         if (target instanceof View.OnClickListener) {
           ((View) val).setOnClickListener((View.OnClickListener) target);
         } else {
           L.w("Failed to set OnClickListener");
         }
       } else {
         boolean done = false;
         Preference pref = (Preference) val;
         if (target instanceof Preference.OnPreferenceClickListener) {
           pref.setOnPreferenceClickListener((Preference.OnPreferenceClickListener) target);
           done = true;
         }
         if (target instanceof Preference.OnPreferenceChangeListener) {
           pref.setOnPreferenceChangeListener((Preference.OnPreferenceChangeListener) target);
           done = true;
         }
         if (!done) {
           L.w("Failed to set OnPreferenceClickListener or OnPreferenceChangeListener.");
         }
       }
     }
     return val;
   } else {
     throw new Exception("View or Preference not found for id.");
   }
 }
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preferences);

    Preference pref = findPreference(getString(R.string.pref_startScreen_key));
    // Set the listener to watch the change
    pref.setOnPreferenceChangeListener(this);
    // Initialize the summary
    setPreferenceSummary(
        pref,
        PreferenceManager.getDefaultSharedPreferences(pref.getContext())
            .getString(pref.getKey(), ""));
  }