Let "when was I here" button query all device ids.
This commit is contained in:
parent
d5df922d3d
commit
70e6e64918
3 changed files with 24 additions and 8 deletions
|
@ -101,18 +101,33 @@ class Database(val trackbook: Trackbook)
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun select_trkpt_bounding_box(device_id: String, north: Double, south: Double, east: Double, west: Double, max_accuracy: Float=Keys.DEFAULT_MAX_ACCURACY): Iterator<Trkpt>
|
fun select_trkpt_bounding_box(device_id: String?, north: Double, south: Double, east: Double, west: Double, max_accuracy: Float=Keys.DEFAULT_MAX_ACCURACY): Iterator<Trkpt>
|
||||||
{
|
{
|
||||||
Log.i("VOUSSOIR", "Track.trkpt_generator: Querying points between $north, $south, $east, $west.")
|
Log.i("VOUSSOIR", "Track.trkpt_generator: Querying points between $north, $south, $east, $west.")
|
||||||
return _trkpt_generator(this.connection.rawQuery(
|
if (device_id == null)
|
||||||
"""
|
{
|
||||||
|
return _trkpt_generator(this.connection.rawQuery(
|
||||||
|
"""
|
||||||
|
SELECT device_id, lat, lon, time, provider, ele, accuracy, sat
|
||||||
|
FROM trkpt
|
||||||
|
WHERE lat >= ? AND lat <= ? AND lon >= ? AND lon <= ? AND accuracy <= ?
|
||||||
|
ORDER BY time ASC
|
||||||
|
""",
|
||||||
|
arrayOf(south.toString(), north.toString(), west.toString(), east.toString(), max_accuracy.toString())
|
||||||
|
))
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return _trkpt_generator(this.connection.rawQuery(
|
||||||
|
"""
|
||||||
SELECT device_id, lat, lon, time, provider, ele, accuracy, sat
|
SELECT device_id, lat, lon, time, provider, ele, accuracy, sat
|
||||||
FROM trkpt
|
FROM trkpt
|
||||||
WHERE device_id = ? AND lat >= ? AND lat <= ? AND lon >= ? AND lon <= ? AND accuracy <= ?
|
WHERE device_id = ? AND lat >= ? AND lat <= ? AND lon >= ? AND lon <= ? AND accuracy <= ?
|
||||||
ORDER BY time ASC
|
ORDER BY time ASC
|
||||||
""",
|
""",
|
||||||
arrayOf(device_id, south.toString(), north.toString(), west.toString(), east.toString(), max_accuracy.toString())
|
arrayOf(device_id, south.toString(), north.toString(), west.toString(), east.toString(), max_accuracy.toString())
|
||||||
))
|
))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun _trkpt_generator(cursor: Cursor) = iterator<Trkpt>
|
fun _trkpt_generator(cursor: Cursor) = iterator<Trkpt>
|
||||||
|
|
|
@ -32,7 +32,7 @@ import java.util.*
|
||||||
|
|
||||||
data class Track (
|
data class Track (
|
||||||
val database: Database,
|
val database: Database,
|
||||||
val device_id: String,
|
var device_id: String,
|
||||||
var name: String = "",
|
var name: String = "",
|
||||||
var _start_time: Long = 0L,
|
var _start_time: Long = 0L,
|
||||||
var _end_time: Long = 0L,
|
var _end_time: Long = 0L,
|
||||||
|
|
|
@ -323,8 +323,9 @@ class TrackFragment : Fragment(), MapListener, YesNoDialog.YesNoDialogListener
|
||||||
val polyline = selected.rendered_by_polyline
|
val polyline = selected.rendered_by_polyline
|
||||||
if (polyline != null)
|
if (polyline != null)
|
||||||
{
|
{
|
||||||
|
track.device_id = selected.device_id
|
||||||
track.load_trkpts(trackbook.database.select_trkpt_start_end(
|
track.load_trkpts(trackbook.database.select_trkpt_start_end(
|
||||||
track.device_id,
|
selected.device_id,
|
||||||
start_time=(polyline.actualPoints.first() as Trkpt).time,
|
start_time=(polyline.actualPoints.first() as Trkpt).time,
|
||||||
end_time=(polyline.actualPoints.last() as Trkpt).time,
|
end_time=(polyline.actualPoints.last() as Trkpt).time,
|
||||||
max_accuracy=PreferencesHelper.load_max_accuracy(),
|
max_accuracy=PreferencesHelper.load_max_accuracy(),
|
||||||
|
@ -342,7 +343,7 @@ class TrackFragment : Fragment(), MapListener, YesNoDialog.YesNoDialogListener
|
||||||
when_was_i_here_button.setOnClickListener {
|
when_was_i_here_button.setOnClickListener {
|
||||||
Log.i("VOUSSOIR", "when_was_i_here_button.")
|
Log.i("VOUSSOIR", "when_was_i_here_button.")
|
||||||
track.load_trkpts(trackbook.database.select_trkpt_bounding_box(
|
track.load_trkpts(trackbook.database.select_trkpt_bounding_box(
|
||||||
device_id=track.device_id,
|
device_id=null,
|
||||||
north=mapView.boundingBox.actualNorth,
|
north=mapView.boundingBox.actualNorth,
|
||||||
south=mapView.boundingBox.actualSouth,
|
south=mapView.boundingBox.actualSouth,
|
||||||
east=mapView.boundingBox.lonEast,
|
east=mapView.boundingBox.lonEast,
|
||||||
|
|
Loading…
Reference in a new issue