mirror of
https://codeberg.org/OpenTracksApp/OpenTracks.git
synced 2026-10-02 09:33:06 +02:00
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;
|
||||
|
||||
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.WaypointType;
|
||||
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";
|
||||
private static final String TAG = MarkerDetailActivity.class.getSimpleName();
|
||||
|
||||
private MyTracksProviderUtils myTracksProviderUtils;
|
||||
private long markerId;
|
||||
private Waypoint waypoint;
|
||||
|
||||
@@ -53,6 +55,7 @@ public class MarkerDetailActivity extends AbstractMyTracksActivity {
|
||||
protected void onCreate(Bundle bundle) {
|
||||
super.onCreate(bundle);
|
||||
|
||||
myTracksProviderUtils = MyTracksProviderUtils.Factory.get(this);
|
||||
markerId = getIntent().getLongExtra(EXTRA_MARKER_ID, -1L);
|
||||
if (markerId == -1L) {
|
||||
Log.d(TAG, "invalid marker id");
|
||||
@@ -99,6 +102,10 @@ public class MarkerDetailActivity extends AbstractMyTracksActivity {
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu 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;
|
||||
}
|
||||
|
||||
|
||||
@@ -79,6 +79,7 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
|
||||
private static final String CURRENT_TAB_TAG_KEY = "current_tab_tag_key";
|
||||
|
||||
// The following are set in onCreate
|
||||
private MyTracksProviderUtils myTracksProviderUtils;
|
||||
private SharedPreferences sharedPreferences;
|
||||
private TrackRecordingServiceConnection trackRecordingServiceConnection;
|
||||
private TrackDataHub trackDataHub;
|
||||
@@ -184,6 +185,7 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
|
||||
super.onCreate(savedInstanceState);
|
||||
handleIntent(getIntent());
|
||||
|
||||
myTracksProviderUtils = MyTracksProviderUtils.Factory.get(this);
|
||||
sharedPreferences = getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
|
||||
|
||||
trackRecordingServiceConnection = new TrackRecordingServiceConnection(
|
||||
@@ -292,7 +294,10 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
|
||||
.setTitle(getString(R.string.menu_save_format, fileTypes[2]));
|
||||
menu.findItem(R.id.track_detail_save_tcx)
|
||||
.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);
|
||||
playMenuItem = menu.findItem(R.id.track_detail_play);
|
||||
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);
|
||||
markerId = intent.getLongExtra(EXTRA_MARKER_ID, -1L);
|
||||
if (markerId != -1L) {
|
||||
Waypoint waypoint = MyTracksProviderUtils.Factory.get(this).getWaypoint(markerId);
|
||||
Waypoint waypoint = myTracksProviderUtils.getWaypoint(markerId);
|
||||
if (waypoint == null) {
|
||||
exit();
|
||||
return;
|
||||
@@ -539,7 +544,7 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del
|
||||
if (isRecording) {
|
||||
title = getString(isPaused ? R.string.generic_paused : R.string.generic_recording);
|
||||
} 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);
|
||||
}
|
||||
setTitle(title);
|
||||
|
||||
Reference in New Issue
Block a user