// OVERRIDABLE @Override @edu.umd.cs.findbugs.annotations.SuppressFBWarnings( value = "ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD", justification = "Make some context visible statically (no matter which one)") public void onCreate() { super.onCreate(); Application.mApplication = this; SettingsActivity.setDefaultSharedPreferences(getApplicationContext()); setLanguage(); setExceptionHandler(); // Initialize special classes try { mApplicationSettings = (ApplicationSettings) Class.forName(getResourceString(R.string.class_application_settings)) .getDeclaredMethod("getInstance", new Class<?>[0]) .invoke(null, new Object[0]); } catch (Exception e) { Log.e(TAG, "Error in getting PrivateConstants and ApplicationSettings", e); } // Set statistics int initialVersion = PreferenceUtil.getSharedPreferenceInt(R.string.key_statistics_initialversion, -1); if (initialVersion == -1) { PreferenceUtil.setSharedPreferenceInt(R.string.key_statistics_initialversion, getVersion()); } long firstStartTime = PreferenceUtil.getSharedPreferenceLong(R.string.key_statistics_firststarttime, -1); if (firstStartTime == -1) { PreferenceUtil.setSharedPreferenceLong( R.string.key_statistics_firststarttime, System.currentTimeMillis()); } PreferenceUtil.incrementCounter(R.string.key_statistics_countstarts); }
/** Set the language. */ public static void setLanguage() { String languageString = PreferenceUtil.getSharedPreferenceString(R.string.key_language); if (languageString == null || languageString.length() == 0) { PreferenceUtil.setSharedPreferenceString(R.string.key_language, "0"); return; } int languageSetting = Integer.parseInt(languageString); if (languageSetting != 0) { switch (languageSetting) { case 1: setLocale(Locale.ENGLISH); break; case 2: setLocale(Locale.GERMAN); break; case 3: // MAGIC_NUMBER setLocale(new Locale("es")); break; default: } } }