Fixed some activity lifecycle things:

- closing DB on onStop instead of onDestroy
   - stoping timer on onPause, recreating on onResume

  Closes Issue #2
pull/14/head
Tim Su 16 years ago
parent 95450a63bb
commit 0af4cf9d99

@ -410,8 +410,8 @@ public class TaskList extends Activity {
} }
@Override @Override
protected void onDestroy() { protected void onStop() {
super.onDestroy(); super.onStop();
controller.close(); controller.close();
} }
} }

@ -35,8 +35,8 @@ public abstract class TaskModificationActivity<MODEL_TYPE extends
abstract protected MODEL_TYPE getModel(TaskIdentifier identifier); abstract protected MODEL_TYPE getModel(TaskIdentifier identifier);
@Override @Override
protected void onDestroy() { protected void onStop() {
super.onDestroy(); super.onStop();
controller.close(); controller.close();
} }

@ -66,6 +66,7 @@ public class TaskView extends TaskModificationActivity<TaskModelForView> {
private Handler handler; private Handler handler;
private Timer updateTimer; private Timer updateTimer;
private TimerTask updateTimerTask;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -112,7 +113,7 @@ public class TaskView extends TaskModificationActivity<TaskModelForView> {
name.setTextSize(36); name.setTextSize(36);
final TimerTask elapsedTimeUpdater = new TimerTask() { updateTimerTask = new TimerTask() {
@Override @Override
public void run() { public void run() {
handler.post(new Runnable() { handler.post(new Runnable() {
@ -123,10 +124,7 @@ public class TaskView extends TaskModificationActivity<TaskModelForView> {
}); });
} }
}; };
// update the timer UI
updateTimer = new Timer(); updateTimer = new Timer();
updateTimer.scheduleAtFixedRate(elapsedTimeUpdater, 0, 1000);
} }
private void setUpListeners() { private void setUpListeners() {
@ -224,25 +222,22 @@ public class TaskView extends TaskModificationActivity<TaskModelForView> {
if(resultCode != RESULT_CANCELED) { if(resultCode != RESULT_CANCELED) {
setResult(resultCode); setResult(resultCode);
finish(); finish();
} else {
populateFields();
} }
} }
@Override @Override
protected void onPause() { protected void onPause() {
super.onPause(); super.onPause();
updateTimer.cancel(); // stop the timer
} }
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
populateFields(); populateFields();
} updateTimer.scheduleAtFixedRate(updateTimerTask, 0, 1000); // start timer
@Override
/** Cancel the timer thread */
protected void onDestroy() {
super.onDestroy();
updateTimer.cancel();
} }
// --- event response methods // --- event response methods

Loading…
Cancel
Save