mirror of
https://codeberg.org/comaps/comaps
synced 2026-01-16 19:45:00 +00:00
[editor] Add alt and old name to language selection
Signed-off-by: map-per <map-per@gmx.de>
This commit is contained in:
@@ -237,7 +237,7 @@ public class EditorHostFragment
|
||||
for (LocalizedName name : sNames)
|
||||
languages.add(name.lang);
|
||||
args.putStringArrayList(LanguagesFragment.EXISTING_LOCALIZED_NAMES, languages);
|
||||
args.putBoolean(LanguagesFragment.INCLUDE_LOCAL_LANGUAGE, false);
|
||||
args.putBoolean(LanguagesFragment.IS_MAP_LANGUAGE_SELECTION, false);
|
||||
editWithFragment(Mode.LANGUAGE, R.string.choose_language, args, LanguagesFragment.class, false);
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ import java.util.Set;
|
||||
public class LanguagesFragment extends BaseMwmRecyclerFragment<LanguagesAdapter>
|
||||
{
|
||||
final static String EXISTING_LOCALIZED_NAMES = "ExistingLocalizedNames";
|
||||
final static String INCLUDE_LOCAL_LANGUAGE = "IncludeLocalLanguage";
|
||||
final static String IS_MAP_LANGUAGE_SELECTION = "IsMapLanguageSelection";
|
||||
|
||||
public interface Listener
|
||||
{
|
||||
@@ -39,8 +39,8 @@ public class LanguagesFragment extends BaseMwmRecyclerFragment<LanguagesAdapter>
|
||||
protected LanguagesAdapter createAdapter()
|
||||
{
|
||||
Bundle args = getArguments();
|
||||
boolean includeLocalLanguage =
|
||||
args != null ? args.getBoolean(INCLUDE_LOCAL_LANGUAGE) : true;
|
||||
boolean isMapLanguageSelection =
|
||||
args != null ? args.getBoolean(IS_MAP_LANGUAGE_SELECTION) : true;
|
||||
Set<String> existingLanguages =
|
||||
args != null ? new HashSet<>(args.getStringArrayList(EXISTING_LOCALIZED_NAMES)) : new HashSet<>();
|
||||
|
||||
@@ -52,7 +52,10 @@ public class LanguagesFragment extends BaseMwmRecyclerFragment<LanguagesAdapter>
|
||||
for (int i = 0; i < systemLocales.size(); i++)
|
||||
systemLanguages.add(null);
|
||||
|
||||
for (Language lang : Editor.nativeGetSupportedLanguages(false))
|
||||
// service languages are old_name, alt_name, ...
|
||||
boolean includeServiceLangs = !isMapLanguageSelection;
|
||||
|
||||
for (Language lang : Editor.nativeGetSupportedLanguages(includeServiceLangs))
|
||||
{
|
||||
if (existingLanguages.contains(lang.code))
|
||||
continue;
|
||||
@@ -78,7 +81,7 @@ public class LanguagesFragment extends BaseMwmRecyclerFragment<LanguagesAdapter>
|
||||
|
||||
languages.addAll(0, systemLanguages.stream().filter(Objects::nonNull).toList());
|
||||
|
||||
if (includeLocalLanguage) {
|
||||
if (isMapLanguageSelection) {
|
||||
String localLanguageLabel = getString(R.string.pref_maplanguage_local);
|
||||
Language localLanguage = new Language(DEFAULT_LANG_CODE, localLanguageLabel);
|
||||
languages.add(0, localLanguage);
|
||||
|
||||
Reference in New Issue
Block a user