|
|
|
@ -132,6 +132,7 @@ public class TaskListSubActivity extends SubActivity {
|
|
|
|
private TaskModelForList selectedTask = null;
|
|
|
|
private TaskModelForList selectedTask = null;
|
|
|
|
private Handler handler = null;
|
|
|
|
private Handler handler = null;
|
|
|
|
private Thread loadingThread = null;
|
|
|
|
private Thread loadingThread = null;
|
|
|
|
|
|
|
|
private Thread reLoadThread = null;
|
|
|
|
|
|
|
|
|
|
|
|
// display filters
|
|
|
|
// display filters
|
|
|
|
private static boolean filterShowHidden = false;
|
|
|
|
private static boolean filterShowHidden = false;
|
|
|
|
@ -169,30 +170,35 @@ public class TaskListSubActivity extends SubActivity {
|
|
|
|
|
|
|
|
|
|
|
|
setupUIComponents();
|
|
|
|
setupUIComponents();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
reLoadThread = new Thread(new Runnable() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void run() {
|
|
|
|
|
|
|
|
suppressReload = true;
|
|
|
|
|
|
|
|
handler.post(new Runnable() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void run() {
|
|
|
|
|
|
|
|
loadingText.setVisibility(View.VISIBLE);
|
|
|
|
|
|
|
|
listView.setAdapter(null);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fillData();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
// time to go!
|
|
|
|
// time to go!
|
|
|
|
loadingThread = new Thread(new Runnable() {
|
|
|
|
loadingThread = new Thread(new Runnable() {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
public void run() {
|
|
|
|
loadTaskListSort();
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
fillData();
|
|
|
|
|
|
|
|
} catch (StaleDataException e) {
|
|
|
|
|
|
|
|
// happens when you rotate the screen whiel the thread is
|
|
|
|
|
|
|
|
// still running. i don't think it's avoidable?
|
|
|
|
|
|
|
|
Log.w("astrid", "StaleDataException", e);
|
|
|
|
|
|
|
|
} catch (final Exception e) {
|
|
|
|
|
|
|
|
Log.e("astrid", "Error loading task list", e);
|
|
|
|
|
|
|
|
handler.post(new Runnable() {
|
|
|
|
handler.post(new Runnable() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void run() {
|
|
|
|
public void run() {
|
|
|
|
DialogUtilities.okDialog(getParent(),
|
|
|
|
loadingText.setVisibility(View.VISIBLE);
|
|
|
|
"Error loading task list, FYI. If you " +
|
|
|
|
|
|
|
|
"continue to have problems, please let " +
|
|
|
|
|
|
|
|
"me know!\n\n" + e.getClass().getSimpleName() +
|
|
|
|
|
|
|
|
": " + e.getMessage(),
|
|
|
|
|
|
|
|
null);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
loadTaskListSort();
|
|
|
|
|
|
|
|
fillData();
|
|
|
|
|
|
|
|
|
|
|
|
// open up reminder box
|
|
|
|
// open up reminder box
|
|
|
|
if(variables != null && variables.containsKey(NOTIF_FLAGS_TOKEN) &&
|
|
|
|
if(variables != null && variables.containsKey(NOTIF_FLAGS_TOKEN) &&
|
|
|
|
@ -216,7 +222,6 @@ public class TaskListSubActivity extends SubActivity {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
loadingThread.start();
|
|
|
|
loadingThread.start();
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** Initialize UI components */
|
|
|
|
/** Initialize UI components */
|
|
|
|
@ -427,7 +432,13 @@ public class TaskListSubActivity extends SubActivity {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** Fill in the Task List with our tasks */
|
|
|
|
/** Fill in the Task List with our tasks */
|
|
|
|
private void fillData() {
|
|
|
|
private synchronized void fillData() {
|
|
|
|
|
|
|
|
int hiddenTasks = 0; // # of tasks hidden
|
|
|
|
|
|
|
|
int completedTasks = 0; // # of tasks on list that are done
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Log.e("astrid", "fill data called! ", new Throwable("hai")); // XXX
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
// get a cursor to the task list
|
|
|
|
// get a cursor to the task list
|
|
|
|
Cursor tasksCursor;
|
|
|
|
Cursor tasksCursor;
|
|
|
|
if(filterTag != null) {
|
|
|
|
if(filterTag != null) {
|
|
|
|
@ -444,8 +455,6 @@ public class TaskListSubActivity extends SubActivity {
|
|
|
|
taskArray = getTaskController().createTaskListFromCursor(tasksCursor);
|
|
|
|
taskArray = getTaskController().createTaskListFromCursor(tasksCursor);
|
|
|
|
|
|
|
|
|
|
|
|
// read tags and apply filters
|
|
|
|
// read tags and apply filters
|
|
|
|
int hiddenTasks = 0; // # of tasks hidden
|
|
|
|
|
|
|
|
int completedTasks = 0; // # of tasks on list that are done
|
|
|
|
|
|
|
|
tagMap = getTagController().getAllTagsAsMap(getParent());
|
|
|
|
tagMap = getTagController().getAllTagsAsMap(getParent());
|
|
|
|
taskTags = new HashMap<TaskModelForList, LinkedList<TagModelForView>>();
|
|
|
|
taskTags = new HashMap<TaskModelForList, LinkedList<TagModelForView>>();
|
|
|
|
|
|
|
|
|
|
|
|
@ -485,8 +494,25 @@ public class TaskListSubActivity extends SubActivity {
|
|
|
|
if(task.isTaskCompleted())
|
|
|
|
if(task.isTaskCompleted())
|
|
|
|
completedTasks++;
|
|
|
|
completedTasks++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
int activeTasks = taskArray.size() - completedTasks;
|
|
|
|
} catch (StaleDataException e) {
|
|
|
|
|
|
|
|
// happens when you rotate the screen while the thread is
|
|
|
|
|
|
|
|
// still running. i don't think it's avoidable?
|
|
|
|
|
|
|
|
Log.w("astrid", "StaleDataException", e);
|
|
|
|
|
|
|
|
} catch (final Exception e) {
|
|
|
|
|
|
|
|
Log.e("astrid", "Error loading task list", e);
|
|
|
|
|
|
|
|
handler.post(new Runnable() {
|
|
|
|
|
|
|
|
public void run() {
|
|
|
|
|
|
|
|
DialogUtilities.okDialog(getParent(),
|
|
|
|
|
|
|
|
"Error loading task list, FYI. If you " +
|
|
|
|
|
|
|
|
"continue to have problems, please let " +
|
|
|
|
|
|
|
|
"me know!\n\n" + e.getClass().getSimpleName() +
|
|
|
|
|
|
|
|
": " + e.getMessage(),
|
|
|
|
|
|
|
|
null);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int activeTasks = taskArray.size() - completedTasks;
|
|
|
|
// sort task list
|
|
|
|
// sort task list
|
|
|
|
Collections.sort(taskArray, new Comparator<TaskModelForList>() {
|
|
|
|
Collections.sort(taskArray, new Comparator<TaskModelForList>() {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
@ -722,6 +748,7 @@ public class TaskListSubActivity extends SubActivity {
|
|
|
|
public void onWindowFocusChanged(boolean hasFocus) {
|
|
|
|
public void onWindowFocusChanged(boolean hasFocus) {
|
|
|
|
// refresh, since stuff might have changed...
|
|
|
|
// refresh, since stuff might have changed...
|
|
|
|
if(hasFocus) {
|
|
|
|
if(hasFocus) {
|
|
|
|
|
|
|
|
Log.e("astrid", "window focus changed. suppress: " + suppressReload); // XXX
|
|
|
|
if(suppressReload) {
|
|
|
|
if(suppressReload) {
|
|
|
|
suppressReload = false;
|
|
|
|
suppressReload = false;
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
@ -911,12 +938,12 @@ public class TaskListSubActivity extends SubActivity {
|
|
|
|
case CONTEXT_FILTER_HIDDEN:
|
|
|
|
case CONTEXT_FILTER_HIDDEN:
|
|
|
|
TaskListSubActivity.filterShowHidden = !filterShowHidden;
|
|
|
|
TaskListSubActivity.filterShowHidden = !filterShowHidden;
|
|
|
|
saveTaskListSort();
|
|
|
|
saveTaskListSort();
|
|
|
|
fillData();
|
|
|
|
reLoadThread.start();
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
case CONTEXT_FILTER_DONE:
|
|
|
|
case CONTEXT_FILTER_DONE:
|
|
|
|
TaskListSubActivity.filterShowDone = !filterShowDone;
|
|
|
|
TaskListSubActivity.filterShowDone = !filterShowDone;
|
|
|
|
saveTaskListSort();
|
|
|
|
saveTaskListSort();
|
|
|
|
fillData();
|
|
|
|
reLoadThread.start();
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
case CONTEXT_FILTER_TAG:
|
|
|
|
case CONTEXT_FILTER_TAG:
|
|
|
|
switchToActivity(TaskList.AC_TASK_LIST, null);
|
|
|
|
switchToActivity(TaskList.AC_TASK_LIST, null);
|
|
|
|
|