From 8f520a8088b9f4b66a1b51050619d5c909d04851 Mon Sep 17 00:00:00 2001 From: Tim Su Date: Fri, 6 May 2011 19:50:14 -0700 Subject: [PATCH] Synchronize iteration over controls list --- .../astrid/activity/TaskEditActivity.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java index 173cf9733..392cbb9b4 100755 --- a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java @@ -311,8 +311,10 @@ public final class TaskEditActivity extends TabActivity { controls.add(new HideUntilControlSet(R.id.hideUntil)); // re-read all - for(TaskEditControlSet controlSet : controls) - controlSet.readFromTask(model); + synchronized(controls) { + for(TaskEditControlSet controlSet : controls) + controlSet.readFromTask(model); + } } }); @@ -426,17 +428,21 @@ public final class TaskEditActivity extends TabActivity { else setTitle(r.getString(R.string.TEA_view_title, model.getValue(Task.TITLE))); - for(TaskEditControlSet controlSet : controls) - controlSet.readFromTask(model); + synchronized(controls) { + for(TaskEditControlSet controlSet : controls) + controlSet.readFromTask(model); + } } /** Save task model from values in UI components */ private void save() { StringBuilder toast = new StringBuilder(); - for(TaskEditControlSet controlSet : controls) { - String toastText = controlSet.writeToModel(model); - if(toastText != null) - toast.append('\n').append(toastText); + synchronized(controls) { + for(TaskEditControlSet controlSet : controls) { + String toastText = controlSet.writeToModel(model); + if(toastText != null) + toast.append('\n').append(toastText); + } } if(title.getText().length() > 0)