Add isolate_trkseg_button.
This commit is contained in:
parent
5008cea165
commit
bb0e544553
2 changed files with 57 additions and 5 deletions
|
@ -86,6 +86,7 @@ class TrackFragment : Fragment(), MapListener, YesNoDialog.YesNoDialogListener
|
|||
private lateinit var datepicker_changed_listener: DatePicker.OnDateChangedListener
|
||||
private lateinit var timepicker_changed_listener: TimePicker.OnTimeChangedListener
|
||||
lateinit var delete_selected_trkpt_button: ImageButton
|
||||
lateinit var isolate_trkseg_button: ImageButton
|
||||
lateinit var when_was_i_here_button: ImageButton
|
||||
var track_query_start_time_previous: Int = 0
|
||||
var track_query_end_time_previous: Int = 0
|
||||
|
@ -228,22 +229,40 @@ class TrackFragment : Fragment(), MapListener, YesNoDialog.YesNoDialogListener
|
|||
delete_selected_trkpt_button = rootView.findViewById(R.id.delete_selected_trkpt_button)
|
||||
delete_selected_trkpt_button.setOnClickListener {
|
||||
Log.i("VOUSSOIR", "delete selected trkpt button.")
|
||||
if (track_points_overlay != null)
|
||||
if (track_points_overlay != null && track_points_overlay!!.selectedPoint != null)
|
||||
{
|
||||
val selected = (track_geopoints[track_points_overlay!!.selectedPoint] as Trkpt)
|
||||
track_geopoints.remove(selected)
|
||||
track_points_overlay!!.selectedPoint = null
|
||||
Log.i("VOUSSOIR", selected.rendered_by_polyline?.actualPoints?.size.toString())
|
||||
selected.rendered_by_polyline?.actualPoints?.remove(selected)
|
||||
Log.i("VOUSSOIR", selected.rendered_by_polyline?.actualPoints?.size.toString())
|
||||
selected.rendered_by_polyline?.setPoints(ArrayList(selected.rendered_by_polyline?.actualPoints))
|
||||
Log.i("VOUSSOIR", selected.rendered_by_polyline?.actualPoints?.size.toString())
|
||||
trackbook.database.delete_trkpt(selected.device_id, selected.time)
|
||||
delete_selected_trkpt_button.visibility = View.GONE
|
||||
selected_trkpt_info.text = ""
|
||||
deselect_trkpt()
|
||||
mapView.invalidate()
|
||||
}
|
||||
}
|
||||
|
||||
isolate_trkseg_button = rootView.findViewById(R.id.isolate_trkseg_button)
|
||||
isolate_trkseg_button.setOnClickListener {
|
||||
Log.i("VOUSSOIR", "isolate selected trkseg button.")
|
||||
if (track_points_overlay != null && track_points_overlay!!.selectedPoint != null)
|
||||
{
|
||||
val selected = (track_geopoints[track_points_overlay!!.selectedPoint] as Trkpt)
|
||||
val polyline = selected.rendered_by_polyline
|
||||
if (polyline != null)
|
||||
{
|
||||
track.load_trkpts(trackbook.database.select_trkpt_start_end(
|
||||
track.device_id,
|
||||
(polyline.actualPoints.first() as Trkpt).time,
|
||||
(polyline.actualPoints.last() as Trkpt).time,
|
||||
))
|
||||
render_track()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
when_was_i_here_button = rootView.findViewById(R.id.when_was_i_here_button)
|
||||
when_was_i_here_button.setOnClickListener {
|
||||
Log.i("VOUSSOIR", "when_was_i_here_button.")
|
||||
|
@ -293,13 +312,24 @@ class TrackFragment : Fragment(), MapListener, YesNoDialog.YesNoDialogListener
|
|||
super.onResume()
|
||||
}
|
||||
|
||||
fun deselect_trkpt()
|
||||
{
|
||||
if (track_points_overlay != null)
|
||||
{
|
||||
track_points_overlay!!.selectedPoint = null
|
||||
}
|
||||
delete_selected_trkpt_button.visibility = View.GONE
|
||||
isolate_trkseg_button.visibility = View.GONE
|
||||
selected_trkpt_info.text = ""
|
||||
}
|
||||
|
||||
fun render_track()
|
||||
{
|
||||
Log.i("VOUSSOIR", "TrackFragment.render_track")
|
||||
mapView.invalidate()
|
||||
mapView.overlays.clear()
|
||||
track_segment_overlays.clear()
|
||||
delete_selected_trkpt_button.visibility = View.GONE
|
||||
deselect_trkpt()
|
||||
|
||||
setupStatisticsViews()
|
||||
|
||||
|
@ -349,10 +379,19 @@ class TrackFragment : Fragment(), MapListener, YesNoDialog.YesNoDialogListener
|
|||
{
|
||||
return
|
||||
}
|
||||
if (mapView.zoomLevelDouble < 16)
|
||||
{
|
||||
deselect_trkpt()
|
||||
return
|
||||
}
|
||||
val trkpt = (points[point]) as Trkpt
|
||||
Log.i("VOUSSOIR", "Clicked ${trkpt.device_id} ${trkpt.time}")
|
||||
selected_trkpt_info.text = "${trkpt.time}\n${iso8601_local(trkpt.time)}\n${trkpt.latitude}\n${trkpt.longitude}"
|
||||
delete_selected_trkpt_button.visibility = View.VISIBLE
|
||||
if (track_segment_overlays.size > 1)
|
||||
{
|
||||
isolate_trkseg_button.visibility = View.VISIBLE
|
||||
}
|
||||
return
|
||||
}
|
||||
})
|
||||
|
|
|
@ -34,6 +34,19 @@
|
|||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:srcCompat="@drawable/ic_delete_24dp" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/isolate_trkseg_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="Isolate track segment"
|
||||
android:src="@drawable/ic_timeline_24dp"
|
||||
android:tooltipText="Isolate track segment"
|
||||
android:visibility="gone"
|
||||
app:backgroundTint="@color/default_transparent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/delete_selected_trkpt_button"
|
||||
app:srcCompat="@drawable/ic_timeline_24dp" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/when_was_i_here_button"
|
||||
android:layout_width="wrap_content"
|
||||
|
|
Loading…
Reference in a new issue