From f55dc0d81134b6a10f7c73d85881eaeec56fb50c Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Thu, 22 Jun 2017 23:31:46 -0400 Subject: [PATCH] Fix animation when card moves and updates simultaneously --- .../ui/screens/habits/list/HabitCardListCache.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/habits/list/HabitCardListCache.java b/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/habits/list/HabitCardListCache.java index 08afffcc7..eb88d1deb 100644 --- a/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/habits/list/HabitCardListCache.java +++ b/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/habits/list/HabitCardListCache.java @@ -388,10 +388,17 @@ public class HabitCardListCache implements CommandRunner.Listener int prevPosition = data.habits.indexOf(habit); - if (prevPosition < 0) performInsert(habit, currentPosition); - else if (prevPosition == currentPosition) + if (prevPosition < 0) + { + performInsert(habit, currentPosition); + } + else + { + if (prevPosition != currentPosition) + performMove(habit, prevPosition, currentPosition); + performUpdate(id, currentPosition); - else performMove(habit, prevPosition, currentPosition); + } } private void processRemovedHabits()