Check if indent property exists

pull/14/head
Sam Bosley 12 years ago
parent 272ded7d28
commit b5ad7136bf

@ -13,9 +13,11 @@ import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.Order; import com.todoroo.andlib.sql.Order;
import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.core.PluginServices;
import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria; import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria;
import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.MetadataService; import com.todoroo.astrid.service.MetadataService;
import com.todoroo.astrid.service.TagDataService; import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.subtasks.AstridOrderedListUpdater.Node; import com.todoroo.astrid.subtasks.AstridOrderedListUpdater.Node;
@ -75,6 +77,7 @@ public class SubtasksMetadataMigration {
td.setValue(TagData.TAG_ORDERING, newTree); td.setValue(TagData.TAG_ORDERING, newTree);
tagDataService.save(td); tagDataService.save(td);
} else { } else {
Log.e("MIGRATION", "WRITE SERIALIZATION: " + newTree, new Throwable());
Preferences.setString(SubtasksUpdater.ACTIVE_TASKS_ORDER, newTree); Preferences.setString(SubtasksUpdater.ACTIVE_TASKS_ORDER, newTree);
} }
} }
@ -90,10 +93,15 @@ public class SubtasksMetadataMigration {
if (!item.getValue(SubtasksMetadata.TAG).equals(tag)) if (!item.getValue(SubtasksMetadata.TAG).equals(tag))
break; 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 parent = findNextParentForIndent(root, indent);
Node newNode = new Node(item.getValue(Metadata.TASK), parent, parent.indent + 1); Node newNode = new Node(item.getValue(Metadata.TASK), parent, parent.indent + 1);
parent.children.add(newNode); parent.children.add(newNode);
System.err.println("INDENT FOR " + title + ": " + indent);
} }
try { try {

@ -5,6 +5,8 @@
*/ */
package com.todoroo.astrid.subtasks; package com.todoroo.astrid.subtasks;
import android.util.Log;
import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.utility.Preferences;
@ -59,9 +61,10 @@ public class SubtasksUpdater extends AstridOrderedListUpdater<TagData> {
@Override @Override
protected void writeSerialization(TagData list, String serialized) { 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); Preferences.setString(ACTIVE_TASKS_ORDER, serialized);
else { } else {
list.setValue(TagData.TAG_ORDERING, serialized); list.setValue(TagData.TAG_ORDERING, serialized);
tagDataService.save(list); tagDataService.save(list);
} }

Loading…
Cancel
Save