diff --git a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksDetailExposer.java b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksDetailExposer.java index 9c17880e0..30aba7e66 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksDetailExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksDetailExposer.java @@ -7,6 +7,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import com.todoroo.andlib.data.AbstractModel; import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.DependencyInjectionService; @@ -73,6 +74,10 @@ public class GtasksDetailExposer extends BroadcastReceiver { builder.append(" ").append(listName); //$NON-NLS-1$ + if(metadata.getValue(GtasksMetadata.PARENT_TASK) > AbstractModel.NO_ID) { + builder.append(DETAIL_SEPARATOR).append("Parent: ").append(metadata.getValue(GtasksMetadata.PARENT_TASK)); + } + return builder.toString(); } diff --git a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksIndentAction.java b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksIndentAction.java index 3a3840990..c866bdef2 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksIndentAction.java +++ b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksIndentAction.java @@ -43,6 +43,8 @@ abstract public class GtasksIndentAction extends BroadcastReceiver { metadata.setValue(GtasksMetadata.INDENT, newIndent); PluginServices.getMetadataService().save(metadata); + gtasksMetadataService.updateMetadataForList(metadata.getValue(GtasksMetadata.LIST_ID)); + Flags.set(Flags.REFRESH); Toast.makeText(context, context.getString(R.string.gtasks_indent_toast, newIndent), Toast.LENGTH_SHORT).show(); diff --git a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksMetadataService.java b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksMetadataService.java index 12e5a717e..5be214c32 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksMetadataService.java +++ b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksMetadataService.java @@ -74,11 +74,13 @@ public final class GtasksMetadataService extends SyncMetadataService cursor = PluginServices.getTaskService().fetchFiltered(filter.sqlQuery, null, Task.ID); try { + Long[] ids = new Long[cursor.getCount()]; int order = 0; int previousIndent = -1; Stack taskHierarchyStack = new Stack(); for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { long taskId = cursor.getLong(0); + ids[order] = taskId; Metadata metadata = getTaskMetadata(taskId); if(metadata == null) continue; @@ -86,19 +88,27 @@ public final class GtasksMetadataService extends SyncMetadataService 0) { - if(taskHierarchyStack.isEmpty()) + if(taskHierarchyStack.isEmpty()) { + metadata.setValue(GtasksMetadata.PARENT_TASK, 0L); metadata.setValue(GtasksMetadata.INDENT, 0); - else + } else metadata.setValue(GtasksMetadata.PARENT_TASK, taskHierarchyStack.peek()); + } else { + metadata.setValue(GtasksMetadata.PARENT_TASK, 0L); } PluginServices.getMetadataService().save(metadata); taskHierarchyStack.push(taskId); + previousIndent = indent; } + + PluginServices.getTaskService().clearDetails(Task.ID.in(ids)); } finally { cursor.close(); } diff --git a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksOrderAction.java b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksOrderAction.java index e56673037..6194f996d 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksOrderAction.java +++ b/astrid/plugin-src/com/todoroo/astrid/gtasks/GtasksOrderAction.java @@ -47,7 +47,8 @@ abstract public class GtasksOrderAction extends BroadcastReceiver { return; metadata.setValue(GtasksMetadata.ORDER, newOrder); - TodorooCursor cursor = PluginServices.getMetadataService().query(Query.select(Metadata.ID, GtasksMetadata.INDENT).where( + TodorooCursor cursor = PluginServices.getMetadataService().query(Query.select(Metadata.ID, + Metadata.TASK, GtasksMetadata.INDENT).where( Criterion.and(Metadata.KEY.eq(GtasksMetadata.METADATA_KEY), GtasksMetadata.LIST_ID.eq(metadata.getValue(GtasksMetadata.LIST_ID)), GtasksMetadata.ORDER.eq(newOrder)))); diff --git a/astrid/src/com/todoroo/astrid/utility/Constants.java b/astrid/src/com/todoroo/astrid/utility/Constants.java index 810e38189..7f5e820a9 100644 --- a/astrid/src/com/todoroo/astrid/utility/Constants.java +++ b/astrid/src/com/todoroo/astrid/utility/Constants.java @@ -30,7 +30,7 @@ public final class Constants { /** * Whether to turn on debugging logging and UI */ - public static final boolean DEBUG = false; + public static final boolean DEBUG = true; /** * Upgrade time