diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsController.java b/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsController.java index 4315c8081..1b6b74163 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsController.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsController.java @@ -27,6 +27,7 @@ import org.isoron.uhabits.activities.habits.list.controllers.*; import org.isoron.uhabits.activities.habits.list.model.*; import org.isoron.uhabits.commands.*; import org.isoron.uhabits.models.*; +import org.isoron.uhabits.models.sqlite.*; import org.isoron.uhabits.preferences.*; import org.isoron.uhabits.tasks.*; import org.isoron.uhabits.utils.*; @@ -159,11 +160,19 @@ public class ListHabitsController public void onRepairDB() { taskRunner.execute(() -> { - for(Habit h : habitList) { + for(Habit h : habitList) + { h.getCheckmarks().invalidateNewerThan(0); h.getStreaks().invalidateNewerThan(0); h.getScores().invalidateNewerThan(0); } + + if(habitList instanceof SQLiteHabitList) + { + SQLiteHabitList sqlList = (SQLiteHabitList) habitList; + sqlList.rebuildOrder(); + } + screen.showMessage(R.string.database_repaired); }); } diff --git a/app/src/main/java/org/isoron/uhabits/models/sqlite/SQLiteHabitList.java b/app/src/main/java/org/isoron/uhabits/models/sqlite/SQLiteHabitList.java index be2002504..50b3ef4aa 100644 --- a/app/src/main/java/org/isoron/uhabits/models/sqlite/SQLiteHabitList.java +++ b/app/src/main/java/org/isoron/uhabits/models/sqlite/SQLiteHabitList.java @@ -210,10 +210,7 @@ public class SQLiteHabitList extends HabitList fromRecord.position = toPos; fromRecord.save(); - update(from); - rebuildOrder(); - getObservable().notifyListeners(); }