From b5ad7136bfdeed9a04448fcc28e2d2f3c6e4e14f Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Thu, 1 Nov 2012 15:00:17 -0700 Subject: [PATCH] Check if indent property exists --- .../astrid/subtasks/SubtasksMetadataMigration.java | 10 +++++++++- .../com/todoroo/astrid/subtasks/SubtasksUpdater.java | 7 +++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/subtasks/SubtasksMetadataMigration.java b/astrid/plugin-src/com/todoroo/astrid/subtasks/SubtasksMetadataMigration.java index 9be00df23..17091d42f 100644 --- a/astrid/plugin-src/com/todoroo/astrid/subtasks/SubtasksMetadataMigration.java +++ b/astrid/plugin-src/com/todoroo/astrid/subtasks/SubtasksMetadataMigration.java @@ -13,9 +13,11 @@ import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.sql.Order; import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.utility.Preferences; +import com.todoroo.astrid.core.PluginServices; import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria; import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.TagData; +import com.todoroo.astrid.data.Task; import com.todoroo.astrid.service.MetadataService; import com.todoroo.astrid.service.TagDataService; import com.todoroo.astrid.subtasks.AstridOrderedListUpdater.Node; @@ -75,6 +77,7 @@ public class SubtasksMetadataMigration { td.setValue(TagData.TAG_ORDERING, newTree); tagDataService.save(td); } else { + Log.e("MIGRATION", "WRITE SERIALIZATION: " + newTree, new Throwable()); Preferences.setString(SubtasksUpdater.ACTIVE_TASKS_ORDER, newTree); } } @@ -90,10 +93,15 @@ public class SubtasksMetadataMigration { if (!item.getValue(SubtasksMetadata.TAG).equals(tag)) break; - int indent = item.getValue(SubtasksMetadata.INDENT); + Task t = PluginServices.getTaskService().fetchById(item.getValue(Metadata.TASK), Task.TITLE); + String title = t.getValue(Task.TITLE); + int indent = 0; + if (item.containsNonNullValue(SubtasksMetadata.INDENT)) + indent = item.getValue(SubtasksMetadata.INDENT); Node parent = findNextParentForIndent(root, indent); Node newNode = new Node(item.getValue(Metadata.TASK), parent, parent.indent + 1); parent.children.add(newNode); + System.err.println("INDENT FOR " + title + ": " + indent); } try { diff --git a/astrid/plugin-src/com/todoroo/astrid/subtasks/SubtasksUpdater.java b/astrid/plugin-src/com/todoroo/astrid/subtasks/SubtasksUpdater.java index 12b61ebf2..32f96572d 100644 --- a/astrid/plugin-src/com/todoroo/astrid/subtasks/SubtasksUpdater.java +++ b/astrid/plugin-src/com/todoroo/astrid/subtasks/SubtasksUpdater.java @@ -5,6 +5,8 @@ */ package com.todoroo.astrid.subtasks; +import android.util.Log; + import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.utility.Preferences; @@ -59,9 +61,10 @@ public class SubtasksUpdater extends AstridOrderedListUpdater { @Override protected void writeSerialization(TagData list, String serialized) { - if (list == null) + if (list == null) { + Log.e("SUBTASKS", "WRITE SERIALIZATION: " + serialized, new Throwable()); Preferences.setString(ACTIVE_TASKS_ORDER, serialized); - else { + } else { list.setValue(TagData.TAG_ORDERING, serialized); tagDataService.save(list); }