Compare commits

...

2 Commits

Author SHA1 Message Date
semantic-release-bot
bc83a39b0f chore(release): 1.19.0-dev.21 [skip ci]
# [1.19.0-dev.21](https://github.com/ReVanced/revanced-manager/compare/v1.19.0-dev.20...v1.19.0-dev.21) (2024-03-05)

### Features

* Display current app language at the top of the list ([aa0575a](aa0575a637))
2024-03-05 00:12:19 +00:00
Ushie
aa0575a637 feat: Display current app language at the top of the list 2024-03-05 03:04:01 +03:00
2 changed files with 33 additions and 13 deletions

View File

@@ -37,6 +37,14 @@ class SUpdateLanguage extends BaseViewModel {
final ValueNotifier<String> selectedLanguageCode = ValueNotifier(
'${LocaleSettings.currentLocale.languageCode}-${LocaleSettings.currentLocale.countryCode}',
);
LanguageCodes getLanguageCode(locale) {
return LanguageCodes.fromCode(
'${locale.languageCode}_${locale.countryCode}',
orElse: () => LanguageCodes.fromCode(locale.languageCode),
);
}
final currentlyUsedLanguage = getLanguageCode(LocaleSettings.currentLocale);
// initLang();
// Return a dialog with list for each language supported by the application.
@@ -53,17 +61,29 @@ class SUpdateLanguage extends BaseViewModel {
builder: (context, value, child) {
return SingleChildScrollView(
child: ListBody(
children: AppLocale.values.map(
(locale) {
final LanguageCodes languageCode = LanguageCodes.fromCode(
'${locale.languageCode}_${locale.countryCode}',
orElse: () => LanguageCodes.fromCode(locale.languageCode),
);
children: [
RadioListTile(
title: Text(currentlyUsedLanguage.englishName),
subtitle: Text(
'${currentlyUsedLanguage.nativeName} (${LocaleSettings.currentLocale.languageCode}${LocaleSettings.currentLocale.countryCode != null ? '-${LocaleSettings.currentLocale.countryCode}' : ''})'),
value:
'${LocaleSettings.currentLocale.languageCode}-${LocaleSettings.currentLocale.countryCode}' ==
selectedLanguageCode.value,
groupValue: true,
onChanged: (value) {
selectedLanguageCode.value =
'${LocaleSettings.currentLocale.languageCode}-${LocaleSettings.currentLocale.countryCode}';
},
),
...AppLocale.values
.where(
(locale) =>
locale.languageCode != currentlyUsedLanguage.code,
)
.map((locale) {
final languageCode = getLanguageCode(locale);
return RadioListTile(
title: Text(
languageCode.englishName,
),
title: Text(languageCode.englishName),
subtitle: Text(
'${languageCode.nativeName} (${locale.languageCode}${locale.countryCode != null ? '-${locale.countryCode}' : ''})',
),
@@ -75,8 +95,8 @@ class SUpdateLanguage extends BaseViewModel {
'${locale.languageCode}-${locale.countryCode}';
},
);
},
).toList(),
}),
],
),
);
},

View File

@@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager
publish_to: 'none'
version: 1.19.0-dev.20+101900020
version: 1.19.0-dev.21+101900021
environment:
sdk: '>=3.0.0 <4.0.0'