示例#1
0
  public static void check() {
    HashMap<String, String> old = new HashMap<String, String>(codecs.size());

    for (Codec c : codecs) {
      c.update();
      old.put(c.name(), c.getValue());
      if (!c.isLoaded()) {
        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(Receiver.mContext);
        SharedPreferences.Editor e = sp.edit();

        e.putString(c.key(), "never");
        e.commit();
      }
    }

    for (Codec c : codecs)
      if (!old.get(c.name()).equals("never")) {
        c.init();
        if (c.isLoaded()) {
          SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(Receiver.mContext);
          SharedPreferences.Editor e = sp.edit();

          e.putString(c.key(), old.get(c.name()));
          e.commit();
          c.init();
        } else c.fail();
      }
  }
示例#2
0
 @Override
 public boolean onPreferenceTreeClick(PreferenceScreen ps, Preference p) {
   ListPreference l = (ListPreference) p;
   for (Codec c : codecs)
     if (c.key().equals(l.getKey())) {
       c.init();
       if (!c.isLoaded()) {
         l.setValue("never");
         c.fail();
         l.setEnabled(false);
         l.setSummary(l.getEntry());
         if (l.getDialog() != null) l.getDialog().dismiss();
       }
     }
   return super.onPreferenceTreeClick(ps, p);
 }