forked from upstream-mirrors/OpenTracks
Add onPrepareOptionMenu to update menu state.
This commit is contained in:
@@ -105,8 +105,10 @@ public class MarkerDetailActivity extends AbstractMyTracksActivity implements De
|
|||||||
getMenuInflater().inflate(R.menu.marker_detail, menu);
|
getMenuInflater().inflate(R.menu.marker_detail, menu);
|
||||||
|
|
||||||
Track track = myTracksProviderUtils.getTrack(waypoint.getTrackId());
|
Track track = myTracksProviderUtils.getTrack(waypoint.getTrackId());
|
||||||
menu.findItem(R.id.marker_detail_edit).setVisible(!track.isSharedWithMe());
|
boolean isSharedWithMe = track != null ? track.isSharedWithMe() : true;
|
||||||
menu.findItem(R.id.marker_detail_delete).setVisible(!track.isSharedWithMe());
|
|
||||||
|
menu.findItem(R.id.marker_detail_edit).setVisible(!isSharedWithMe);
|
||||||
|
menu.findItem(R.id.marker_detail_delete).setVisible(!isSharedWithMe);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -243,12 +243,17 @@ 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);
|
||||||
if (insertMarkerMenuItem != null) {
|
|
||||||
insertMarkerMenuItem.setVisible(track.getId() == recordingTrackId && !recordingTrackPaused);
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||||
|
if (insertMarkerMenuItem != null) {
|
||||||
|
insertMarkerMenuItem.setVisible(track.getId() == recordingTrackId && !recordingTrackPaused);
|
||||||
|
}
|
||||||
|
return super.onPrepareOptionsMenu(menu);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
|
|||||||
@@ -88,14 +88,15 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity implements
|
|||||||
// Preferences
|
// Preferences
|
||||||
private long recordingTrackId = PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
|
private long recordingTrackId = PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
|
||||||
private boolean recordingTrackPaused = PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT;
|
private boolean recordingTrackPaused = PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT;
|
||||||
|
private String sensorType = PreferencesUtils.SENSOR_TYPE_DEFAULT;
|
||||||
|
|
||||||
private MenuItem insertMarkerMenuItem;
|
private MenuItem insertMarkerMenuItem;
|
||||||
private MenuItem playMenuItem;
|
private MenuItem playMenuItem;
|
||||||
private MenuItem shareMenuItem;
|
private MenuItem shareMenuItem;
|
||||||
private MenuItem exportMenuItem;
|
private MenuItem exportMenuItem;
|
||||||
private MenuItem voiceFrequencyMenuItem;
|
private MenuItem voiceFrequencyMenuItem;
|
||||||
private MenuItem splitFrequencyMenuItem;
|
private MenuItem splitFrequencyMenuItem;
|
||||||
private MenuItem feedbackMenuItem;
|
private MenuItem sensorStateMenuItem;
|
||||||
|
|
||||||
private final Runnable bindChangedCallback = new Runnable() {
|
private final Runnable bindChangedCallback = new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
@@ -131,6 +132,11 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity implements
|
|||||||
R.string.recording_track_paused_key,
|
R.string.recording_track_paused_key,
|
||||||
PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT);
|
PreferencesUtils.RECORDING_TRACK_PAUSED_DEFAULT);
|
||||||
}
|
}
|
||||||
|
if (key == null || key.equals(
|
||||||
|
PreferencesUtils.getKey(TrackDetailActivity.this, R.string.sensor_type_key))) {
|
||||||
|
sensorType = PreferencesUtils.getString(TrackDetailActivity.this,
|
||||||
|
R.string.sensor_type_key, PreferencesUtils.SENSOR_TYPE_DEFAULT);
|
||||||
|
}
|
||||||
if (key != null) {
|
if (key != null) {
|
||||||
runOnUiThread(new Runnable() {
|
runOnUiThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
@@ -296,30 +302,29 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity implements
|
|||||||
getMenuInflater().inflate(R.menu.track_detail, menu);
|
getMenuInflater().inflate(R.menu.track_detail, menu);
|
||||||
|
|
||||||
Track track = myTracksProviderUtils.getTrack(trackId);
|
Track track = myTracksProviderUtils.getTrack(trackId);
|
||||||
boolean sharedWithMe = track != null ? track.isSharedWithMe() : true;
|
boolean isSharedWithMe = track != null ? track.isSharedWithMe() : true;
|
||||||
menu.findItem(R.id.track_detail_edit).setVisible(!sharedWithMe);
|
|
||||||
shareMenuItem = menu.findItem(R.id.track_detail_share);
|
menu.findItem(R.id.track_detail_edit).setVisible(!isSharedWithMe);
|
||||||
shareMenuItem.setEnabled(!sharedWithMe);
|
menu.findItem(R.id.track_detail_feedback)
|
||||||
shareMenuItem.setVisible(!sharedWithMe);
|
.setVisible(ApiAdapterFactory.getApiAdapter().isGoogleFeedbackAvailable());
|
||||||
|
|
||||||
insertMarkerMenuItem = menu.findItem(R.id.track_detail_insert_marker);
|
insertMarkerMenuItem = menu.findItem(R.id.track_detail_insert_marker);
|
||||||
playMenuItem = menu.findItem(R.id.track_detail_play);
|
playMenuItem = menu.findItem(R.id.track_detail_play);
|
||||||
|
|
||||||
|
shareMenuItem = menu.findItem(R.id.track_detail_share);
|
||||||
|
shareMenuItem.setEnabled(!isSharedWithMe);
|
||||||
|
shareMenuItem.setVisible(!isSharedWithMe);
|
||||||
|
|
||||||
exportMenuItem = menu.findItem(R.id.track_detail_export);
|
exportMenuItem = menu.findItem(R.id.track_detail_export);
|
||||||
voiceFrequencyMenuItem = menu.findItem(R.id.track_detail_voice_frequency);
|
voiceFrequencyMenuItem = menu.findItem(R.id.track_detail_voice_frequency);
|
||||||
splitFrequencyMenuItem = menu.findItem(R.id.track_detail_split_frequency);
|
splitFrequencyMenuItem = menu.findItem(R.id.track_detail_split_frequency);
|
||||||
feedbackMenuItem = menu.findItem(R.id.track_detail_feedback);
|
sensorStateMenuItem = menu.findItem(R.id.track_detail_sensor_state);
|
||||||
feedbackMenuItem.setVisible(ApiAdapterFactory.getApiAdapter().isGoogleFeedbackAvailable());
|
|
||||||
|
|
||||||
updateMenuItems(trackId == recordingTrackId, recordingTrackPaused);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||||
boolean showSensorState = !PreferencesUtils.SENSOR_TYPE_DEFAULT.equals(
|
updateMenuItems(trackId == recordingTrackId, recordingTrackPaused);
|
||||||
PreferencesUtils.getString(
|
|
||||||
this, R.string.sensor_type_key, PreferencesUtils.SENSOR_TYPE_DEFAULT));
|
|
||||||
menu.findItem(R.id.track_detail_sensor_state).setVisible(showSensorState);
|
|
||||||
return super.onPrepareOptionsMenu(menu);
|
return super.onPrepareOptionsMenu(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -522,6 +527,9 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity implements
|
|||||||
}
|
}
|
||||||
if (splitFrequencyMenuItem != null) {
|
if (splitFrequencyMenuItem != null) {
|
||||||
splitFrequencyMenuItem.setVisible(isRecording);
|
splitFrequencyMenuItem.setVisible(isRecording);
|
||||||
|
}
|
||||||
|
if (sensorStateMenuItem != null) {
|
||||||
|
sensorStateMenuItem.setVisible(!PreferencesUtils.SENSOR_TYPE_DEFAULT.equals(sensorType));
|
||||||
}
|
}
|
||||||
|
|
||||||
String title;
|
String title;
|
||||||
|
|||||||
@@ -294,7 +294,6 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
|
|||||||
private MenuItem exportAllMenuItem;
|
private MenuItem exportAllMenuItem;
|
||||||
private MenuItem importAllMenuItem;
|
private MenuItem importAllMenuItem;
|
||||||
private MenuItem deleteAllMenuItem;
|
private MenuItem deleteAllMenuItem;
|
||||||
private MenuItem feedbackMenuItem;
|
|
||||||
|
|
||||||
private boolean startGps = false; // true to start gps
|
private boolean startGps = false; // true to start gps
|
||||||
private boolean startNewRecording = false; // true to start a new recording
|
private boolean startNewRecording = false; // true to start a new recording
|
||||||
@@ -412,7 +411,7 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
|
|||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|
||||||
// Update UI
|
// Update UI
|
||||||
ApiAdapterFactory.getApiAdapter().invalidMenu(this);
|
ApiAdapterFactory.getApiAdapter().invalidMenu(this);
|
||||||
sectionResourceCursorAdapter.notifyDataSetChanged();
|
sectionResourceCursorAdapter.notifyDataSetChanged();
|
||||||
@@ -463,22 +462,28 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
|
|||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
getMenuInflater().inflate(R.menu.track_list, menu);
|
getMenuInflater().inflate(R.menu.track_list, menu);
|
||||||
|
|
||||||
|
menu.findItem(R.id.track_list_feedback)
|
||||||
|
.setVisible(ApiAdapterFactory.getApiAdapter().isGoogleFeedbackAvailable());
|
||||||
|
|
||||||
searchMenuItem = menu.findItem(R.id.track_list_search);
|
searchMenuItem = menu.findItem(R.id.track_list_search);
|
||||||
|
ApiAdapterFactory.getApiAdapter().configureSearchWidget(this, searchMenuItem, trackController);
|
||||||
|
|
||||||
startGpsMenuItem = menu.findItem(R.id.track_list_start_gps);
|
startGpsMenuItem = menu.findItem(R.id.track_list_start_gps);
|
||||||
refreshMenuItem = menu.findItem(R.id.track_list_refresh);
|
refreshMenuItem = menu.findItem(R.id.track_list_refresh);
|
||||||
exportAllMenuItem = menu.findItem(R.id.track_list_export_all);
|
exportAllMenuItem = menu.findItem(R.id.track_list_export_all);
|
||||||
importAllMenuItem = menu.findItem(R.id.track_list_import_all);
|
importAllMenuItem = menu.findItem(R.id.track_list_import_all);
|
||||||
deleteAllMenuItem = menu.findItem(R.id.track_list_delete_all);
|
deleteAllMenuItem = menu.findItem(R.id.track_list_delete_all);
|
||||||
feedbackMenuItem = menu.findItem(R.id.track_list_feedback);
|
return true;
|
||||||
feedbackMenuItem.setVisible(ApiAdapterFactory.getApiAdapter().isGoogleFeedbackAvailable());
|
}
|
||||||
|
|
||||||
ApiAdapterFactory.getApiAdapter().configureSearchWidget(this, searchMenuItem, trackController);
|
@Override
|
||||||
|
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||||
boolean isGpsStarted = TrackRecordingServiceConnectionUtils.isRecordingServiceRunning(this);
|
boolean isGpsStarted = TrackRecordingServiceConnectionUtils.isRecordingServiceRunning(this);
|
||||||
boolean isRecording = recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
|
boolean isRecording = recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
|
||||||
updateMenuItems(isGpsStarted, isRecording);
|
updateMenuItems(isGpsStarted, isRecording);
|
||||||
return true;
|
return super.onPrepareOptionsMenu(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
Intent intent;
|
Intent intent;
|
||||||
|
|||||||
Reference in New Issue
Block a user