Exemplo n.º 1
0
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      addPreferencesFromResource(R.xml.pref_general);
      setHasOptionsMenu(true);

      ((PreferencesActivity) getActivity()).setBasePreferenceActivity(false);

      ((PreferencesActivity) getActivity())
          .getSupportActionBar()
          .setTitle(R.string.pref_header_general);
      ((PreferencesActivity) getActivity())
          .firebaseAnalytics.logEvent(getString(R.string.analytics_tap_general_prefs), null);

      final EditTextPreference p =
          (EditTextPreference) findPreference(getString(R.string.pref_device_name));
      bindPreferenceSummaryToValue(p);

      if (p.getTitle().toString().equals(getString(R.string.pref_default_device_name))
          || p.getTitle().toString().isEmpty()) {
        ((PreferencesActivity) getActivity())
            .firebaseAnalytics.logEvent(
                getString(R.string.analytics_event_empty_device_name), null);
        p.setText(Build.MANUFACTURER + " " + Build.MODEL);
      }

      p.setOnPreferenceChangeListener(
          new Preference.OnPreferenceChangeListener() {
            @Override
            public boolean onPreferenceChange(Preference preference, Object newValue) {
              p.setSummary(newValue.toString());

              Intent i = new Intent("com.texasgamer.zephyr.SOCKET_SERVICE");
              i.putExtra("type", "update-devices");
              getActivity().sendBroadcast(i);

              Bundle b = new Bundle();
              b.putString(getString(R.string.analytics_param_new_value), newValue.toString());
              ((PreferencesActivity) getActivity())
                  .firebaseAnalytics.logEvent(getString(R.string.analytics_tap_device_name), b);
              return true;
            }
          });

      findPreference(getString(R.string.pref_start_on_boot))
          .setOnPreferenceChangeListener(
              new Preference.OnPreferenceChangeListener() {
                @Override
                public boolean onPreferenceChange(Preference preference, Object newValue) {
                  Bundle b = new Bundle();
                  String newValueStr = newValue.toString().equals("true") ? "enabled" : "disabled";
                  b.putString(getString(R.string.analytics_param_new_value), newValueStr);
                  ((PreferencesActivity) getActivity())
                      .firebaseAnalytics.logEvent(
                          getString(R.string.analytics_tap_start_on_boot), b);
                  return true;
                }
              });
    }