From 47d67861e26c32011581405af93b49c4e9e09c2b Mon Sep 17 00:00:00 2001 From: Tom Hicks Date: Fri, 25 Jun 2021 10:56:42 -0700 Subject: [PATCH] Makes use of class compareTo methods when sorting skills and languages. Fixes dirty state of skills when modifying them. --- .../monstercards/ui/editmonster/EditMonsterViewModel.java | 4 ++-- .../monstercards/ui/editmonster/EditSkillViewModel.java | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditMonsterViewModel.java b/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditMonsterViewModel.java index 1af08b7..f99910e 100644 --- a/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditMonsterViewModel.java +++ b/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditMonsterViewModel.java @@ -203,7 +203,7 @@ public class EditMonsterViewModel extends ChangeTrackedViewModel { mUnderstandsButDescription.resetValue(monster.understandsButDescription); ArrayList skills = new ArrayList<>(monster.skills); - Collections.sort(skills, (skill1, skill2) -> skill1.name.compareToIgnoreCase(skill2.name)); + Collections.sort(skills, Skill::compareTo); mSkills.resetValue(skills); ArrayList senses = new ArrayList<>(monster.senses); Collections.sort(senses, String::compareToIgnoreCase); @@ -221,7 +221,7 @@ public class EditMonsterViewModel extends ChangeTrackedViewModel { Collections.sort(conditionImmunities, String::compareToIgnoreCase); mConditionImmunities.resetValue(conditionImmunities); ArrayList languages = new ArrayList<>(monster.languages); - Collections.sort(languages, (lang1, lang2) -> lang1.getName().compareToIgnoreCase(lang2.getName())); + Collections.sort(languages, Language::compareTo); mLanguages.resetValue(languages); mAbilities.resetValue(new ArrayList<>(monster.abilities)); mActions.resetValue(new ArrayList<>(monster.actions)); diff --git a/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditSkillViewModel.java b/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditSkillViewModel.java index 6af3d26..b2604dd 100644 --- a/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditSkillViewModel.java +++ b/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditSkillViewModel.java @@ -21,7 +21,7 @@ public class EditSkillViewModel extends ChangeTrackedViewModel { mAbilityScore = new ChangeTrackedLiveData<>(AbilityScore.STRENGTH, this::makeDirty); mAdvantageType = new ChangeTrackedLiveData<>(AdvantageType.NONE, this::makeDirty); mProficiencyType = new ChangeTrackedLiveData<>(ProficiencyType.NONE, this::makeDirty); - mName = new ChangeTrackedLiveData<>("Unknown Skill", this::makeDirty); + mName = new ChangeTrackedLiveData<>("New Skill", this::makeDirty); mSkill = new ChangeTrackedLiveData<>(makeSkill(), this::makeDirty); } @@ -30,6 +30,7 @@ public class EditSkillViewModel extends ChangeTrackedViewModel { mAdvantageType.resetValue(skill.advantageType); mProficiencyType.resetValue(skill.proficiencyType); mName.resetValue(skill.name); + makeClean(); } public LiveData getSkill() {