/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.juick;
import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.PreferenceActivity;
import android.view.Menu;
import android.view.MenuItem;
/**
*
* @author ugnich
*/
public class PreferencesActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener {
public static final int MENUITEM_SIGNOUT = 1;
private EditTextPreference prefNickname;
private ListPreference prefRefresh;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
prefNickname = (EditTextPreference) getPreferenceScreen().findPreference("nick");
prefRefresh = (ListPreference) getPreferenceScreen().findPreference("refresh");
}
@Override
protected void onResume() {
super.onResume();
updateSummaries();
getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
}
@Override
protected void onPause() {
super.onPause();
getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
}
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
updateSummaries();
if (key.equals("refresh")) {
MainActivity.startCheckUpdates(this);
}
}
private void updateSummaries() {
SharedPreferences sp = getPreferenceScreen().getSharedPreferences();
prefNickname.setSummary(sp.getString("nick", ""));
String refresh = sp.getString("refresh", "5");
String vals[] = getResources().getStringArray(R.array.prefsRefreshIntervalValues);
int id = 1;
for (int i = 0; i < vals.length; i++) {
if (vals[i].equals(refresh)) {
id = i;
}
}
prefRefresh.setSummary(getResources().getStringArray(R.array.prefsRefreshIntervalTitles)[id]);
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if (menu.findItem(MENUITEM_SIGNOUT) == null) {
menu.add(Menu.NONE, MENUITEM_SIGNOUT, Menu.NONE, R.string.Signout).setIcon(android.R.drawable.ic_menu_close_clear_cancel);
}
return super.onPrepareOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == MENUITEM_SIGNOUT) {
SharedPreferences.Editor settingsEditor = getPreferenceScreen().getSharedPreferences().edit();
settingsEditor.remove("nick");
settingsEditor.remove("password");
settingsEditor.commit();
finish();
return true;
} else {
return super.onOptionsItemSelected(item);
}
}
}
|