EditTrackRepositoryImpl

class EditTrackRepositoryImpl @Inject constructor(dao: TrackDao) : EditTrackRepository

Implementation of the EditTrackRepository interface. This repository handles data operations related to tracks and waypoints, using the TrackDao to access the local database.

The class is injectable via Dagger/Hilt with @Inject constructor.

Constructors

Link copied to clipboard
@Inject
constructor(dao: TrackDao)

Properties

Link copied to clipboard
open override val addedTracks: Flow<Pair<Int, Boolean>>

Functions

Link copied to clipboard
open suspend override fun addImportedTrack(trackId: Int, center: Boolean): Boolean

Add an imported track to the database.

Link copied to clipboard
open suspend override fun addWaypoint(waypoint: Waypoint, updateUI: Boolean)

Add a waypoint to the database. Converts the domain model Waypoint to a database entity and inserts it.

Link copied to clipboard
open suspend override fun addWaypoints(waypoints: List<Waypoint>)

Add a list of waypoints to the database. Converts the domain model Waypoint to a database entity and inserts it.

Link copied to clipboard
open suspend override fun changeTrackId(fromTrackId: Int, toTrackId: Int)
Link copied to clipboard
open suspend override fun clearAll()

Clear all tracks and waypoints from the database.

Link copied to clipboard
open suspend override fun deleteSegment(trackId: Int, startId: Double, endId: Double)
Link copied to clipboard
open suspend override fun deleteWaypoint(trackId: Int, id: Double)
Link copied to clipboard
open suspend override fun getFullTrack(trackId: Int): Track?
Link copied to clipboard
open suspend override fun getIntervalSize(trackId: Int): Int
open suspend override fun getIntervalSize(trackId: Int, p1: Double, p2: Double): Int
Link copied to clipboard
open suspend override fun getTrackFirstWaypointId(trackId: Int): Double?
Link copied to clipboard
open suspend override fun getTrackIds(): List<Int>
Link copied to clipboard
open suspend override fun getTrackIdsWithVisibleWaypoints(latNorth: Double, latSouth: Double, lonWest: Double, lonEast: Double): List<Int>
Link copied to clipboard
open suspend override fun getTrackLastWaypointId(trackId: Int): Double?
Link copied to clipboard
open suspend override fun getTracksWithVisibleWaypoints(latNorth: Double, latSouth: Double, lonWest: Double, lonEast: Double): List<Pair<Int, List<Waypoint>>>
Link copied to clipboard
open suspend override fun getTracksWithVisibleWaypointsCount(latNorth: Double, latSouth: Double, lonWest: Double, lonEast: Double): Double
Link copied to clipboard
open suspend override fun getTrackWaypoints(trackId: Int): List<Waypoint>

Retrieve all waypoints belonging to a specific track.

Link copied to clipboard
open suspend override fun getTrackWaypointsChunk(trackId: Int, chunkSize: Int, offset: Int): List<Waypoint>
Link copied to clipboard
open suspend override fun getTrackWaypointsSample(trackId: Int, sampleRate: Int): List<Waypoint>
Link copied to clipboard
open suspend override fun getVisibleTrackWaypoints(trackId: Int, latNorth: Double, latSouth: Double, lonWest: Double, lonEast: Double): List<Waypoint>
Link copied to clipboard
open suspend override fun getVisibleTrackWaypointsChunk(trackId: Int, latNorth: Double, latSouth: Double, lonWest: Double, lonEast: Double, chunkSize: Int, offset: Int): List<Waypoint>
Link copied to clipboard
open suspend override fun getVisibleTrackWaypointsCount(trackId: Int, latNorth: Double, latSouth: Double, lonWest: Double, lonEast: Double): Double
Link copied to clipboard
open suspend override fun getWaypoint(trackId: Int, index: Int): Waypoint?
Link copied to clipboard
open suspend override fun getWaypointIndex(trackId: Int, id: Double): Int?
Link copied to clipboard
open suspend override fun getWaypoints(): List<Waypoint>

Retrieve all waypoints from the database. Converts database entities back to domain models.

Link copied to clipboard
open suspend override fun insertTrack(track: TrackEntity): Long

Insert a new Track entity into the database.

Link copied to clipboard
open suspend override fun removeTrack(trackId: Int)
Link copied to clipboard
open suspend override fun removeWaypointsByStep(trackId: Int, step: Int)
open suspend override fun removeWaypointsByStep(trackId: Int, step: Int, p1: Double, p2: Double)
Link copied to clipboard
open suspend override fun renumberTrack(trackId: Int, newStart: Double, descending: Boolean, indexDescending: Boolean)
Link copied to clipboard
open suspend override fun reverseTrack(trackId: Int)
open suspend override fun reverseTrack(trackId: Int, p1: Double, p2: Double)