package com.thebluealliance.androidclient.comparators; import com.thebluealliance.androidclient.models.Event; import com.thebluealliance.androidclient.types.EventType; import java.util.Comparator; public class EventSortByTypeAndNameComparator implements Comparator<Event> { @Override public int compare(Event event, Event event2) { // Preseason < regional < district < district_cmp < cmp_division < cmp_finals < offseason if (event.getEventTypeEnum() == event2.getEventTypeEnum()) { int districtSort = event.getEventDistrictEnum().compareTo(event2.getEventDistrictEnum()); int nameSort = event.getShortName().compareTo(event2.getShortName()); if (districtSort == 0) { return nameSort; } else { return districtSort; } } else { EventType type1 = event.getEventTypeEnum(); EventType type2 = event2.getEventTypeEnum(); int typeCompare = type1.getSortOrder() - type2.getSortOrder(); if (typeCompare == 0 && event.getEventTypeEnum() == EventType.DISTRICT) { return event.getEventDistrictEnum().compareTo(event2.getEventDistrictEnum()); } else { return typeCompare; } } } @Override public boolean equals(Object o) { return false; } }