checkpoint
This commit is contained in:
parent
63d2b073d2
commit
2c33cc88f7
16 changed files with 27 additions and 144 deletions
|
@ -18,8 +18,6 @@ package org.y20k.trackbook
|
|||
|
||||
import android.Manifest
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.SharedPreferences
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Build
|
||||
|
@ -28,19 +26,16 @@ import android.os.StrictMode
|
|||
import android.os.StrictMode.VmPolicy
|
||||
import android.util.Log
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.app.ActivityCompat
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
import androidx.navigation.ui.setupWithNavController
|
||||
import com.google.android.material.bottomnavigation.BottomNavigationView
|
||||
import org.osmdroid.config.Configuration
|
||||
import org.y20k.trackbook.helpers.AppThemeHelper
|
||||
import org.y20k.trackbook.helpers.LogHelper
|
||||
import org.y20k.trackbook.helpers.PreferencesHelper
|
||||
|
||||
class MainActivity: AppCompatActivity()
|
||||
{
|
||||
/* Main class variables */
|
||||
lateinit var trackbook: Trackbook
|
||||
private lateinit var navHostFragment: NavHostFragment
|
||||
private lateinit var bottomNavigationView: BottomNavigationView
|
||||
|
@ -118,7 +113,7 @@ class MainActivity: AppCompatActivity()
|
|||
permissions_needed.add(permission)
|
||||
}
|
||||
}
|
||||
val result = requestPermissions(permissions_wanted, 1);
|
||||
val result = requestPermissions(permissions_wanted, 1)
|
||||
Log.i("VOUSSOIR", "Permissions result " + result)
|
||||
}
|
||||
|
||||
|
|
|
@ -156,7 +156,7 @@ class MapFragment : Fragment()
|
|||
val compassOverlay = CompassOverlay(requireContext(), InternalCompassOrientationProvider(requireContext()), mapView)
|
||||
compassOverlay.enableCompass()
|
||||
// compassOverlay.setCompassCenter(36f, 36f + (statusBarHeight / densityScalingFactor)) // TODO uncomment when transparent status bar is re-implemented
|
||||
val screen_width = Resources.getSystem().displayMetrics.widthPixels;
|
||||
val screen_width = Resources.getSystem().displayMetrics.widthPixels
|
||||
compassOverlay.setCompassCenter((screen_width / densityScalingFactor) - 36f, 36f)
|
||||
mapView.overlays.add(compassOverlay)
|
||||
|
||||
|
@ -416,7 +416,7 @@ class MapFragment : Fragment()
|
|||
mapView.overlays.remove(ov)
|
||||
}
|
||||
}
|
||||
current_position_overlays.clear();
|
||||
current_position_overlays.clear()
|
||||
}
|
||||
|
||||
/* Mark current position on map */
|
||||
|
@ -483,7 +483,7 @@ class MapFragment : Fragment()
|
|||
mapView.overlays.remove(ov)
|
||||
}
|
||||
}
|
||||
homepoints_overlays.clear();
|
||||
homepoints_overlays.clear()
|
||||
}
|
||||
|
||||
fun create_homepoint_overlays(context: Context, map_view: MapView, homepoints: List<Homepoint>)
|
||||
|
@ -629,8 +629,8 @@ class MapFragment : Fragment()
|
|||
}
|
||||
|
||||
private val periodicLocationRequestRunnable: Runnable = object : Runnable {
|
||||
override fun run() {
|
||||
// pull current state from service
|
||||
override fun run()
|
||||
{
|
||||
currentBestLocation = trackerService.currentBestLocation
|
||||
track = trackerService.track
|
||||
gpsProviderActive = trackerService.gpsProviderActive
|
||||
|
@ -644,9 +644,6 @@ class MapFragment : Fragment()
|
|||
{
|
||||
centerMap(currentBestLocation, true)
|
||||
}
|
||||
// show error snackbar if necessary
|
||||
// toggleLocationErrorBar(gpsProviderActive, networkProviderActive)
|
||||
// use the handler to start runnable again after specified delay
|
||||
handler.postDelayed(this, Keys.REQUEST_CURRENT_LOCATION_INTERVAL)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -67,12 +67,12 @@ class SettingsFragment : PreferenceFragmentCompat(), YesNoDialog.YesNoDialogList
|
|||
val context = preferenceManager.context
|
||||
val screen = preferenceManager.createPreferenceScreen(context)
|
||||
|
||||
val preferenceCategoryGeneral: PreferenceCategory = PreferenceCategory(activity as Context)
|
||||
val preferenceCategoryGeneral = PreferenceCategory(activity as Context)
|
||||
preferenceCategoryGeneral.title = getString(R.string.pref_general_title)
|
||||
screen.addPreference(preferenceCategoryGeneral)
|
||||
|
||||
// set up "Restrict to GPS" preference
|
||||
val preferenceGpsOnly: SwitchPreferenceCompat = SwitchPreferenceCompat(activity as Context)
|
||||
val preferenceGpsOnly = SwitchPreferenceCompat(activity as Context)
|
||||
preferenceGpsOnly.isSingleLineTitle = false
|
||||
preferenceGpsOnly.title = getString(R.string.pref_gps_only_title)
|
||||
preferenceGpsOnly.setIcon(R.drawable.ic_gps_24dp)
|
||||
|
@ -84,7 +84,7 @@ class SettingsFragment : PreferenceFragmentCompat(), YesNoDialog.YesNoDialogList
|
|||
screen.addPreference(preferenceGpsOnly)
|
||||
|
||||
// set up "Use Imperial Measurements" preference
|
||||
val preferenceImperialMeasurementUnits: SwitchPreferenceCompat = SwitchPreferenceCompat(activity as Context)
|
||||
val preferenceImperialMeasurementUnits = SwitchPreferenceCompat(activity as Context)
|
||||
preferenceImperialMeasurementUnits.isSingleLineTitle = false
|
||||
preferenceImperialMeasurementUnits.title = getString(R.string.pref_imperial_measurement_units_title)
|
||||
preferenceImperialMeasurementUnits.setIcon(R.drawable.ic_square_foot_24px)
|
||||
|
@ -96,7 +96,7 @@ class SettingsFragment : PreferenceFragmentCompat(), YesNoDialog.YesNoDialogList
|
|||
screen.addPreference(preferenceImperialMeasurementUnits)
|
||||
|
||||
// set up "App Theme" preference
|
||||
val preferenceThemeSelection: ListPreference = ListPreference(activity as Context)
|
||||
val preferenceThemeSelection = ListPreference(activity as Context)
|
||||
preferenceThemeSelection.title = getString(R.string.pref_theme_selection_title)
|
||||
preferenceThemeSelection.setIcon(R.drawable.ic_smartphone_24dp)
|
||||
preferenceThemeSelection.key = Keys.PREF_THEME_SELECTION
|
||||
|
@ -115,7 +115,7 @@ class SettingsFragment : PreferenceFragmentCompat(), YesNoDialog.YesNoDialogList
|
|||
screen.addPreference(preferenceThemeSelection)
|
||||
|
||||
// set up "Recording Accuracy" preference
|
||||
val preferenceOmitRests: SwitchPreferenceCompat = SwitchPreferenceCompat(activity as Context)
|
||||
val preferenceOmitRests = SwitchPreferenceCompat(activity as Context)
|
||||
preferenceOmitRests.isSingleLineTitle = false
|
||||
preferenceOmitRests.title = getString(R.string.pref_omit_rests_title)
|
||||
preferenceOmitRests.setIcon(R.drawable.ic_timeline_24dp)
|
||||
|
@ -126,7 +126,7 @@ class SettingsFragment : PreferenceFragmentCompat(), YesNoDialog.YesNoDialogList
|
|||
preferenceCategoryGeneral.contains(preferenceOmitRests)
|
||||
screen.addPreference(preferenceOmitRests)
|
||||
|
||||
val preferenceDeviceID: EditTextPreference = EditTextPreference(activity as Context)
|
||||
val preferenceDeviceID = EditTextPreference(activity as Context)
|
||||
preferenceDeviceID.title = getString(R.string.pref_device_id)
|
||||
preferenceDeviceID.setIcon(R.drawable.ic_smartphone_24dp)
|
||||
preferenceDeviceID.key = Keys.PREF_DEVICE_ID
|
||||
|
@ -139,7 +139,7 @@ class SettingsFragment : PreferenceFragmentCompat(), YesNoDialog.YesNoDialogList
|
|||
preferenceCategoryGeneral.contains(preferenceDeviceID)
|
||||
screen.addPreference(preferenceDeviceID)
|
||||
|
||||
val preferenceDatabaseFolder: Preference = Preference(context)
|
||||
val preferenceDatabaseFolder = Preference(context)
|
||||
var resultLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
|
||||
Log.i("VOUSSOIR", "I'm not dead yet.")
|
||||
if (result.resultCode != Activity.RESULT_OK)
|
||||
|
@ -182,12 +182,12 @@ class SettingsFragment : PreferenceFragmentCompat(), YesNoDialog.YesNoDialogList
|
|||
preferenceCategoryGeneral.contains(preferenceDatabaseFolder)
|
||||
screen.addPreference(preferenceDatabaseFolder)
|
||||
|
||||
val preferenceCategoryAbout: PreferenceCategory = PreferenceCategory(context)
|
||||
val preferenceCategoryAbout = PreferenceCategory(context)
|
||||
preferenceCategoryAbout.title = getString(R.string.pref_about_title)
|
||||
screen.addPreference(preferenceCategoryAbout)
|
||||
|
||||
// set up "App Version" preference
|
||||
val preferenceAppVersion: Preference = Preference(context)
|
||||
val preferenceAppVersion = Preference(context)
|
||||
preferenceAppVersion.title = getString(R.string.pref_app_version_title)
|
||||
preferenceAppVersion.setIcon(R.drawable.ic_info_24dp)
|
||||
preferenceAppVersion.summary = getString(R.string.pref_app_version_summary)
|
||||
|
|
|
@ -47,13 +47,6 @@ data class Track (
|
|||
Log.i("VOUSSOIR", "Track.delete.")
|
||||
}
|
||||
|
||||
suspend fun delete_suspended(context: Context)
|
||||
{
|
||||
return suspendCoroutine { cont ->
|
||||
cont.resume(this.delete())
|
||||
}
|
||||
}
|
||||
|
||||
fun export_gpx(context: Context, fileuri: Uri): Uri?
|
||||
{
|
||||
if (! database.ready)
|
||||
|
@ -205,7 +198,7 @@ data class Track (
|
|||
}
|
||||
finally
|
||||
{
|
||||
cursor.close();
|
||||
cursor.close()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@ class TrackFragment : Fragment(), RenameTrackDialog.RenameTrackListener, YesNoDi
|
|||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
|
||||
// initialize layout
|
||||
val database: Database = (requireActivity().applicationContext as Trackbook).database
|
||||
val track: Track = Track(
|
||||
val track = Track(
|
||||
database=database,
|
||||
name=this.requireArguments().getString(Keys.ARG_TRACK_TITLE, ""),
|
||||
device_id= this.requireArguments().getString(Keys.ARG_TRACK_DEVICE_ID, ""),
|
||||
|
@ -64,7 +64,7 @@ class TrackFragment : Fragment(), RenameTrackDialog.RenameTrackListener, YesNoDi
|
|||
}
|
||||
// set up delete button
|
||||
layout.deleteButton.setOnClickListener {
|
||||
val dialogMessage: String = "${getString(R.string.dialog_yes_no_message_delete_recording)}\n\n- ${layout.trackNameView.text}"
|
||||
val dialogMessage = "${getString(R.string.dialog_yes_no_message_delete_recording)}\n\n- ${layout.trackNameView.text}"
|
||||
YesNoDialog(this@TrackFragment as YesNoDialog.YesNoDialogListener).show(
|
||||
context = activity as Context,
|
||||
type = Keys.DIALOG_DELETE_TRACK,
|
||||
|
@ -86,14 +86,6 @@ class TrackFragment : Fragment(), RenameTrackDialog.RenameTrackListener, YesNoDi
|
|||
super.onResume()
|
||||
}
|
||||
|
||||
/* Overrides onPause from Fragment */
|
||||
override fun onPause()
|
||||
{
|
||||
super.onPause()
|
||||
// save zoom level and map center
|
||||
layout.saveViewStateToTrack()
|
||||
}
|
||||
|
||||
/* Register the ActivityResultLauncher for saving GPX */
|
||||
private val requestSaveGpxLauncher = registerForActivityResult(StartActivityForResult(), this::requestSaveGpxResult)
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ interface DatabaseChangedListener
|
|||
fun database_changed()
|
||||
}
|
||||
|
||||
class Trackbook(): Application() {
|
||||
class Trackbook : Application() {
|
||||
val database: Database = Database(this)
|
||||
val homepoints: ArrayList<Homepoint> = ArrayList()
|
||||
val database_changed_listeners = ArrayList<DatabaseChangedListener>()
|
||||
|
@ -77,7 +77,7 @@ class Trackbook(): Application() {
|
|||
this.database.ready = false
|
||||
return
|
||||
}
|
||||
if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)
|
||||
if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)
|
||||
{
|
||||
this.database.connect(File(folder + "/trkpt_${PreferencesHelper.load_device_id()}.db"))
|
||||
this.load_homepoints()
|
||||
|
@ -129,7 +129,7 @@ class Trackbook(): Application() {
|
|||
}
|
||||
finally
|
||||
{
|
||||
cursor.close();
|
||||
cursor.close()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -28,11 +28,8 @@ import org.y20k.trackbook.helpers.PreferencesHelper
|
|||
/*
|
||||
* TrackingToggleTileService class
|
||||
*/
|
||||
class TrackingToggleTileService: TileService() {
|
||||
|
||||
/* Define log tag */
|
||||
private val TAG: String = LogHelper.makeLogTag(TrackingToggleTileService::class.java)
|
||||
|
||||
class TrackingToggleTileService: TileService()
|
||||
{
|
||||
/* Main class variables */
|
||||
private var bound: Boolean = false
|
||||
private var trackingState: Int = Keys.STATE_TRACKING_STOPPED
|
||||
|
|
|
@ -23,7 +23,6 @@ import android.view.LayoutInflater
|
|||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.net.toUri
|
||||
import androidx.core.os.bundleOf
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
|
|
|
@ -18,11 +18,7 @@ package org.y20k.trackbook
|
|||
|
||||
import android.location.Location
|
||||
import org.y20k.trackbook.helpers.getNumberOfSatellites
|
||||
import java.util.*
|
||||
|
||||
/*
|
||||
* WayPoint data class
|
||||
*/
|
||||
data class Trkpt(
|
||||
val provider: String,
|
||||
val latitude: Double,
|
||||
|
@ -34,7 +30,6 @@ data class Trkpt(
|
|||
var starred: Boolean = false
|
||||
)
|
||||
{
|
||||
/* Constructor using just Location */
|
||||
constructor(location: Location) : this (
|
||||
provider=location.provider.toString(),
|
||||
latitude=location.latitude,
|
||||
|
@ -45,7 +40,6 @@ data class Trkpt(
|
|||
numberSatellites=getNumberOfSatellites(location),
|
||||
)
|
||||
|
||||
/* Converts WayPoint into Location */
|
||||
fun toLocation(): Location {
|
||||
val location = Location(provider)
|
||||
location.latitude = latitude
|
||||
|
@ -55,5 +49,4 @@ data class Trkpt(
|
|||
location.time = this.time
|
||||
return location
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -105,5 +105,4 @@ object DateTimeHelper {
|
|||
}
|
||||
return timeDifference
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ import kotlin.math.pow
|
|||
/* Get default location */
|
||||
fun getDefaultLocation(): Location
|
||||
{
|
||||
val defaultLocation: Location = Location(LocationManager.NETWORK_PROVIDER)
|
||||
val defaultLocation = Location(LocationManager.NETWORK_PROVIDER)
|
||||
defaultLocation.latitude = Keys.DEFAULT_LATITUDE
|
||||
defaultLocation.longitude = Keys.DEFAULT_LONGITUDE
|
||||
defaultLocation.accuracy = Keys.DEFAULT_ACCURACY
|
||||
|
@ -125,7 +125,6 @@ fun isNetworkEnabled(locationManager: LocationManager): Boolean
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/* Checks if given location is new */
|
||||
fun isRecentEnough(location: Location): Boolean
|
||||
{
|
||||
|
@ -186,4 +185,4 @@ fun getNumberOfSatellites(location: Location): Int
|
|||
numberOfSatellites = 0
|
||||
}
|
||||
return numberOfSatellites
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,19 +17,13 @@
|
|||
package org.y20k.trackbook.helpers
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.graphics.Paint
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.location.Location
|
||||
import android.os.Vibrator
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.core.content.ContextCompat
|
||||
import org.osmdroid.api.IGeoPoint
|
||||
import org.osmdroid.util.GeoPoint
|
||||
import org.osmdroid.views.MapView
|
||||
import org.osmdroid.views.overlay.ItemizedIconOverlay
|
||||
import org.osmdroid.views.overlay.MapEventsOverlay
|
||||
import org.osmdroid.views.overlay.OverlayItem
|
||||
import org.osmdroid.views.overlay.simplefastpoint.LabelledGeoPoint
|
||||
import org.osmdroid.views.overlay.simplefastpoint.SimpleFastPointOverlay
|
||||
|
@ -43,7 +37,6 @@ import java.text.DecimalFormat
|
|||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
|
||||
|
||||
/* Creates icon overlay for track */
|
||||
fun createTrackOverlay(context: Context, map_view: MapView, track: Track, trackingState: Int)
|
||||
{
|
||||
|
|
|
@ -34,43 +34,6 @@ import org.y20k.trackbook.tracklist.TracklistAdapter
|
|||
* UiHelper object
|
||||
*/
|
||||
object UiHelper {
|
||||
|
||||
/* Define log tag */
|
||||
private val TAG: String = LogHelper.makeLogTag(UiHelper::class.java)
|
||||
|
||||
/* Sets layout margins for given view in DP */
|
||||
fun setViewMargins(context: Context, view: View, left: Int = 0, right: Int = 0, top: Int= 0, bottom: Int = 0) {
|
||||
val scalingFactor: Float = context.resources.displayMetrics.density
|
||||
val l: Int = (left * scalingFactor).toInt()
|
||||
val r: Int = (right * scalingFactor).toInt()
|
||||
val t: Int = (top * scalingFactor).toInt()
|
||||
val b: Int = (bottom * scalingFactor).toInt()
|
||||
if (view.layoutParams is ViewGroup.MarginLayoutParams) {
|
||||
val p = view.layoutParams as ViewGroup.MarginLayoutParams
|
||||
p.setMargins(l, t, r, b)
|
||||
view.requestLayout()
|
||||
}
|
||||
}
|
||||
|
||||
/* Sets layout margins for given view in percent */
|
||||
fun setViewMarginsPercentage(context: Context, view: View, height: Int, width: Int, left: Int = 0, right: Int = 0, top: Int= 0, bottom: Int = 0) {
|
||||
val l: Int = ((width / 100.0f) * left).toInt()
|
||||
val r: Int = ((width / 100.0f) * right).toInt()
|
||||
val t: Int = ((height / 100.0f) * top).toInt()
|
||||
val b: Int = ((height / 100.0f) * bottom).toInt()
|
||||
setViewMargins(context, view, l, r, t, b)
|
||||
}
|
||||
|
||||
/* Get the height of the system's top status bar */
|
||||
fun getStatusBarHeight(context: Context): Int {
|
||||
var result: Int = 0
|
||||
val resourceId: Int = context.resources.getIdentifier("status_bar_height", "dimen", "android")
|
||||
if (resourceId > 0) {
|
||||
result = context.resources.getDimensionPixelSize(resourceId)
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
/* Get scaling factor from display density */
|
||||
fun getDensityScalingFactor(context: Context): Float {
|
||||
return context.resources.displayMetrics.density
|
||||
|
@ -95,11 +58,6 @@ object UiHelper {
|
|||
return false
|
||||
}
|
||||
|
||||
override fun getSwipeDirs(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder): Int {
|
||||
// disable swipe for statistics element
|
||||
return super.getSwipeDirs(recyclerView, viewHolder)
|
||||
}
|
||||
|
||||
override fun onChildDraw(c: Canvas, recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder, dX: Float, dY: Float, actionState: Int, isCurrentlyActive: Boolean) {
|
||||
val itemView = viewHolder.itemView
|
||||
val itemHeight = itemView.bottom - itemView.top
|
||||
|
|
|
@ -34,15 +34,9 @@ import org.y20k.trackbook.helpers.*
|
|||
import java.text.DateFormat
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
import kotlin.coroutines.resume
|
||||
import kotlin.coroutines.suspendCoroutine
|
||||
|
||||
/*
|
||||
* TracklistAdapter class
|
||||
*/
|
||||
class TracklistAdapter(val fragment: Fragment, val database: Database) : RecyclerView.Adapter<RecyclerView.ViewHolder>()
|
||||
{
|
||||
/* Main class variables */
|
||||
private val context: Context = fragment.activity as Context
|
||||
private lateinit var tracklistListener: TracklistAdapterListener
|
||||
private var useImperial: Boolean = PreferencesHelper.loadUseImperialUnits()
|
||||
|
@ -86,7 +80,7 @@ class TracklistAdapter(val fragment: Fragment, val database: Database) : Recycle
|
|||
}
|
||||
finally
|
||||
{
|
||||
cursor.close();
|
||||
cursor.close()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -136,13 +130,6 @@ class TracklistAdapter(val fragment: Fragment, val database: Database) : Recycle
|
|||
// notifyItemRangeChanged(index, this.itemCount);
|
||||
}
|
||||
|
||||
suspend fun delete_track_at_position_suspended(context: Context, position: Int)
|
||||
{
|
||||
return suspendCoroutine { cont ->
|
||||
cont.resume(delete_track_at_position(context, position))
|
||||
}
|
||||
}
|
||||
|
||||
fun delete_track_by_id(context: Context, trackId: Long)
|
||||
{
|
||||
// val index: Int = tracklist.tracks.indexOfFirst {it.id == trackId}
|
||||
|
@ -178,15 +165,9 @@ class TracklistAdapter(val fragment: Fragment, val database: Database) : Recycle
|
|||
// return trackDataString
|
||||
}
|
||||
|
||||
/*
|
||||
* Inner class: ViewHolder for a track element
|
||||
*/
|
||||
inner class ElementTrackViewHolder (elementTrackLayout: View): RecyclerView.ViewHolder(elementTrackLayout) {
|
||||
val trackElement: ConstraintLayout = elementTrackLayout.findViewById(R.id.track_element)
|
||||
val trackNameView: TextView = elementTrackLayout.findViewById(R.id.track_name)
|
||||
val trackDataView: TextView = elementTrackLayout.findViewById(R.id.track_data)
|
||||
}
|
||||
/*
|
||||
* End of inner class
|
||||
*/
|
||||
}
|
||||
|
|
|
@ -69,7 +69,6 @@ data class TrackFragmentLayoutHolder(
|
|||
val trackNameView: MaterialTextView
|
||||
private val mapView: MapView
|
||||
private var controller: IMapController
|
||||
//private var zoomLevel: Double
|
||||
private val statisticsSheetBehavior: BottomSheetBehavior<View>
|
||||
private val statisticsSheet: NestedScrollView
|
||||
private val statisticsView: View
|
||||
|
@ -158,14 +157,6 @@ data class TrackFragmentLayoutHolder(
|
|||
setupStatisticsViews()
|
||||
}
|
||||
|
||||
/* Saves zoom level and center of this map */
|
||||
fun saveViewStateToTrack()
|
||||
{
|
||||
if (track.view_latitude != 0.0 && track.view_longitude != 0.0)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/* Sets up the statistics sheet */
|
||||
private fun setupStatisticsViews()
|
||||
{
|
||||
|
|
|
@ -17,10 +17,6 @@
|
|||
<action
|
||||
android:id="@+id/action_map_fragment_to_tracks_fragment"
|
||||
app:destination="@id/tracklist_fragment" />
|
||||
<action
|
||||
android:id="@+id/action_map_fragment_to_fragment_track"
|
||||
app:destination="@id/fragment_track"
|
||||
app:popUpToInclusive="false" />
|
||||
</fragment>
|
||||
|
||||
<!-- SETTINGS -->
|
||||
|
|
Loading…
Reference in a new issue