pull/405/head
okjack 2 years ago
parent cf0ea88ca7
commit a9da06a832
  1. 4
      app/src/leanback/java/com/fongmi/android/tv/ui/dialog/LanguageDialog.java
  2. 16
      app/src/main/java/com/fongmi/android/tv/Setting.java
  3. 21
      app/src/main/java/com/fongmi/android/tv/utils/LanguageUtil.java
  4. 6
      app/src/main/java/com/fongmi/android/tv/utils/Util.java

@ -13,8 +13,8 @@ import com.fongmi.android.tv.databinding.DialogMenuBinding;
import com.fongmi.android.tv.ui.activity.SettingCustomActivity;
import com.fongmi.android.tv.ui.adapter.MenuAdapter;
import com.fongmi.android.tv.ui.custom.SpaceItemDecoration;
import com.fongmi.android.tv.utils.LanguageUtil;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.Util;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.util.ArrayList;
@ -82,6 +82,6 @@ public class LanguageDialog implements MenuAdapter.OnClickListener {
if (dialog != null) dialog.dismiss();
Setting.putLanguage(position);
((SettingCustomActivity) activity).setLanguageText();
LanguageUtil.restartApp(activity);
Util.restartApp(activity);
}
}

@ -5,6 +5,7 @@ import android.content.Intent;
import android.provider.Settings;
import com.fongmi.android.tv.player.Players;
import com.fongmi.android.tv.utils.LanguageUtil;
import com.github.catvod.utils.Prefers;
import java.util.Locale;
@ -483,21 +484,8 @@ public class Setting {
Prefers.put("language", key);
}
private static int getLocalLanguage() {
if (Locale.getDefault().getLanguage().equals("zh")) {
if (Locale.getDefault().getCountry().equals("TW")) {
return 2;
} else {
return 1;
}
} else {
return 0;
}
}
public static int getLanguage() {
int defaultValue = getLocalLanguage();
return Prefers.getInt("language", defaultValue);
return Prefers.getInt("language", LanguageUtil.locale());
}
public static void putParseWebView(int key) {

@ -8,20 +8,27 @@ import java.util.Locale;
public class LanguageUtil {
public static void setLanguage(Resources resources, int lang) {
resources.getConfiguration().locale = getLocaleByLanguage(lang);
resources.getConfiguration().locale = getLocale(lang);
resources.updateConfiguration(resources.getConfiguration(), resources.getDisplayMetrics());
}
private static Locale getLocaleByLanguage(int lang) {
public static int locale() {
if (Locale.getDefault().getLanguage().equals("zh")) {
if (Locale.getDefault().getCountry().equals("TW")) {
return 2;
} else {
return 1;
}
} else {
return 0;
}
}
private static Locale getLocale(int lang) {
if (lang == 0) return Locale.ENGLISH;
else if (lang == 1) return Locale.CHINESE;
else if (lang == 2) return Locale.TRADITIONAL_CHINESE;
else return Locale.ENGLISH;
}
public static void restartApp(Activity activity) {
Intent intent = activity.getBaseContext().getPackageManager().getLaunchIntentForPackage(activity.getBaseContext().getPackageName());
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
activity.startActivity(intent);
}
}

@ -186,4 +186,10 @@ public class Util {
return batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);
}
public static void restartApp(Activity activity) {
Intent intent = activity.getBaseContext().getPackageManager().getLaunchIntentForPackage(activity.getBaseContext().getPackageName());
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
activity.startActivity(intent);
}
}

Loading…
Cancel
Save