Make module sorting ignore case! (Fix #142)

pull/147/head
Fox2Code 2 years ago
parent 7e4da5c7d6
commit 19182a28a8

@ -21,6 +21,7 @@ import com.fox2code.mmm.utils.PropUtils;
import java.util.Comparator;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
public final class ModuleHolder implements Comparable<ModuleHolder> {
@ -95,6 +96,10 @@ public final class ModuleHolder implements Comparable<ModuleHolder> {
return moduleInfo.name;
}
public String getMainModuleNameLowercase() {
return this.getMainModuleName().toLowerCase(Locale.ROOT);
}
public String getMainModuleConfig() {
if (this.moduleInfo == null) return null;
String config = this.moduleInfo.config;
@ -250,7 +255,8 @@ public final class ModuleHolder implements Comparable<ModuleHolder> {
public int compare(ModuleHolder o1, ModuleHolder o2) {
int cmp = Integer.compare(o1.filterLevel, o2.filterLevel);
if (cmp != 0) return cmp;
return o1.getMainModuleName().compareTo(o2.getMainModuleName());
return o1.getMainModuleNameLowercase()
.compareTo(o2.getMainModuleNameLowercase());
}
},
SPECIAL_NOTIFICATIONS(R.string.loading, true, false),

@ -21,8 +21,8 @@ public enum ModuleSorter implements Comparator<ModuleHolder> {
if (type1 == type2 && type1 == ModuleHolder.Type.INSTALLABLE) {
int compare = Integer.compare(holder1.filterLevel, holder2.filterLevel);
if (compare != 0) return compare;
compare = holder1.getMainModuleName()
.compareTo(holder2.getMainModuleName());
compare = holder1.getMainModuleNameLowercase()
.compareTo(holder2.getMainModuleNameLowercase());
if (compare != 0) return compare;
}
return super.compare(holder1, holder2);

Loading…
Cancel
Save