added app class to handle language settings

This commit is contained in:
Nathan Freitas 2012-02-12 01:23:29 -05:00
parent a809eb9aa0
commit 411dcea837
1 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,48 @@
package org.torproject.android;
import java.util.Locale;
import android.app.Application;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.preference.PreferenceManager;
public class OrbotApp extends Application implements TorConstants
{
private Locale locale;
private final static String DEFAULT_LOCALE = "fa";
@Override
public void onCreate() {
super.onCreate();
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
Configuration config = getResources().getConfiguration();
String lang = settings.getString(PREF_DEFAULT_LOCALE, DEFAULT_LOCALE);
if (! "".equals(lang) && ! config.locale.getLanguage().equals(lang))
{
locale = new Locale(lang);
Locale.setDefault(locale);
config.locale = locale;
getResources().updateConfiguration(config, getResources().getDisplayMetrics());
}
}
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if (locale != null)
{
newConfig.locale = locale;
Locale.setDefault(locale);
getResources().updateConfiguration(newConfig, getResources().getDisplayMetrics());
}
}
}