package org.safermobile.intheclear;
import java.util.Locale;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceCategory;
import android.preference.PreferenceActivity;
import android.util.Log;
public class ITCPreferences extends PreferenceActivity implements OnPreferenceChangeListener {
PreferenceCategory pc;
ListPreference lang;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.itcprefs);
pc = (PreferenceCategory) findPreference(ITCConstants.Preference.WIPERCAT);
pc.removePreference((CheckBoxPreference) findPreference("IsVirginUser"));
lang = (ListPreference) findPreference(ITCConstants.Preference.DEFAULT_LANGUAGE);
lang.setOnPreferenceChangeListener(this);
}
public void setNewLocale(String localeCode) {
Configuration config = new Configuration();
config.locale = new Locale(localeCode);
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
Log.d(ITCConstants.Log.ITC,"current configuration = " + getBaseContext().getResources().getConfiguration().locale);
// go to home to "reload" activity properly?
startActivity(new Intent(this,InTheClear.class));
}
@Override
public boolean onPreferenceChange(Preference preference, Object obj) {
if(preference == lang) {
setNewLocale(obj.toString());
return true;
}
return false;
}
}