diff --git a/app/src/main/java/app/fedilab/fedilabtube/helper/Helper.java b/app/src/main/java/app/fedilab/fedilabtube/helper/Helper.java index dfea394..2ecb753 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/helper/Helper.java +++ b/app/src/main/java/app/fedilab/fedilabtube/helper/Helper.java @@ -239,7 +239,7 @@ public class Helper { final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); String acad; if (BuildConfig.full_instances) { - return sharedpreferences.getString(Helper.PREF_INSTANCE, "peertube.social"); + return sharedpreferences.getString(Helper.PREF_INSTANCE, getDefaultInstance()); } else { acad = sharedpreferences.getString(Helper.PREF_INSTANCE, "tube.ac-lyon.fr"); if (acad == null) { @@ -253,6 +253,45 @@ public class Helper { } } + private static String getDefaultInstance() { + String lang = Locale.getDefault().getLanguage(); + if (lang.contains("-")) { + if (!lang.split("-")[0].trim().toLowerCase().startsWith("zh")) { + lang = lang.split("-")[0]; + if(lang.split("-")[1].toLowerCase().contains("be")){ + lang = "be"; + } + else if(lang.split("-")[1].toLowerCase().contains("gb")){ + lang = "gb"; + } + } else { + lang = lang.split("-")[0] + "-" + lang.split("-")[1].toUpperCase(); + } + } + switch (lang){ + case "it": + return "peertube.uno"; + case "be": + return "peertube.be"; + case "fr": + return "video.liberta.vip"; + case "de": + return "peertube.at"; + case "ru": + return "peertube.su"; + case "gb": + return "peertube.co.uk"; + case "da": + case "sv": + case "nb": + case "fi": + case "is": + return "peertube.dk"; + default: + return "peertube.social"; + } + } + /** * Convert a date in String -> format yyyy-MM-dd HH:mm:ss *