diff --git a/app/src/main/java/com/majinnaibu/monstercards/models/Trait.java b/app/src/main/java/com/majinnaibu/monstercards/models/Trait.java index 77ae70a..48d2516 100644 --- a/app/src/main/java/com/majinnaibu/monstercards/models/Trait.java +++ b/app/src/main/java/com/majinnaibu/monstercards/models/Trait.java @@ -1,6 +1,9 @@ package com.majinnaibu.monstercards.models; +import androidx.annotation.Nullable; + import java.util.Comparator; +import java.util.Objects; public class Trait implements Comparator, Comparable { @@ -14,12 +17,33 @@ public class Trait implements Comparator, Comparable { @Override public int compareTo(Trait o) { - return this.name.compareToIgnoreCase(o.name); + return compare(this, o); } @Override public int compare(Trait o1, Trait o2) { - return o1.name.compareToIgnoreCase(o2.name); + int result = o1.name.compareToIgnoreCase(o2.name); + if (result != 0) { + return result; + } + return o1.description.compareToIgnoreCase(o2.description); } + @Override + public boolean equals(@Nullable @org.jetbrains.annotations.Nullable Object obj) { + if (obj == null) { + return false; + } + if (!(obj instanceof Trait)) { + return false; + } + Trait otherTrait = (Trait) obj; + if (!Objects.equals(this.name, otherTrait.name)) { + return false; + } + if (!Objects.equals(this.description, otherTrait.description)) { + return false; + } + return true; + } }