Tweaked the cosmetics of the main task list, as well as synchronization screens. Also should remove all of the database constraint violations on sync mappings. Good thing those are working. =)

pull/14/head
Tim Su 17 years ago
parent 3edc4163b9
commit bf282c128b

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.timsu.astrid" package="com.timsu.astrid"
android:versionCode="62" android:versionCode="63"
android:versionName="2.0.0-rc3"> android:versionName="2.0.0">
<meta-data android:name="com.a0soft.gphone.aTrackDog.webURL" <meta-data android:name="com.a0soft.gphone.aTrackDog.webURL"
android:value="http://www.weloveastrid.com" /> android:value="http://www.weloveastrid.com" />
<meta-data android:name="com.a0soft.gphone.aTrackDog.testVersion" <meta-data android:name="com.a0soft.gphone.aTrackDog.testVersion"
android:value="62" /> android:value="63" />
<uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET"/>

@ -32,12 +32,14 @@
android:gravity="center_vertical" android:gravity="center_vertical"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:drawingCacheQuality="low"
android:minWidth="41px" /> android:minWidth="41px" />
<ImageView android:id="@+id/imageLeft" <ImageView android:id="@+id/imageLeft"
android:gravity="center_vertical" android:gravity="center_vertical"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:drawingCacheQuality="low"
android:paddingLeft="5dip"/> android:paddingLeft="5dip"/>
<LinearLayout android:id="@+id/text_layout" <LinearLayout android:id="@+id/text_layout"
@ -94,6 +96,7 @@
android:gravity="center_vertical" android:gravity="center_vertical"
android:layout_width="24px" android:layout_width="24px"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:drawingCacheQuality="low"
android:paddingLeft="6dip" android:paddingLeft="6dip"
android:paddingRight="4dip"/> android:paddingRight="4dip"/>

@ -34,7 +34,7 @@
<color name="taskList_completedDate">#ff888888</color> <color name="taskList_completedDate">#ff888888</color>
<color name="taskList_tags">#ff888888</color> <color name="taskList_tags">#ff888888</color>
<color name="view_header_done">#ff83ffa9</color> <color name="view_header_done">#ff44bb66</color>
<color name="view_table_values">#ffbbbbbb</color> <color name="view_table_values">#ffbbbbbb</color>
<color name="view_table_overdue">#ffff0000</color> <color name="view_table_overdue">#ffff0000</color>

@ -78,14 +78,14 @@
<string name="taskList_dueIn">Due:</string> <string name="taskList_dueIn">Due:</string>
<string name="taskList_goalPrefix">Goal</string> <string name="taskList_goalPrefix">Goal</string>
<string name="taskList_completedPrefix">Finished</string> <string name="taskList_completedPrefix">Finished</string>
<string name="taskList_overdueBy">Overdue by</string> <string name="taskList_overdueBy">Overdue:</string>
<string name="taskList_hiddenPrefix">H</string> <string name="taskList_hiddenPrefix">H</string>
<string name="addtask_label">New Task</string> <string name="addtask_label">New Task</string>
<string name="tags_prefix">Tags: </string> <string name="tags_prefix">Tags: </string>
<string name="no_tags">No Tags</string> <string name="no_tags">No Tags</string>
<string name="taskList_remaining">Left</string> <string name="taskList_remaining">Left</string>
<string name="taskList_overtime">Over Time</string> <string name="taskList_overtime">Overtime</string>
<string name="taskList_spent">Spent</string> <string name="taskList_spent">Spent</string>
<string name="taskList_menu_insert">Add</string> <string name="taskList_menu_insert">Add</string>
@ -220,10 +220,8 @@ When finished, restart Astrid and come back here.
<string name="sync_rtm_notes"> <string name="sync_rtm_notes">
Welcome to Astrid\'s RTM sync! Welcome to Astrid\'s RTM sync!
\n\n \n\n
- Task notes are read from RTM, but edits are not sent back.\n
- Notifications and repeats are not synchronized.\n - Notifications and repeats are not synchronized.\n
- Moving tasks in RTM to another list and then renaming them causes dupes.\n - In RTM, deleting, or moving and then renaming a task, is not detected.\n
- Deleting tasks in RTM is not detected.\n
- Having ~50+ tasks in one list might cause that list to not be imported\n - Having ~50+ tasks in one list might cause that list to not be imported\n
Wish me luck!\n Wish me luck!\n
</string> </string>

