added language settings for a13+

This commit is contained in:
gdlbo
2023-03-28 22:42:45 +03:00
parent 46ef15d9c8
commit f2fe2ec362
5 changed files with 31 additions and 22 deletions
@@ -4,6 +4,7 @@ import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import androidx.annotation.StringRes;
import com.aefyr.tsg.g2.TelegramStickersPack;
import com.aefyr.tsg.g2.TelegramStickersService;
@@ -31,6 +32,8 @@ import ru.vtosters.lite.ui.dialogs.OTADialog;
import ru.vtosters.lite.ui.fragments.tgstickers.StickersFragment;
import ru.vtosters.lite.utils.*;
import java.util.Locale;
public class VTSettings extends TrackedMaterialPreferenceToolbarFragment implements TelegramStickersService.StickersEventsListener {
public static String getValAsString(@StringRes int strRes, Boolean value) {
@@ -470,13 +473,28 @@ public class VTSettings extends TrackedMaterialPreferenceToolbarFragment impleme
"",
requireContext().getString(R.string.vtlproxy),
getProxysumm(),
R.drawable.ic_globe_outline_28,
R.drawable.ic_linked_outline_28,
preference -> {
NavigatorUtils.switchFragment(requireContext(), ProxySettingsFragment.class);
return false;
}
);
if (Build.VERSION.SDK_INT >= 33) {
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
AndroidUtils.getString("appLanguage"),
AndroidUtils.getString("currentLanguage") + " " + AndroidUtils.upString(Locale.getDefault().getDisplayLanguage()),
R.drawable.ic_globe_outline_28,
preference -> {
Intent intent = new Intent("android.settings.APP_LOCALE_SETTINGS", Uri.parse("package:" + AndroidUtils.getPackageName()));
startActivity(intent);
return false;
}
);
}
PreferenceFragmentUtils.addPreference(
getPreferenceScreen(),
"",
@@ -18,6 +18,7 @@ import com.vk.core.dialogs.alert.VkAlertDialog;
import com.vk.core.util.Screen;
import com.vk.core.util.ToastUtils;
import com.vtosters.lite.general.fragments.WebViewFragment;
import ru.vtosters.lite.BuildConfig;
import ru.vtosters.lite.hooks.DateHook;
import java.io.File;
@@ -97,26 +98,6 @@ public class AndroidUtils {
return getGlobalContext().getApplicationInfo().loadLabel(getGlobalContext().getPackageManager()).toString();
}
public static Context setDefaultLocale(Context context) {
Locale locale = new Locale(DateHook.getLocale());
Locale.setDefault(locale);
var resources = context.getResources();
var configuration = resources.getConfiguration();
if (Build.VERSION.SDK_INT >= 24) {
configuration.setLocale(locale);
configuration.setLayoutDirection(locale);
return context.createConfigurationContext(configuration);
}
configuration.locale = locale;
configuration.setLayoutDirection(locale);
resources.updateConfiguration(configuration, resources.getDisplayMetrics());
return context;
} // Language changer and BaseContext injector
public static float[] getCenterScreenCoords() {
int width = getResources().getDisplayMetrics().widthPixels;
int height = getResources().getDisplayMetrics().heightPixels;
@@ -246,4 +227,8 @@ public class AndroidUtils {
return true;
}
}
public static String upString(String s) {
return s.substring(0,1).toUpperCase() + s.substring(1).toLowerCase();
}
}
@@ -38,7 +38,7 @@ public class Preferences {
} // VK Init
public static String getBuildName() {
return BuildConfig.BUILD_TYPE.substring(0,1).toUpperCase() + BuildConfig.BUILD_TYPE.substring(1).toLowerCase();
return AndroidUtils.upString(BuildConfig.BUILD_TYPE);
}
public static SharedPreferences getPreferences() {
return getGlobalContext().getSharedPreferences("com.vtosters.lite_preferences", Context.MODE_PRIVATE);