fix missing previous order assignments

pull/660/head
Quentin Hibon 5 years ago
parent 75a19a7445
commit a54a5f46ce

@ -83,6 +83,7 @@ public class HabitCardListAdapter
cache.setListener(this); cache.setListener(this);
cache.setCheckmarkCount( cache.setCheckmarkCount(
ListHabitsRootViewKt.MAX_CHECKMARK_COUNT); ListHabitsRootViewKt.MAX_CHECKMARK_COUNT);
cache.setPreviousOrder(preferences.getDefaultPreviousOrder());
cache.setOrder(preferences.getDefaultOrder()); cache.setOrder(preferences.getDefaultOrder());
setHasStableIds(true); setHasStableIds(true);
@ -331,11 +332,6 @@ public class HabitCardListAdapter
return cache.getOrder(); return cache.getOrder();
} }
@Override
public HabitList.Order getPreviousOrder() {
return cache.getPreviousOrder();
}
/** /**
* Selects or deselects the item at a given position. * Selects or deselects the item at a given position.
* *

@ -59,6 +59,7 @@ public class MemoryHabitList extends HabitList
this.parent = parent; this.parent = parent;
this.comparator = comparator; this.comparator = comparator;
this.order = parent.order; this.order = parent.order;
this.previousOrder = parent.previousOrder;
parent.getObservable().addListener(this::loadFromParent); parent.getObservable().addListener(this::loadFromParent);
loadFromParent(); loadFromParent();
} }
@ -155,10 +156,10 @@ public class MemoryHabitList extends HabitList
h1.getName().compareTo(h2.getName()); h1.getName().compareTo(h2.getName());
Comparator<Habit> nameComparatorDesc = (h1, h2) -> Comparator<Habit> nameComparatorDesc = (h1, h2) ->
nameComparatorAsc.compare(h2, h1); nameComparatorAsc.compare(h2, h1);
Comparator<Habit> colorComparatorAsc = (h1, h2) -> Comparator<Habit> colorComparatorAsc = (h1, h2) ->
h1.getColor().compareTo(h2.getColor()); h1.getColor().compareTo(h2.getColor());
Comparator<Habit> colorComparatorDesc = (h1, h2) -> Comparator<Habit> colorComparatorDesc = (h1, h2) ->
colorComparatorAsc.compare(h2, h1); colorComparatorAsc.compare(h2, h1);

@ -75,6 +75,20 @@ public class Preferences
} }
} }
public HabitList.Order getDefaultPreviousOrder() {
String name = storage.getString("pref_default_previous_order", "BY_POSITION");
try
{
return HabitList.Order.valueOf(name);
}
catch (IllegalArgumentException e)
{
setDefaultPreviousOrder(HabitList.Order.BY_POSITION);
return HabitList.Order.BY_POSITION;
}
}
public void setDefaultOrder(HabitList.Order order) public void setDefaultOrder(HabitList.Order order)
{ {
storage.putString("pref_default_order", order.name()); storage.putString("pref_default_order", order.name());

@ -160,8 +160,6 @@ public class ListHabitsMenuBehavior
void setPreviousOrder(HabitList.Order order); void setPreviousOrder(HabitList.Order order);
HabitList.Order getOrder(); HabitList.Order getOrder();
HabitList.Order getPreviousOrder();
} }
public interface Screen public interface Screen

Loading…
Cancel
Save