Use ApiAdapter.invalidateMenu to refresh the action bar menu.

This commit is contained in:
Jimmy Shih
2013-06-25 16:42:55 -07:00
parent f1b3a1495d
commit c8c00f8391
3 changed files with 11 additions and 21 deletions
@@ -121,7 +121,7 @@ public class MarkerListActivity extends AbstractMyTracksActivity implements Dele
runOnUiThread(new Runnable() { runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
updateMenu(); ApiAdapterFactory.getApiAdapter().invalidMenu(MarkerListActivity.this);
} }
}); });
} }
@@ -222,7 +222,7 @@ public class MarkerListActivity extends AbstractMyTracksActivity implements Dele
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
updateMenu(); ApiAdapterFactory.getApiAdapter().invalidMenu(this);
} }
@Override @Override
@@ -242,14 +242,10 @@ public class MarkerListActivity extends AbstractMyTracksActivity implements Dele
insertMarkerMenuItem = menu.findItem(R.id.marker_list_insert_marker); insertMarkerMenuItem = menu.findItem(R.id.marker_list_insert_marker);
searchMenuItem = menu.findItem(R.id.marker_list_search); searchMenuItem = menu.findItem(R.id.marker_list_search);
ApiAdapterFactory.getApiAdapter().configureSearchWidget(this, searchMenuItem, null); ApiAdapterFactory.getApiAdapter().configureSearchWidget(this, searchMenuItem, null);
updateMenu();
return true;
}
private void updateMenu() {
if (insertMarkerMenuItem != null) { if (insertMarkerMenuItem != null) {
insertMarkerMenuItem.setVisible(track.getId() == recordingTrackId && !recordingTrackPaused); insertMarkerMenuItem.setVisible(track.getId() == recordingTrackId && !recordingTrackPaused);
} }
return true;
} }
@Override @Override
@@ -137,8 +137,8 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity implements
runOnUiThread(new Runnable() { runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
ApiAdapterFactory.getApiAdapter().invalidMenu(TrackDetailActivity.this);
boolean isRecording = trackId == recordingTrackId; boolean isRecording = trackId == recordingTrackId;
updateMenuItems(isRecording, recordingTrackPaused);
trackController.update(isRecording, recordingTrackPaused); trackController.update(isRecording, recordingTrackPaused);
} }
}); });
@@ -237,8 +237,8 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity implements
trackDataHub.loadTrack(trackId); trackDataHub.loadTrack(trackId);
// Update UI // Update UI
ApiAdapterFactory.getApiAdapter().invalidMenu(this);
boolean isRecording = trackId == recordingTrackId; boolean isRecording = trackId == recordingTrackId;
updateMenuItems(isRecording, recordingTrackPaused);
trackController.onResume(isRecording, recordingTrackPaused); trackController.onResume(isRecording, recordingTrackPaused);
} }
@@ -191,12 +191,10 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
runOnUiThread(new Runnable() { runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
boolean isGpsStarted = TrackRecordingServiceConnectionUtils ApiAdapterFactory.getApiAdapter().invalidMenu(TrackListActivity.this);
.isRecordingServiceRunning(TrackListActivity.this); sectionResourceCursorAdapter.notifyDataSetChanged();
boolean isRecording = recordingTrackId boolean isRecording = recordingTrackId
!= PreferencesUtils.RECORDING_TRACK_ID_DEFAULT; != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
updateMenuItems(isGpsStarted, isRecording);
sectionResourceCursorAdapter.notifyDataSetChanged();
trackController.update(isRecording, recordingTrackPaused); trackController.update(isRecording, recordingTrackPaused);
} }
}); });
@@ -416,10 +414,9 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
super.onResume(); super.onResume();
// Update UI // Update UI
boolean isGpsStarted = TrackRecordingServiceConnectionUtils.isRecordingServiceRunning(this); ApiAdapterFactory.getApiAdapter().invalidMenu(this);
boolean isRecording = recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
updateMenuItems(isGpsStarted, isRecording);
sectionResourceCursorAdapter.notifyDataSetChanged(); sectionResourceCursorAdapter.notifyDataSetChanged();
boolean isRecording = recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
trackController.onResume(isRecording, recordingTrackPaused); trackController.onResume(isRecording, recordingTrackPaused);
} }
@@ -498,14 +495,11 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent); startActivity(intent);
} else { } else {
boolean isGpsStarted = TrackRecordingServiceConnectionUtils.isRecordingServiceRunning( startGps = !TrackRecordingServiceConnectionUtils.isRecordingServiceRunning(
this); this);
boolean isRecording = recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
startGps = !isGpsStarted;
// Update menu // Update menu
updateMenuItems(startGps, isRecording); ApiAdapterFactory.getApiAdapter().invalidMenu(this);
// Show toast // Show toast
Toast toast = Toast.makeText( Toast toast = Toast.makeText(