Fixed the cascading repeat ends up still indented bug

pull/14/head
Tim Su 13 years ago
parent 68c786fa3e
commit 731f7c007c

@ -37,8 +37,6 @@ public class RepeatTaskCompleteListener extends BroadcastReceiver {
@Autowired ActFmPreferenceService actFmPreferenceService;
private static boolean skipActFmCheck = false;
@Override
public void onReceive(Context context, Intent intent) {
ContextManager.setContext(context);
@ -90,11 +88,6 @@ public class RepeatTaskCompleteListener extends BroadcastReceiver {
}
}
/** for debug */
public static void setSkipActFmCheck(boolean skipActFmCheck) {
RepeatTaskCompleteListener.skipActFmCheck = skipActFmCheck;
}
/** Compute next due date */
public static long computeNextDueDate(Task task, String recurrence) throws ParseException {
boolean repeatAfterCompletion = task.getFlag(Task.FLAGS, Task.FLAG_REPEAT_AFTER_COMPLETION);

@ -10,6 +10,7 @@ import java.util.concurrent.atomic.AtomicReference;
import android.app.Activity;
import android.content.Context;
import android.database.Cursor;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.View;
@ -30,7 +31,9 @@ import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.adapter.TaskAdapter;
import com.todoroo.astrid.adapter.TaskAdapter.OnCompletedTaskListener;
import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.MetadataService;
import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.subtasks.OrderedListUpdater.Node;
import com.todoroo.astrid.subtasks.OrderedListUpdater.OrderedListNodeVisitor;
@ -43,6 +46,7 @@ public class OrderedListFragmentHelper<LIST> {
private final TaskListFragment fragment;
@Autowired TaskService taskService;
@Autowired MetadataService metadataService;
private DraggableTaskAdapter taskAdapter;
@ -250,9 +254,17 @@ public class OrderedListFragmentHelper<LIST> {
}
final ArrayList<Long> chained = new ArrayList<Long>();
final int parentIndent = item.getValue(updater.indentProperty());
updater.applyToChildren(getFilter(), list, itemId, new OrderedListNodeVisitor() {
@Override
public void visitNode(Node node) {
Task childTask = taskService.fetchById(node.taskId, Task.RECURRENCE);
if(!TextUtils.isEmpty(childTask.getValue(Task.RECURRENCE))) {
Metadata metadata = updater.getTaskMetadata(list, node.taskId);
metadata.setValue(updater.indentProperty(), parentIndent);
metadataService.save(metadata);
}
model.setId(node.taskId);
model.setValue(Task.COMPLETION_DATE, completionDate);
taskService.save(model);

Loading…
Cancel
Save