package info.justaway;
import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
import android.view.MenuItem;
import info.justaway.util.ThemeUtil;
public class PerformanceActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ThemeUtil.setTheme(this);
getFragmentManager().beginTransaction().replace(android.R.id.content,
new SettingsFragment()).commit();
ActionBar actionBar = getActionBar();
if (actionBar != null) {
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
break;
}
return true;
}
public static class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PreferenceManager preferenceManager = getPreferenceManager();
if (preferenceManager == null) {
return;
}
preferenceManager.setSharedPreferencesName("settings");
addPreferencesFromResource(R.xml.pref_performance);
ListPreference userIconSizePreference = (ListPreference) findPreference("user_icon_size");
if (userIconSizePreference != null) {
userIconSizePreference.setSummary(userIconSizePreference.getEntry());
userIconSizePreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
ListPreference listPreference = (ListPreference) preference;
int listId = listPreference.findIndexOfValue((String) newValue);
CharSequence[] entries;
entries = listPreference.getEntries();
if (entries != null) {
preference.setSummary(entries[listId]);
}
return true;
}
});
}
ListPreference pageCountPreference = (ListPreference) findPreference("page_count");
if (pageCountPreference != null) {
pageCountPreference.setSummary(pageCountPreference.getEntry());
pageCountPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
ListPreference listPreference = (ListPreference) preference;
int listId = listPreference.findIndexOfValue((String) newValue);
CharSequence[] entries;
entries = listPreference.getEntries();
if (entries != null) {
preference.setSummary(entries[listId]);
}
return true;
}
});
}
}
}
}