+++ /dev/null
-package de.cwde.shisensho;
-
-import android.content.SharedPreferences;
-import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
-import android.content.res.Resources;
-import android.os.Bundle;
-import android.preference.*;
-
-public class SettingsActivity extends PreferenceActivity
-implements OnSharedPreferenceChangeListener {
-
- private ShisenSho app;
-
- private static final String KEY_PREF_DIFF = "pref_diff";
- private static final String KEY_PREF_SIZE = "pref_size";
- //private static final String KEY_PREF_GRAV = "pref_grav";
- //private static final String KEY_PREF_TIME = "pref_time";
-
- @SuppressWarnings("deprecation")
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- app = ShisenSho.app();
- addPreferencesFromResource(R.xml.preferences);
- SharedPreferences sharedPreferences = getPreferenceScreen().getSharedPreferences();
-
- sharedPreferences.registerOnSharedPreferenceChangeListener(this);
- updateSummary(sharedPreferences, KEY_PREF_DIFF, KEY_PREF_DIFF, R.array.difficulties);
- updateSummary(sharedPreferences, KEY_PREF_SIZE, KEY_PREF_SIZE, R.array.sizes);
- }
-
- @Override
- public void onBackPressed() {
- app.setOptions();
- super.onBackPressed();
- }
-
- @SuppressWarnings("deprecation")
- @Override
- protected void onResume() {
- super.onResume();
- getPreferenceScreen().getSharedPreferences()
- .registerOnSharedPreferenceChangeListener(this);
- }
-
- @SuppressWarnings("deprecation")
- @Override
- protected void onPause() {
- super.onPause();
- getPreferenceScreen().getSharedPreferences()
- .unregisterOnSharedPreferenceChangeListener(this);
- }
-
-
- public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
- updateSummary(sharedPreferences, key, KEY_PREF_DIFF, R.array.difficulties);
- updateSummary(sharedPreferences, key, KEY_PREF_SIZE, R.array.sizes);
- }
-
- private void updateSummary(SharedPreferences sharedPreferences, String changedkey, String mykey, int myresource) {
- if (changedkey.equals(mykey)) {
- // FIXME: handle NumberFormatException here?
- int i = Integer.parseInt(sharedPreferences.getString(changedkey, "1"));
-
- Resources res = getResources();
- String[] mystrings = res.getStringArray(myresource);
- String name = mystrings[i-1];
-
- @SuppressWarnings("deprecation")
- Preference myPref = findPreference(changedkey);
- myPref.setSummary("Currently: " + name);
- }
- }
-}