public void registerAll(Context context) { super.registerAll(context); manualSearch = social.canSearchUsers(); NicedPreferences.NiceDisplayTextPreference dp; NicedPreferences.NiceSearchPreference sp; NicedPreferences.NiceListPreference lp; categoryPref = new NicedPreferences.NiceInfoPreference(context); categoryPref.setTitle(R.string.pref_social_account); categoryPref.setSummary(accountSummary); categoryPref.setEnabled(enabled); preferences.add(categoryPref); userPref = new NicedPreferences.NiceDisplayTextPreference(context); userPref.setTitle(R.string.pref_social_user); userPref.setEnabled(enabled); preferences.add(userPref); expirationPref = new NicedPreferences.NiceDisplayTextPreference(context); expirationPref.setTitle(R.string.pref_social_validuntil); expirationPref.setEnabled(enabled); preferences.add(expirationPref); loginPref = new NicedPreferences.NiceDisplayTextPreference(context); loginPref.setTitle( social.isLoggedIn() ? R.string.pref_social_logout : R.string.pref_social_login); loginPref.setText( Simple.getTrans( social.isLoggedIn() ? R.string.pref_social_isloggedin : R.string.pref_social_isloggedout)); loginPref.setEnabled(enabled); loginPref.setOnPreferenceClickListener( new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { if (social.isLoggedIn()) { social.logout(); } else { social.login(); } return false; } }); preferences.add(loginPref); Simple.removeSharedPref("social." + social.getPlatform() + ".mode"); lp = new NicedPreferences.NiceListPreference(context); lp.setKey("social." + social.getPlatform() + ".owner.mode"); lp.setTitle("Anzeige"); lp.setEntryValues(R.array.pref_social_newfriends_keys); lp.setEntries(R.array.pref_social_newfriends_vals); lp.setDefaultValue("feed+folder"); lp.setEnabled(enabled); preferences.add(lp); if (GlobalConfigs.BetaFlag) { apicallsPref = new NicedPreferences.NiceDisplayTextPreference(context); apicallsPref.setTitle("API Calls"); apicallsPref.setEnabled(enabled); preferences.add(apicallsPref); dp = new NicedPreferences.NiceDisplayTextPreference(context); dp.setTitle("Etwas testen"); dp.setEnabled(enabled); dp.setOnPreferenceClickListener( new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { social.getTest(); return false; } }); preferences.add(dp); } // // Define preference order. // int order = 1; for (Preference pref : preferences) { pref.setOrder(order++); } // // Preset all current friends and likes preferences. // social.reconfigureFriendsAndLikes(); registerFriends(context, true); registerLikes(context, true); // // Manual search. // if (manualSearch) { sp = new NicedPreferences.NiceSearchPreference(context); sp.setTitle("Suchen"); sp.setOrder(1000000); sp.setSearchCallback( new NicedPreferences.NiceSearchPreference.SearchCallback() { @Override public void onSearchCancel(String prefkey) {} @Override public void onSearchRequest(String prefkey, String query) { performSearch(query); } }); preferences.add(sp); } monitorPrefs.run(); }
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); } }