Delayed loading of portions of task edit activity to speed up percieved UI responsiveness

pull/14/head
Tim Su 14 years ago
parent d243a170dc
commit 5bad493e79

@ -228,28 +228,34 @@ public final class TaskEditActivity extends TabActivity {
// populate control set // populate control set
title = (EditText) findViewById(R.id.title); title = (EditText) findViewById(R.id.title);
controls.add(new EditTextControlSet(Task.TITLE, R.id.title)); controls.add(new EditTextControlSet(Task.TITLE, R.id.title));
controls.add(new ImportanceControlSet(R.id.importance_container)); controls.add(new ImportanceControlSet(R.id.importance_container));
controls.add(new UrgencyControlSet(R.id.urgency)); controls.add(new UrgencyControlSet(R.id.urgency));
controls.add(new HideUntilControlSet(R.id.hideUntil));
controls.add(new EditTextControlSet(Task.NOTES, R.id.notes));
new Thread() {
@Override
public void run() {
AndroidUtilities.sleepDeep(500L);
controls.add( new ReminderControlSet(R.id.reminder_due, controls.add( new ReminderControlSet(R.id.reminder_due,
R.id.reminder_overdue, R.id.reminder_alarm)); R.id.reminder_overdue, R.id.reminder_alarm));
controls.add( new RandomReminderControlSet(R.id.reminder_random, controls.add( new RandomReminderControlSet(R.id.reminder_random,
R.id.reminder_random_interval)); R.id.reminder_random_interval));
controls.add(new TagsControlSet(this, R.id.tags_container));
runOnUiThread(new Runnable() {
public void run() {
// internal add-ins // internal add-ins
controls.add(new HideUntilControlSet(R.id.hideUntil));
controls.add(new EditTextControlSet(Task.NOTES, R.id.notes));
controls.add(new TagsControlSet(TaskEditActivity.this, R.id.tags_container));
LinearLayout extrasAddons = (LinearLayout) findViewById(R.id.tab_extra_addons); LinearLayout extrasAddons = (LinearLayout) findViewById(R.id.tab_extra_addons);
controls.add(new RepeatControlSet(this, extrasAddons)); controls.add(new RepeatControlSet(TaskEditActivity.this, extrasAddons));
LinearLayout addonsAddons = (LinearLayout) findViewById(R.id.tab_addons_addons); LinearLayout addonsAddons = (LinearLayout) findViewById(R.id.tab_addons_addons);
try { try {
if(ProducteevUtilities.INSTANCE.isLoggedIn()) { if(ProducteevUtilities.INSTANCE.isLoggedIn()) {
controls.add(new ProducteevControlSet(this, addonsAddons)); controls.add(new ProducteevControlSet(TaskEditActivity.this, addonsAddons));
((TextView)findViewById(R.id.notes)).setHint(R.string.producteev_TEA_notes); ((TextView)findViewById(R.id.notes)).setHint(R.string.producteev_TEA_notes);
((TextView)findViewById(R.id.notes_label)).setHint(R.string.producteev_TEA_notes); ((TextView)findViewById(R.id.notes_label)).setHint(R.string.producteev_TEA_notes);
} }
@ -258,9 +264,9 @@ public final class TaskEditActivity extends TabActivity {
} }
if(addOnService.hasPowerPack()) { if(addOnService.hasPowerPack()) {
controls.add(new GCalControlSet(this, addonsAddons)); controls.add(new GCalControlSet(TaskEditActivity.this, addonsAddons));
controls.add(new TimerControlSet(this, addonsAddons)); controls.add(new TimerControlSet(TaskEditActivity.this, addonsAddons));
controls.add(new AlarmControlSet(this, addonsAddons)); controls.add(new AlarmControlSet(TaskEditActivity.this, addonsAddons));
} }
// show add-on help if necessary // show add-on help if necessary
@ -275,9 +281,18 @@ public final class TaskEditActivity extends TabActivity {
}); });
} }
// re-read all
for(TaskEditControlSet controlSet : controls)
controlSet.readFromTask(model);
}
});
// set up listeners // set up listeners
setUpListeners(); setUpListeners();
} }
}.start();
}
/** Set up button listeners */ /** Set up button listeners */
private void setUpListeners() { private void setUpListeners() {

Loading…
Cancel
Save