diff --git a/src/org/geometerplus/android/fbreader/network/NetworkLibraryActivity.java b/src/org/geometerplus/android/fbreader/network/NetworkLibraryActivity.java index 0b947760f..0b97b28dc 100644 --- a/src/org/geometerplus/android/fbreader/network/NetworkLibraryActivity.java +++ b/src/org/geometerplus/android/fbreader/network/NetworkLibraryActivity.java @@ -263,7 +263,7 @@ public class NetworkLibraryActivity extends NetworkBaseActivity { .setTitle(dialogResource.getResource("languageFilterDialog").getResource("title").getValue()) .setPositiveButton(dialogResource.getResource("button").getResource("ok").getValue(), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { - final ArrayList newActiveCodes = new ArrayList(); + final TreeSet newActiveCodes = new TreeSet(new ZLLanguageUtil.CodeComparator()); for (int i = 0; i < checked.length; ++i) { if (checked[i]) { newActiveCodes.add(allLanguageCodes.get(i)); diff --git a/src/org/geometerplus/fbreader/network/NetworkLibrary.java b/src/org/geometerplus/fbreader/network/NetworkLibrary.java index b6f17fc1e..f4565f66b 100644 --- a/src/org/geometerplus/fbreader/network/NetworkLibrary.java +++ b/src/org/geometerplus/fbreader/network/NetworkLibrary.java @@ -84,10 +84,8 @@ public class NetworkLibrary { public final ZLStringOption NetworkSearchPatternOption = new ZLStringOption("NetworkSearch", "Pattern", ""); - private final ArrayList myLinks = new ArrayList(); - public List languageCodes() { final TreeSet languageSet = new TreeSet(); for (INetworkLink link : myLinks) { @@ -99,11 +97,13 @@ public class NetworkLibrary { private ZLStringOption myActiveLanguageCodesOption; private ZLStringOption activeLanguageCodesOption() { if (myActiveLanguageCodesOption == null) { + final TreeSet defaultCodes = new TreeSet(new ZLLanguageUtil.CodeComparator()); + defaultCodes.addAll(ZLibrary.Instance().defaultLanguageCodes()); myActiveLanguageCodesOption = new ZLStringOption( "Options", "ActiveLanguages", - commaSeparatedString(ZLibrary.Instance().defaultLanguageCodes()) + commaSeparatedString(defaultCodes) ); } return myActiveLanguageCodesOption; @@ -114,7 +114,8 @@ public class NetworkLibrary { } public void setActiveLanguageCodes(Collection codes) { - final TreeSet allCodes = new TreeSet(ZLibrary.Instance().defaultLanguageCodes()); + final TreeSet allCodes = new TreeSet(new ZLLanguageUtil.CodeComparator()); + allCodes.addAll(ZLibrary.Instance().defaultLanguageCodes()); allCodes.removeAll(languageCodes()); allCodes.addAll(codes); activeLanguageCodesOption().setValue(commaSeparatedString(allCodes));