package com.wigwamlabs.spotify.ui; import android.os.Bundle; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceFragment; import com.wigwamlabs.spotify.R; public class SpotifyPreferenceFragment extends PreferenceFragment { public static void onCreateSimple(PreferenceActivity activity) { activity.addPreferencesFromResource(R.xml.pref_spotify); final SummaryProvider summaryProvider = new SummaryProvider(); summaryProvider.addPreference(activity.findPreference(activity.getString(R.string.preferenceKeyStreamingBitrate))); summaryProvider.addPreference(activity.findPreference(activity.getString(R.string.preferenceKeyOfflineBitrate))); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.pref_spotify); final SummaryProvider summaryProvider = new SummaryProvider(); summaryProvider.addPreference(findPreference(getString(R.string.preferenceKeyStreamingBitrate))); summaryProvider.addPreference(findPreference(getString(R.string.preferenceKeyOfflineBitrate))); } private static class SummaryProvider implements Preference.OnPreferenceChangeListener { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { if (preference instanceof ListPreference) { final ListPreference listPreference = (ListPreference) preference; final int index = listPreference.findIndexOfValue((String) newValue); preference.setSummary(index >= 0 ? listPreference.getEntries()[index] : null); } return true; } public void addPreference(Preference preference) { preference.setOnPreferenceChangeListener(this); onPreferenceChange(preference, preference.getSharedPreferences().getString(preference.getKey(), "")); } } }