@ -182,7 +182,8 @@ public class TaskListAdapter extends ArrayAdapter<TaskModelForList> {
if(task.getTimerStart() != null) if(task.getTimerStart() != null)
elapsed += ((System.currentTimeMillis() - task.getTimerStart().getTime())/1000); elapsed += ((System.currentTimeMillis() - task.getTimerStart().getTime())/1000);
String remainingString = ""; String remainingString = "";
if(!task.isTaskCompleted() && task.getEstimatedSeconds() > 0) { if(!task.isTaskCompleted() && task.getEstimatedSeconds() > 0 &&
task.getRepeat() != null) {
int remaining = task.getEstimatedSeconds() - elapsed; int remaining = task.getEstimatedSeconds() - elapsed;
remainingString = DateUtilities.getShortDurationString(r, remainingString = DateUtilities.getShortDurationString(r,
(int)Math.abs(remaining), 1); (int)Math.abs(remaining), 1);

@ -44,6 +44,7 @@ public class TaskModelForList extends AbstractTaskModel {
PROGRESS_PERCENTAGE, PROGRESS_PERCENTAGE,
COMPLETION_DATE, COMPLETION_DATE,
HIDDEN_UNTIL, HIDDEN_UNTIL,
REPEAT,
}; };
/** Get the weighted score for this task. Smaller is more important */ /** Get the weighted score for this task. Smaller is more important */
@ -163,6 +164,13 @@ public class TaskModelForList extends AbstractTaskModel {
return super.getCompletionDate(); return super.getCompletionDate();
} }
@Override
public RepeatInfo getRepeat() {
return super.getRepeat();
}
// --- setters
@Override @Override
public void setProgressPercentage(int progressPercentage) { public void setProgressPercentage(int progressPercentage) {
super.setProgressPercentage(progressPercentage); super.setProgressPercentage(progressPercentage);

@ -148,10 +148,11 @@ public class RTMSyncService extends SynchronizationService {
private void performSyncInNewThread(final Activity activity) { private void performSyncInNewThread(final Activity activity) {
try { try {
syncHandler.post(new ProgressLabelUpdater("Reading remote data")); syncHandler.post(new ProgressLabelUpdater("Reading remote data"));
syncHandler.post(new ProgressUpdater(0, 1)); syncHandler.post(new ProgressUpdater(0, 5));
// get RTM timeline // get RTM timeline
final String timeline = rtmService.timelines_create(); final String timeline = rtmService.timelines_create();
syncHandler.post(new ProgressUpdater(1, 5));
// load RTM lists // load RTM lists
RtmLists lists = rtmService.lists_getList(); RtmLists lists = rtmService.lists_getList();
@ -163,6 +164,7 @@ public class RTMSyncService extends SynchronizationService {
if(INBOX_LIST_NAME.equalsIgnoreCase(list.getName())) if(INBOX_LIST_NAME.equalsIgnoreCase(list.getName()))
INBOX_LIST_NAME = list.getName(); INBOX_LIST_NAME = list.getName();
} }
syncHandler.post(new ProgressUpdater(2, 5));
// read all tasks // read all tasks
LinkedList<TaskProxy> remoteChanges = new LinkedList<TaskProxy>(); LinkedList<TaskProxy> remoteChanges = new LinkedList<TaskProxy>();
@ -174,9 +176,10 @@ public class RTMSyncService extends SynchronizationService {
// try the quick synchronization // try the quick synchronization
try { try {
Thread.sleep(1500); // throttle Thread.sleep(2000); // throttle
syncHandler.post(new ProgressUpdater(3, 5));
RtmTasks tasks = rtmService.tasks_getList(null, filter, lastSyncDate); RtmTasks tasks = rtmService.tasks_getList(null, filter, lastSyncDate);
syncHandler.post(new ProgressUpdater(1, 1)); syncHandler.post(new ProgressUpdater(5, 5));
addTasksToList(tasks, remoteChanges); addTasksToList(tasks, remoteChanges);
} catch (Exception e) { } catch (Exception e) {
remoteChanges.clear(); remoteChanges.clear();

@ -174,6 +174,7 @@ public abstract class SynchronizationService {
String remoteId = helper.createTask(task); String remoteId = helper.createTask(task);
SyncMapping mapping = new SyncMapping(taskId, getId(), remoteId); SyncMapping mapping = new SyncMapping(taskId, getId(), remoteId);
syncController.saveSyncMapping(mapping); syncController.saveSyncMapping(mapping);
data.localIdToSyncMapping.put(taskId, mapping);
TaskProxy localTask = new TaskProxy(getId(), remoteId, false); TaskProxy localTask = new TaskProxy(getId(), remoteId, false);
localTask.readFromTaskModel(task); localTask.readFromTaskModel(task);
@ -194,6 +195,7 @@ public abstract class SynchronizationService {
// remove it from data structures // remove it from data structures
data.localChanges.remove(mapping); data.localChanges.remove(mapping);
data.localIdToSyncMapping.remove(taskId);
data.remoteIdToSyncMapping.remove(mapping); data.remoteIdToSyncMapping.remove(mapping);
data.remoteChangeMap.remove(taskId); data.remoteChangeMap.remove(taskId);
@ -249,7 +251,7 @@ public abstract class SynchronizationService {
} }
// 4. REMOTE SYNC load remote information // 4. REMOTE SYNC load remote information
log.append(">> on astrid:\n"); log.append("\n>> on astrid:\n");
syncHandler.post(new ProgressUpdater(0, 1)); syncHandler.post(new ProgressUpdater(0, 1));
for(TaskProxy remoteTask : remoteTasks) { for(TaskProxy remoteTask : remoteTasks) {
if(remoteTask.name != null) if(remoteTask.name != null)
@ -327,6 +329,8 @@ public abstract class SynchronizationService {
try { try {
mapping = new SyncMapping(task.getTaskIdentifier(), remoteTask); mapping = new SyncMapping(task.getTaskIdentifier(), remoteTask);
syncController.saveSyncMapping(mapping); syncController.saveSyncMapping(mapping);
data.localIdToSyncMapping.put(task.getTaskIdentifier(),
mapping);
} catch (Exception e) { } catch (Exception e) {
// unique violation: ignore - it'll get merged later // unique violation: ignore - it'll get merged later
} }
@ -456,10 +460,11 @@ public abstract class SynchronizationService {
} }
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(getName()).append("Results:"); // TODO i18n sb.append(getName()).append(" Results:"); // TODO i18n
sb.append("\n\n"); sb.append("\n\n");
sb.append(log); sb.append(log);
sb.append("\nSummary - Astrid Tasks:"); if(localCreatedTasks + localUpdatedTasks + localDeletedTasks > 0)
sb.append("\nSummary - Astrid Tasks:");
if(localCreatedTasks > 0) if(localCreatedTasks > 0)
sb.append("\nCreated: " + localCreatedTasks); sb.append("\nCreated: " + localCreatedTasks);
if(localUpdatedTasks > 0) if(localUpdatedTasks > 0)
@ -470,7 +475,8 @@ public abstract class SynchronizationService {
if(mergedTasks > 0) if(mergedTasks > 0)
sb.append("\n\nMerged: " + localCreatedTasks); sb.append("\n\nMerged: " + localCreatedTasks);
sb.append("\n\nSummary - Remote Server:"); if(remoteCreatedTasks + remoteDeletedTasks + remoteUpdatedTasks > 0)
sb.append("\n\nSummary - Remote Server:");
if(remoteCreatedTasks > 0) if(remoteCreatedTasks > 0)
sb.append("\nCreated: " + remoteCreatedTasks); sb.append("\nCreated: " + remoteCreatedTasks);
if(remoteUpdatedTasks > 0) if(remoteUpdatedTasks > 0)

Loading…
Cancel
Save