1 package net.sf.openrocket.android;
\r
3 import net.sf.openrocket.R;
\r
4 import net.sf.openrocket.unit.UnitGroup;
\r
5 import android.content.SharedPreferences;
\r
6 import android.os.Bundle;
\r
7 import android.preference.PreferenceManager;
\r
9 public class PreferencesActivity extends android.preference.PreferenceActivity
\r
10 implements SharedPreferences.OnSharedPreferenceChangeListener {
\r
13 protected void onCreate( Bundle savedInstanceState ) {
\r
14 super.onCreate( savedInstanceState );
\r
15 addPreferencesFromResource(R.xml.preferences);
\r
16 SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
\r
17 prefs.registerOnSharedPreferenceChangeListener(this);
\r
21 * @see android.content.SharedPreferences.OnSharedPreferenceChangeListener#onSharedPreferenceChanged(android.content.SharedPreferences, java.lang.String)
\r
24 public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
\r
26 initializePreferences(getApplication(), PreferenceManager.getDefaultSharedPreferences(this));
\r
30 * This method is to be called from Application setup to pull the saved preference
\r
31 * values into the various datastructures used in OpenRocket.
\r
32 * This method is located in this class because it is probably best to have as much
\r
33 * of the code in the same place as possible.
\r
34 * @param sharedPreferences
\r
36 public static void initializePreferences( android.app.Application app, SharedPreferences sharedPreferences ) {
\r
38 String unitLength = app.getResources().getString(R.string.PreferenceUnitLengthOption);
\r
39 String len = sharedPreferences.getString(unitLength, "cm");
\r
40 UnitGroup.UNITS_LENGTH.setDefaultUnit( len );
\r
42 String unitMass = app.getResources().getString(R.string.PreferenceUnitMassOption);
\r
43 String mass = sharedPreferences.getString(unitMass, "g");
\r
44 UnitGroup.UNITS_MASS.setDefaultUnit( mass );
\r