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() {
@Override
public void run() {
updateMenu();
ApiAdapterFactory.getApiAdapter().invalidMenu(MarkerListActivity.this);
}
});
}
@@ -222,7 +222,7 @@ public class MarkerListActivity extends AbstractMyTracksActivity implements Dele
@Override
protected void onResume() {
super.onResume();
updateMenu();
ApiAdapterFactory.getApiAdapter().invalidMenu(this);
}
@Override
@@ -242,14 +242,10 @@ public class MarkerListActivity extends AbstractMyTracksActivity implements Dele
insertMarkerMenuItem = menu.findItem(R.id.marker_list_insert_marker);
searchMenuItem = menu.findItem(R.id.marker_list_search);
ApiAdapterFactory.getApiAdapter().configureSearchWidget(this, searchMenuItem, null);
updateMenu();
return true;
}
private void updateMenu() {
if (insertMarkerMenuItem != null) {
insertMarkerMenuItem.setVisible(track.getId() == recordingTrackId && !recordingTrackPaused);
}
return true;
}
@Override
@@ -137,8 +137,8 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity implements
runOnUiThread(new Runnable() {
@Override
public void run() {
ApiAdapterFactory.getApiAdapter().invalidMenu(TrackDetailActivity.this);
boolean isRecording = trackId == recordingTrackId;
updateMenuItems(isRecording, recordingTrackPaused);
trackController.update(isRecording, recordingTrackPaused);
}
});
@@ -237,8 +237,8 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity implements
trackDataHub.loadTrack(trackId);
// Update UI
ApiAdapterFactory.getApiAdapter().invalidMenu(this);
boolean isRecording = trackId == recordingTrackId;
updateMenuItems(isRecording, recordingTrackPaused);
trackController.onResume(isRecording, recordingTrackPaused);
}
@@ -191,12 +191,10 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
runOnUiThread(new Runnable() {
@Override
public void run() {
boolean isGpsStarted = TrackRecordingServiceConnectionUtils
.isRecordingServiceRunning(TrackListActivity.this);
ApiAdapterFactory.getApiAdapter().invalidMenu(TrackListActivity.this);
sectionResourceCursorAdapter.notifyDataSetChanged();
boolean isRecording = recordingTrackId
!= PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
updateMenuItems(isGpsStarted, isRecording);
sectionResourceCursorAdapter.notifyDataSetChanged();
trackController.update(isRecording, recordingTrackPaused);
}
});
@@ -416,10 +414,9 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
super.onResume();
// Update UI
boolean isGpsStarted = TrackRecordingServiceConnectionUtils.isRecordingServiceRunning(this);
boolean isRecording = recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
updateMenuItems(isGpsStarted, isRecording);
ApiAdapterFactory.getApiAdapter().invalidMenu(this);
sectionResourceCursorAdapter.notifyDataSetChanged();
boolean isRecording = recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
trackController.onResume(isRecording, recordingTrackPaused);
}
@@ -498,14 +495,11 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
} else {
boolean isGpsStarted = TrackRecordingServiceConnectionUtils.isRecordingServiceRunning(
startGps = !TrackRecordingServiceConnectionUtils.isRecordingServiceRunning(
this);
boolean isRecording = recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
startGps = !isGpsStarted;
// Update menu
updateMenuItems(startGps, isRecording);
ApiAdapterFactory.getApiAdapter().invalidMenu(this);
// Show toast
Toast toast = Toast.makeText(