Dashboard API: check if parameters are present before forwarding them.

Part of #2030.
This commit is contained in:
Dennis Guse
2024-12-18 19:13:07 +01:00
parent fd9646bb1f
commit 26c660ec5b
2 changed files with 8 additions and 19 deletions
@@ -23,8 +23,11 @@ public class CreateMarkerActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Track.Id trackId = new Track.Id(getIntent().getLongExtra(EXTRA_TRACK_ID, 0L));
Track.Id trackId = new Track.Id(getIntent().getLongExtra(EXTRA_TRACK_ID, -1L));
Location location = getIntent().getParcelableExtra(EXTRA_LOCATION);
if (!getIntent().hasExtra(EXTRA_TRACK_ID) || location == null) {
throw new IllegalStateException("Parameter 'track_id' and/or 'location' missing or invalid.");
}
TrackRecordingServiceConnection.execute(this, (service, self) -> {
Intent intent = IntentUtils
@@ -1,30 +1,15 @@
package de.dennisguse.opentracks.publicapi;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.viewpager.widget.ViewPager;
import java.util.ArrayList;
import java.util.List;
import de.dennisguse.opentracks.AbstractActivity;
import de.dennisguse.opentracks.R;
import de.dennisguse.opentracks.data.ContentProviderUtils;
import de.dennisguse.opentracks.data.models.Marker;
import de.dennisguse.opentracks.databinding.MarkerDetailActivityBinding;
import de.dennisguse.opentracks.ui.markers.DeleteMarkerDialogFragment.DeleteMarkerCaller;
import de.dennisguse.opentracks.ui.markers.MarkerDetailActivity;
import de.dennisguse.opentracks.ui.markers.MarkerDetailFragment;
import de.dennisguse.opentracks.util.IntentUtils;
/**
@@ -44,10 +29,11 @@ public class ShowMarkerActivity extends AppCompatActivity {
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
Marker.Id markerId = new Marker.Id(getIntent().getLongExtra(EXTRA_MARKER_ID, 0));
if (markerId.id() == 0) {
throw new IllegalStateException("No valid markerId provided");
if (!getIntent().hasExtra(EXTRA_MARKER_ID)) {
throw new IllegalStateException("Parameter 'markerId' missing");
}
Marker.Id markerId = new Marker.Id(getIntent().getLongExtra(EXTRA_MARKER_ID, -1));
Intent intent = IntentUtils.newIntent(this, MarkerDetailActivity.class)
.putExtra(MarkerDetailActivity.EXTRA_MARKER_ID, markerId);
startActivity(intent);