66f4d7788b01e5606b179f3b14a982a9d30d92f2
[debian/openrocket] / android / src / net / sf / openrocket / android / PreferencesActivity.java
1 package net.sf.openrocket.android;\r
2 \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
8 \r
9 public class PreferencesActivity extends android.preference.PreferenceActivity \r
10 implements SharedPreferences.OnSharedPreferenceChangeListener {\r
11 \r
12         @Override\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
18         }\r
19 \r
20         /* (non-Javadoc)\r
21          * @see android.content.SharedPreferences.OnSharedPreferenceChangeListener#onSharedPreferenceChanged(android.content.SharedPreferences, java.lang.String)\r
22          */\r
23         @Override\r
24         public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {\r
25 \r
26                 initializePreferences(getApplication(), PreferenceManager.getDefaultSharedPreferences(this));\r
27         }\r
28 \r
29         /**\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
35          */\r
36         public static void initializePreferences( android.app.Application app, SharedPreferences sharedPreferences ) {\r
37                 \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
41                 \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
45                 \r
46         }\r
47         \r
48 }\r