Beispiel #1
0
  public void registerLikes(Context context, boolean initial) {
    if (!social.hasLikes()) return;

    NicedPreferences.NiceInfoPreference ip;
    NicedPreferences.NiceListPreference lp;

    if (initial) {
      ip = new NicedPreferences.NiceInfoPreference(context);
      ip.setTitle(R.string.pref_social_likes);
      ip.setSummary(likesSummary);
      ip.setEnabled(enabled);
      ip.setOrder(20000);

      preferences.add(ip);

      lp = new NicedPreferences.NiceListPreference(context);

      lp.setKey(keyprefix + ".newlikes.default");
      lp.setTitle(R.string.pref_social_autolikes);
      lp.setEntryValues(R.array.pref_social_newlikes_keys);
      lp.setEntries(R.array.pref_social_newlikes_vals);
      lp.setDefaultValue("folder");
      lp.setEnabled(enabled);
      lp.setOrder(20001);

      preferences.add(lp);
    }

    String likesname = keyprefix + ".like.name.";
    String likesmode = keyprefix + ".like.mode.";

    Map<String, Object> likespref = Simple.getAllPreferences(likesname);

    for (Map.Entry<String, ?> entry : likespref.entrySet()) {
      Object fnobj = entry.getValue();

      if (!(fnobj instanceof String)) continue;

      String fpfid = entry.getKey().substring(likesname.length());
      String fname = (String) fnobj;

      if (knownpfids.contains(fpfid)) continue;
      knownpfids.add(fpfid);

      lp = new NicedPreferences.NiceListPreference(context);
      lp.setKey(likesmode + fpfid);
      lp.setTitle(fname);
      lp.setIcon(social.getProfileDrawable(fpfid, true));
      lp.setEntryValues(R.array.pref_social_newlikes_keys);
      lp.setEntries(R.array.pref_social_newlikes_vals);
      lp.setEnabled(enabled);

      final NicedPreferences.NiceListPreference lpfinal = lp;

      lp.setOnLongClick(
          new Runnable() {
            @Override
            public void run() {
              onLongClick(lpfinal);
            }
          });

      //
      // Updated items get first.
      //

      lp.setOrder(29999 - preferences.size());

      preferences.add(lp);

      if (!initial) getPreferenceScreen().addPreference(lp);
    }
  }