create changelog entry
[debian/openrocket] / android / src / net / sf / openrocket / android / Application.java
1 package net.sf.openrocket.android;\r
2 \r
3 import java.util.Locale;\r
4 \r
5 import net.sf.openrocket.android.util.AndroidLogWrapper;\r
6 import net.sf.openrocket.database.ComponentPresetDatabase;\r
7 import net.sf.openrocket.l10n.DebugTranslator;\r
8 import net.sf.openrocket.l10n.ResourceBundleTranslator;\r
9 import net.sf.openrocket.l10n.Translator;\r
10 import android.content.pm.ApplicationInfo;\r
11 import android.preference.PreferenceManager;\r
12 \r
13 public class Application extends android.app.Application {\r
14 \r
15         // Big B boolean so I can synchronize on it.\r
16         private static Boolean initialized = false;\r
17 \r
18         public void initialize() {\r
19                 synchronized (initialized) {\r
20                         if ( initialized == true ) {\r
21                                 return;\r
22                         }\r
23 \r
24                         // Android does not have a default sax parser set.  This needs to be defined first.\r
25                         System.setProperty("org.xml.sax.driver","org.xmlpull.v1.sax2.Driver");\r
26 \r
27                         net.sf.openrocket.startup.Application.setLogger( new AndroidLogWrapper.LogHelper() );\r
28 \r
29                         net.sf.openrocket.startup.Application.setPreferences( new PreferencesAdapter() );\r
30 \r
31                         net.sf.openrocket.startup.Application.setComponentPresetDao( new ComponentPresetDatabase(){\r
32                                 @Override\r
33                                 protected void load() {\r
34                                         // We don't need components\r
35                                 } \r
36                         } );\r
37 \r
38                         MotorDatabaseAdapter db = new MotorDatabaseAdapter(this);\r
39 \r
40                         net.sf.openrocket.startup.Application.setMotorSetDatabase(db);\r
41 \r
42                         Translator t;\r
43                         t = new ResourceBundleTranslator("l10n.messages");\r
44                         if (Locale.getDefault().getLanguage().equals("xx")) {\r
45                                 t = new DebugTranslator(t);\r
46                         }\r
47 \r
48                         net.sf.openrocket.startup.Application.setBaseTranslator(t);\r
49 \r
50                         initialized = true;\r
51                 }\r
52         }\r
53 \r
54         public Application() {\r
55         }\r
56 \r
57         /* (non-Javadoc)\r
58          * @see android.app.Application#onCreate()\r
59          */\r
60         @Override\r
61         public void onCreate() {\r
62                 super.onCreate();\r
63                 initialize();\r
64                 boolean isDebuggable = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE));\r
65                 AndroidLogWrapper.setLogEnabled(isDebuggable);\r
66                 PreferencesActivity.initializePreferences(this, PreferenceManager.getDefaultSharedPreferences(this));\r
67         }\r
68 \r
69 }\r