@Override
  public void onPause() {
    super.onPause();
    mConf.onPause();

    mPrefs.unregisterOnSharedPreferenceChangeListener(this);
  }
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    new Thread(
            new Runnable() {
              public void run() {
                GoogleAnalyticsTracker.getInstance().trackPageView("/ColorSettingsActivity");
                GoogleAnalyticsTracker.getInstance().dispatch();
              }
            })
        .start();

    mConf = new ActivityConfigurator(this);
    mConf.onCreate();
    mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
    lastTheme = mPrefs.getString("themes", "default");
    addPreferencesFromResource(R.xml.themesettings);
    addPreferencesFromResource(R.xml.colorsettings);
    ListPreference p = (ListPreference) findPreference("themes");
    p.setSummary(p.getEntry());

    ListPreference f = (ListPreference) findPreference("preferred_font");
    String[] fontList = ((AwfulApplication) getApplication()).getFontList();
    String[] fontNames = new String[fontList.length];
    for (int x = 0; x < fontList.length; x++) {
      Matcher fontName = fontFilename.matcher(fontList[x]);
      if (fontName.find()) {
        fontNames[x] = fontName.group(1).replaceAll("_", " ");
      } else { // if the regex fails, try our best to clean up the filename.
        fontNames[x] =
            fontList[x].replaceAll(".ttf.mp3", "").replaceAll("fonts/", "").replaceAll("_", " ");
      }
    }
    f.setEntries(fontNames);
    f.setEntryValues(fontList);
    f.setSummary(f.getEntry());
    for (String valueSummaryKey : VALUE_SUMMARY_KEYS_LIST) {
      ListPreference pl = (ListPreference) findPreference(valueSummaryKey);
      pl.setSummary(pl.getEntry());
    }
  }
 @Override
 public void onDestroy() {
   super.onDestroy();
   mConf.onDestroy();
 }
 @Override
 public void onStop() {
   super.onStop();
   mConf.onStop();
 }
 @Override
 protected void onDestroy() {
   super.onDestroy();
   mConf.onDestroy();
 }
 @Override
 protected void onStop() {
   super.onStop();
   mConf.onStop();
 }
 @Override
 protected void onPause() {
   super.onPause();
   mConf.onPause();
 }
 @Override
 protected void onResume() {
   super.onResume();
   mConf.onResume();
 }
 @Override
 protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   mConf = new ActivityConfigurator(this);
   mConf.onCreate();
 }