forked from upstream-mirrors/OpenTracks
Do not allow editing "Shared with me" tracks.
Do not allow editing/deleting "Shared with me" markers.
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
package com.google.android.apps.mytracks;
|
package com.google.android.apps.mytracks;
|
||||||
|
|
||||||
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
|
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
|
||||||
|
import com.google.android.apps.mytracks.content.Track;
|
||||||
import com.google.android.apps.mytracks.content.Waypoint;
|
import com.google.android.apps.mytracks.content.Waypoint;
|
||||||
import com.google.android.apps.mytracks.content.Waypoint.WaypointType;
|
import com.google.android.apps.mytracks.content.Waypoint.WaypointType;
|
||||||
import com.google.android.apps.mytracks.fragments.DeleteOneMarkerDialogFragment;
|
import com.google.android.apps.mytracks.fragments.DeleteOneMarkerDialogFragment;
|
||||||
@@ -42,6 +43,7 @@ public class MarkerDetailActivity extends AbstractMyTracksActivity {
|
|||||||
public static final String EXTRA_MARKER_ID = "marker_id";
|
public static final String EXTRA_MARKER_ID = "marker_id";
|
||||||
private static final String TAG = MarkerDetailActivity.class.getSimpleName();
|
private static final String TAG = MarkerDetailActivity.class.getSimpleName();
|
||||||
|
|
||||||
|
private MyTracksProviderUtils myTracksProviderUtils;
|
||||||
private long markerId;
|
private long markerId;
|
||||||
private Waypoint waypoint;
|
private Waypoint waypoint;
|
||||||
|
|
||||||
@@ -53,6 +55,7 @@ public class MarkerDetailActivity extends AbstractMyTracksActivity {
|
|||||||
protected void onCreate(Bundle bundle) {
|
protected void onCreate(Bundle bundle) {
|
||||||
super.onCreate(bundle);
|
super.onCreate(bundle);
|
||||||
|
|
||||||
|
myTracksProviderUtils = MyTracksProviderUtils.Factory.get(this);
|
||||||
markerId = getIntent().getLongExtra(EXTRA_MARKER_ID, -1L);
|
markerId = getIntent().getLongExtra(EXTRA_MARKER_ID, -1L);
|
||||||
if (markerId == -1L) {
|
if (markerId == -1L) {
|
||||||
Log.d(TAG, "invalid marker id");
|
Log.d(TAG, "invalid marker id");
|
||||||
@@ -99,6 +102,10 @@ public class MarkerDetailActivity extends AbstractMyTracksActivity {
|
|||||||
@Override
|
@Override
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
getMenuInflater().inflate(R.menu.marker_detail, menu);
|
getMenuInflater().inflate(R.menu.marker_detail, menu);
|
||||||
|
|
||||||
|
Track track = myTracksProviderUtils.getTrack(waypoint.getTrackId());
|
||||||
|
menu.findItem(R.id.marker_detail_edit).setVisible(!track.isSharedWithMe());
|
||||||
|
menu.findItem(R.id.marker_detail_delete).setVisible(!track.isSharedWithMe());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
|
|||||||
private static final String CURRENT_TAB_TAG_KEY = "current_tab_tag_key";
|
private static final String CURRENT_TAB_TAG_KEY = "current_tab_tag_key";
|
||||||
|
|
||||||
// The following are set in onCreate
|
// The following are set in onCreate
|
||||||
|
private MyTracksProviderUtils myTracksProviderUtils;
|
||||||
private SharedPreferences sharedPreferences;
|
private SharedPreferences sharedPreferences;
|
||||||
private TrackRecordingServiceConnection trackRecordingServiceConnection;
|
private TrackRecordingServiceConnection trackRecordingServiceConnection;
|
||||||
private TrackDataHub trackDataHub;
|
private TrackDataHub trackDataHub;
|
||||||
@@ -184,6 +185,7 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
handleIntent(getIntent());
|
handleIntent(getIntent());
|
||||||
|
|
||||||
|
myTracksProviderUtils = MyTracksProviderUtils.Factory.get(this);
|
||||||
sharedPreferences = getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
|
sharedPreferences = getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
|
||||||
|
|
||||||
trackRecordingServiceConnection = new TrackRecordingServiceConnection(
|
trackRecordingServiceConnection = new TrackRecordingServiceConnection(
|
||||||
@@ -292,7 +294,10 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
|
|||||||
.setTitle(getString(R.string.menu_save_format, fileTypes[2]));
|
.setTitle(getString(R.string.menu_save_format, fileTypes[2]));
|
||||||
menu.findItem(R.id.track_detail_save_tcx)
|
menu.findItem(R.id.track_detail_save_tcx)
|
||||||
.setTitle(getString(R.string.menu_save_format, fileTypes[3]));
|
.setTitle(getString(R.string.menu_save_format, fileTypes[3]));
|
||||||
|
|
||||||
|
Track track = myTracksProviderUtils.getTrack(trackId);
|
||||||
|
menu.findItem(R.id.track_detail_edit).setVisible(!track.isSharedWithMe());
|
||||||
|
|
||||||
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 = menu.findItem(R.id.track_detail_share);
|
||||||
@@ -466,7 +471,7 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
|
|||||||
trackId = intent.getLongExtra(EXTRA_TRACK_ID, -1L);
|
trackId = intent.getLongExtra(EXTRA_TRACK_ID, -1L);
|
||||||
markerId = intent.getLongExtra(EXTRA_MARKER_ID, -1L);
|
markerId = intent.getLongExtra(EXTRA_MARKER_ID, -1L);
|
||||||
if (markerId != -1L) {
|
if (markerId != -1L) {
|
||||||
Waypoint waypoint = MyTracksProviderUtils.Factory.get(this).getWaypoint(markerId);
|
Waypoint waypoint = myTracksProviderUtils.getWaypoint(markerId);
|
||||||
if (waypoint == null) {
|
if (waypoint == null) {
|
||||||
exit();
|
exit();
|
||||||
return;
|
return;
|
||||||
@@ -539,7 +544,7 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
|
|||||||
if (isRecording) {
|
if (isRecording) {
|
||||||
title = getString(isPaused ? R.string.generic_paused : R.string.generic_recording);
|
title = getString(isPaused ? R.string.generic_paused : R.string.generic_recording);
|
||||||
} else {
|
} else {
|
||||||
Track track = MyTracksProviderUtils.Factory.get(this).getTrack(trackId);
|
Track track = myTracksProviderUtils.getTrack(trackId);
|
||||||
title = track != null ? track.getName() : getString(R.string.my_tracks_app_name);
|
title = track != null ? track.getName() : getString(R.string.my_tracks_app_name);
|
||||||
}
|
}
|
||||||
setTitle(title);
|
setTitle(title);
|
||||||
|
|||||||
Reference in New Issue
Block a user