Fix completed task group header

pull/1736/head
Alex Baker 4 years ago
parent 1edd9b8c5d
commit fdde6c0313

@ -10,6 +10,7 @@ public class TaskContainer {
@Embedded public SubsetGoogleTask googletask; @Embedded public SubsetGoogleTask googletask;
@Embedded public SubsetCaldav caldavTask; @Embedded public SubsetCaldav caldavTask;
@Embedded public Location location; @Embedded public Location location;
public Boolean parentComplete;
public String tags; public String tags;
public int children; public int children;
public Long sortGroup; public Long sortGroup;

@ -25,7 +25,9 @@ internal object TaskListQueryRecursive {
field("sort_group").`as`("sortGroup"), field("sort_group").`as`("sortGroup"),
field("children"), field("children"),
field("primary_sort").`as`("primarySort"), field("primary_sort").`as`("primarySort"),
field("secondary_sort").`as`("secondarySort"))).toTypedArray() field("secondary_sort").`as`("secondarySort"),
field("parent_complete").`as`("parentComplete"),
)).toTypedArray()
private val JOINS = """ private val JOINS = """
${Join.inner(RECURSIVE, Task.ID.eq(RECURSIVE_TASK))} ${Join.inner(RECURSIVE, Task.ID.eq(RECURSIVE_TASK))}
LEFT JOIN (SELECT parent, count(distinct recursive_tasks.task) AS children FROM recursive_tasks GROUP BY parent) AS recursive_children ON recursive_children.parent = tasks._id LEFT JOIN (SELECT parent, count(distinct recursive_tasks.task) AS children FROM recursive_tasks GROUP BY parent) AS recursive_children ON recursive_children.parent = tasks._id

@ -62,7 +62,7 @@ class SectionedDataSource constructor(
for (i in tasks.indices) { for (i in tasks.indices) {
val task = tasks[i] val task = tasks[i]
val sortGroup = task.sortGroup ?: continue val sortGroup = task.sortGroup ?: continue
val header = if (task.isCompleted && !task.hasParent()) { val header = if (task.parentComplete) {
HEADER_COMPLETED HEADER_COMPLETED
} else if (sortMode == SortHelper.SORT_IMPORTANCE || sortGroup == 0L) { } else if (sortMode == SortHelper.SORT_IMPORTANCE || sortGroup == 0L) {
sortGroup sortGroup
@ -82,8 +82,8 @@ class SectionedDataSource constructor(
val previousTask = tasks[i - 1] val previousTask = tasks[i - 1]
val previous = previousTask.sortGroup val previous = previousTask.sortGroup
when { when {
task.isCompleted && !task.hasParent() -> { task.parentComplete -> {
if (!previousTask.isCompleted) { if (!previousTask.parentComplete) {
sections.add(AdapterSection(i, header, 0, isCollapsed)) sections.add(AdapterSection(i, header, 0, isCollapsed))
} }
} }

Loading…
Cancel
Save