diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/AdvancedFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/AdvancedFragment.java index 23aa503cd..655e398b5 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/AdvancedFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/AdvancedFragment.java @@ -24,24 +24,24 @@ import android.content.res.Resources; import android.os.Bundle; import android.preference.Preference; import android.preference.PreferenceFragment; -import android.text.TextUtils; import android.widget.Toast; import com.hippo.ehviewer.AppConfig; import com.hippo.ehviewer.EhApplication; import com.hippo.ehviewer.EhDB; import com.hippo.ehviewer.R; -import com.hippo.ehviewer.Settings; import com.hippo.util.LogCat; import com.hippo.util.ReadableTime; import java.io.File; import java.util.Arrays; -public class AdvancedFragment extends PreferenceFragment implements Preference.OnPreferenceClickListener { +public class AdvancedFragment extends PreferenceFragment + implements Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener { private static final String KEY_DUMP_LOGCAT = "dump_logcat"; private static final String KEY_CLEAR_MEMORY_CACHE = "clear_memory_cache"; + private static final String KEY_APP_LANGUAGE = "app_language"; private static final String KEY_EXPORT_DATA = "export_data"; private static final String KEY_IMPORT_DATA = "import_data"; @@ -52,6 +52,7 @@ public class AdvancedFragment extends PreferenceFragment implements Preference.O Preference dumpLogcat = findPreference(KEY_DUMP_LOGCAT); Preference clearMemoryCache = findPreference(KEY_CLEAR_MEMORY_CACHE); + Preference appLanguage = findPreference(KEY_APP_LANGUAGE); Preference exportData = findPreference(KEY_EXPORT_DATA); Preference importData = findPreference(KEY_IMPORT_DATA); @@ -59,6 +60,8 @@ public class AdvancedFragment extends PreferenceFragment implements Preference.O clearMemoryCache.setOnPreferenceClickListener(this); exportData.setOnPreferenceClickListener(this); importData.setOnPreferenceClickListener(this); + + appLanguage.setOnPreferenceChangeListener(this); } @Override @@ -131,4 +134,14 @@ public class AdvancedFragment extends PreferenceFragment implements Preference.O } }).show(); } + + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + String key = preference.getKey(); + if (KEY_APP_LANGUAGE.equals(key)) { + ((EhApplication) getActivity().getApplication()).recreate(); + return true; + } + return false; + } }