Catch a weird exception thrown during gtasks sync

pull/14/head
Tim Su 15 years ago
parent da8c3bb180
commit 00f4f67d05

@ -7,6 +7,7 @@ import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log;
import com.todoroo.andlib.data.TodorooCursor; import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.Autowired;
@ -287,22 +288,26 @@ public class GtasksTaskListUpdater {
public void processTask(long taskId, Metadata metadata) { public void processTask(long taskId, Metadata metadata) {
int indent = metadata.getValue(GtasksMetadata.INDENT); int indent = metadata.getValue(GtasksMetadata.INDENT);
long parent, sibling; try {
if(indent > previousIndent.get()) { long parent, sibling;
parent = previousTask.get(); if(indent > previousIndent.get()) {
sibling = -1L; parent = previousTask.get();
} else if(indent == previousIndent.get()) { sibling = -1L;
sibling = previousTask.get(); } else if(indent == previousIndent.get()) {
parent = parents.get(sibling); sibling = previousTask.get();
} else { parent = parents.get(sibling);
// move up once for each indent } else {
sibling = previousTask.get(); // move up once for each indent
for(int i = indent; i < previousIndent.get(); i++) sibling = previousTask.get();
sibling = parents.get(sibling); for(int i = indent; i < previousIndent.get(); i++)
parent = parents.get(sibling); sibling = parents.get(sibling);
parent = parents.get(sibling);
}
parents.put(taskId, parent);
siblings.put(taskId, sibling);
} catch (Exception e) {
Log.e("gtasks-task-updating", "Caught exception", e); //$NON-NLS-1$ //$NON-NLS-2$
} }
parents.put(taskId, parent);
siblings.put(taskId, sibling);
previousTask.set(taskId); previousTask.set(taskId);
previousIndent.set(indent); previousIndent.set(indent);

Loading…
Cancel
Save