Fixing a couple of race conditions.

This commit is contained in:
Rodrigo Damazio
2011-06-30 02:24:34 -03:00
parent 76e8a39276
commit d0b5faf266
@@ -53,7 +53,7 @@ public class StatsActivity extends Activity implements TrackDataListener {
*/ */
private final Runnable updateResults = new Runnable() { private final Runnable updateResults = new Runnable() {
public void run() { public void run() {
if (dataHub.isRecordingSelected()) { if (dataHub != null && dataHub.isRecordingSelected()) {
utils.setTime(R.id.total_time_register, utils.setTime(R.id.total_time_register,
System.currentTimeMillis() - startTime); System.currentTimeMillis() - startTime);
} }
@@ -301,6 +301,7 @@ public class StatsActivity extends Activity implements TrackDataListener {
@Override @Override
public void onTrackUpdated(final Track track) { public void onTrackUpdated(final Track track) {
final boolean recordingSelected = dataHub.isRecordingSelected();
runOnUiThread(new Runnable() { runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
@@ -310,7 +311,7 @@ public class StatsActivity extends Activity implements TrackDataListener {
} }
startTime = track.getStatistics().getStartTime(); startTime = track.getStatistics().getStartTime();
if (!dataHub.isRecordingSelected()) { if (!recordingSelected) {
utils.setTime(R.id.total_time_register, utils.setTime(R.id.total_time_register,
track.getStatistics().getTotalTime()); track.getStatistics().getTotalTime());
showUnknownLocation(); showUnknownLocation();