Synchronize iteration over controls list

pull/14/head
Tim Su 15 years ago
parent d30d9f8eed
commit 8f520a8088

@ -311,9 +311,11 @@ public final class TaskEditActivity extends TabActivity {
controls.add(new HideUntilControlSet(R.id.hideUntil)); controls.add(new HideUntilControlSet(R.id.hideUntil));
// re-read all // re-read all
synchronized(controls) {
for(TaskEditControlSet controlSet : controls) for(TaskEditControlSet controlSet : controls)
controlSet.readFromTask(model); controlSet.readFromTask(model);
} }
}
}); });
notesControlSet = new EditTextControlSet(Task.NOTES, R.id.notes); notesControlSet = new EditTextControlSet(Task.NOTES, R.id.notes);
@ -426,18 +428,22 @@ public final class TaskEditActivity extends TabActivity {
else else
setTitle(r.getString(R.string.TEA_view_title, model.getValue(Task.TITLE))); setTitle(r.getString(R.string.TEA_view_title, model.getValue(Task.TITLE)));
synchronized(controls) {
for(TaskEditControlSet controlSet : controls) for(TaskEditControlSet controlSet : controls)
controlSet.readFromTask(model); controlSet.readFromTask(model);
} }
}
/** Save task model from values in UI components */ /** Save task model from values in UI components */
private void save() { private void save() {
StringBuilder toast = new StringBuilder(); StringBuilder toast = new StringBuilder();
synchronized(controls) {
for(TaskEditControlSet controlSet : controls) { for(TaskEditControlSet controlSet : controls) {
String toastText = controlSet.writeToModel(model); String toastText = controlSet.writeToModel(model);
if(toastText != null) if(toastText != null)
toast.append('\n').append(toastText); toast.append('\n').append(toastText);
} }
}
if(title.getText().length() > 0) if(title.getText().length() > 0)
model.setValue(Task.DELETION_DATE, 0L); model.setValue(Task.DELETION_DATE, 0L);

Loading…
Cancel
Save