From 2944273a01f2e0ae378b273c208da23f6ddb9aa5 Mon Sep 17 00:00:00 2001 From: y20k Date: Mon, 3 Aug 2020 10:59:56 +0200 Subject: [PATCH] Reverts code style changes introduced in 4dcea979 and 66f4865d --- .editorconfig | 9 - app/src/main/java/org/y20k/trackbook/Keys.kt | 31 ++- .../java/org/y20k/trackbook/MainActivity.kt | 29 ++- .../java/org/y20k/trackbook/MapFragment.kt | 90 ++------- .../main/java/org/y20k/trackbook/Trackbook.kt | 4 +- .../java/org/y20k/trackbook/core/Track.kt | 40 ++-- .../java/org/y20k/trackbook/core/Tracklist.kt | 16 +- .../y20k/trackbook/core/TracklistElement.kt | 20 +- .../java/org/y20k/trackbook/core/WayPoint.kt | 24 ++- .../trackbook/dialogs/RenameTrackDialog.kt | 6 +- .../y20k/trackbook/helpers/AppThemeHelper.kt | 4 +- .../y20k/trackbook/helpers/DateTimeHelper.kt | 32 ++- .../trackbook/helpers/LengthUnitHelper.kt | 28 ++- .../org/y20k/trackbook/helpers/MapOverlay.kt | 146 +++----------- .../main/res/drawable/ic_clear_white_24dp.xml | 12 +- .../drawable/ic_compass_needle_black_24dp.xml | 10 +- .../res/drawable/ic_current_location_24dp.xml | 12 +- app/src/main/res/drawable/ic_delete_24dp.xml | 6 +- app/src/main/res/drawable/ic_edit_24dp.xml | 10 +- .../ic_fiber_manual_record_red_24dp.xml | 12 +- .../ic_fiber_manual_record_white_24dp.xml | 12 +- app/src/main/res/drawable/ic_gps_24dp.xml | 12 +- app/src/main/res/drawable/ic_info_24dp.xml | 6 +- .../ic_marker_location_blue_grey_24dp.xml | 12 +- .../drawable/ic_marker_location_red_24dp.xml | 12 +- .../ic_marker_location_red_grey_24dp.xml | 12 +- .../ic_marker_track_location_blue_24dp.xml | 10 +- .../ic_marker_track_location_grey_24dp.xml | 10 +- .../res/drawable/ic_notebook_black_24dp.xml | 10 +- .../ic_notification_action_resume_36dp.xml | 8 +- .../ic_notification_action_show_36dp.xml | 6 +- .../ic_notification_action_stop_24dp.xml | 6 +- ...cation_icon_large_tracking_active_48dp.xml | 8 +- ...ation_icon_large_tracking_stopped_48dp.xml | 8 +- .../ic_notification_icon_small_24dp.xml | 10 +- .../res/drawable/ic_remove_circle_24dp.xml | 10 +- app/src/main/res/drawable/ic_save_24dp.xml | 6 +- .../main/res/drawable/ic_save_white_24dp.xml | 10 +- .../res/drawable/ic_settings_black_24dp.xml | 10 +- .../main/res/drawable/ic_square_foot_24px.xml | 6 +- .../res/drawable/ic_star_outline_24dp.xml | 10 +- .../main/res/drawable/ic_timeline_24dp.xml | 10 +- app/src/main/res/drawable/ic_undo_24dp.xml | 10 +- .../drawable/selector_bottom_navigation.xml | 4 +- .../shape_statistics_background_collapsed.xml | 15 +- .../shape_statistics_background_expanded.xml | 15 +- .../layout/dialog_generic_with_details.xml | 5 +- .../main/res/layout/dialog_rename_track.xml | 5 +- app/src/main/res/layout/fragment_track.xml | 5 +- .../main/res/layout/fragment_tracklist.xml | 43 +++-- app/src/main/res/layout/track_onboarding.xml | 7 +- .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 +- .../mipmap-anydpi-v26/ic_launcher_round.xml | 6 +- .../main/res/navigation/nav_graph_main.xml | 8 +- app/src/main/res/values-zh-rCN/strings.xml | 182 +++++++++--------- app/src/main/res/values/dimens.xml | 5 +- app/src/main/res/values/styles.xml | 2 - app/src/main/res/xml/provider_paths.xml | 6 +- 58 files changed, 440 insertions(+), 629 deletions(-) delete mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index b1b9eb9..0000000 --- a/.editorconfig +++ /dev/null @@ -1,9 +0,0 @@ -# editorconfig.org -root = true - -[*] -charset = utf-8 -end_of_line = lf -indent_style = space -insert_final_newline = true -trim_trailing_whitespace = true diff --git a/app/src/main/java/org/y20k/trackbook/Keys.kt b/app/src/main/java/org/y20k/trackbook/Keys.kt index cdd27c5..30a3609 100644 --- a/app/src/main/java/org/y20k/trackbook/Keys.kt +++ b/app/src/main/java/org/y20k/trackbook/Keys.kt @@ -44,9 +44,8 @@ object Keys { const val ARG_TRACK_ID: String = "ArgTrackId" // preferences - const val PREF_ONE_TIME_HOUSEKEEPING_NECESSARY = - "ONE_TIME_HOUSEKEEPING_NECESSARY_VERSIONCODE_38" // increment to current app version code to trigger housekeeping that runs only once - const val PREF_THEME_SELECTION: String = "prefThemeSelection" + const val PREF_ONE_TIME_HOUSEKEEPING_NECESSARY = "ONE_TIME_HOUSEKEEPING_NECESSARY_VERSIONCODE_38" // increment to current app version code to trigger housekeeping that runs only once + const val PREF_THEME_SELECTION: String= "prefThemeSelection" const val PREF_CURRENT_BEST_LOCATION_PROVIDER: String = "prefCurrentBestLocationProvider" const val PREF_CURRENT_BEST_LOCATION_LATITUDE: String = "prefCurrentBestLocationLatitude" const val PREF_CURRENT_BEST_LOCATION_LONGITUDE: String = "prefCurrentBestLocationLongitude" @@ -78,7 +77,7 @@ object Keys { const val DIALOG_EMPTY_PAYLOAD_INT: Int = -1 // folder names - const val FOLDER_TEMP: String = "temp" + const val FOLDER_TEMP: String = "temp" const val FOLDER_TRACKS: String = "tracks" const val FOLDER_GPX: String = "gpx" @@ -96,29 +95,21 @@ object Keys { const val DEFAULT_RFC2822_DATE: String = "Thu, 01 Jan 1970 01:00:00 +0100" // --> Date(0) const val ONE_HOUR_IN_MILLISECONDS: Int = 3600000 const val EMPTY_STRING_RESOURCE: Int = 0 - const val REQUEST_CURRENT_LOCATION_INTERVAL: Long = - 1000L // 1 second in milliseconds - const val ADD_WAYPOINT_TO_TRACK_INTERVAL: Long = - 15000L // 15 seconds in milliseconds - const val SIGNIFICANT_TIME_DIFFERENCE: Long = - 120000L // 2 minutes in milliseconds - const val STOP_OVER_THRESHOLD: Long = - 300000L // 5 minutes in milliseconds + const val REQUEST_CURRENT_LOCATION_INTERVAL: Long = 1000L // 1 second in milliseconds + const val ADD_WAYPOINT_TO_TRACK_INTERVAL: Long = 15000L // 15 seconds in milliseconds + const val SIGNIFICANT_TIME_DIFFERENCE: Long = 120000L // 2 minutes in milliseconds + const val STOP_OVER_THRESHOLD: Long = 300000L // 5 minutes in milliseconds const val IMPLAUSIBLE_TRACK_START_SPEED: Double = 250.0 // 250 km/h - const val DEFAULT_LATITUDE: Double = - 71.172500 // latitude Nordkapp, Norway - const val DEFAULT_LONGITUDE: Double = - 25.784444 // longitude Nordkapp, Norway + const val DEFAULT_LATITUDE: Double = 71.172500 // latitude Nordkapp, Norway + const val DEFAULT_LONGITUDE: Double = 25.784444 // longitude Nordkapp, Norway const val DEFAULT_ACCURACY: Float = 300f // in meters const val DEFAULT_ALTITUDE: Double = 0.0 const val DEFAULT_TIME: Long = 0L const val DEFAULT_THRESHOLD_LOCATION_ACCURACY: Int = 30 // 30 meters - const val DEFAULT_THRESHOLD_LOCATION_AGE: Long = - 60000000000L // one minute in nanoseconds + const val DEFAULT_THRESHOLD_LOCATION_AGE: Long = 60000000000L // one minute in nanoseconds const val DEFAULT_THRESHOLD_DISTANCE: Float = 15f // 15 meters const val DEFAULT_ZOOM_LEVEL: Double = 16.0 - const val ALTITUDE_MEASUREMENT_ERROR_THRESHOLD = - 10 // altitude changes of 10 meter or more (per 15 seconds) are being discarded + const val ALTITUDE_MEASUREMENT_ERROR_THRESHOLD = 10 // altitude changes of 10 meter or more (per 15 seconds) are being discarded const val REQUEST_CODE_FOREGROUND = 42 // requests diff --git a/app/src/main/java/org/y20k/trackbook/MainActivity.kt b/app/src/main/java/org/y20k/trackbook/MainActivity.kt index 6d898e3..9f70971 100644 --- a/app/src/main/java/org/y20k/trackbook/MainActivity.kt +++ b/app/src/main/java/org/y20k/trackbook/MainActivity.kt @@ -69,8 +69,7 @@ class MainActivity : AppCompatActivity() { // set up views setContentView(R.layout.activity_main) - navHostFragment = - supportFragmentManager.findFragmentById(R.id.main_container) as NavHostFragment + navHostFragment = supportFragmentManager.findFragmentById(R.id.main_container) as NavHostFragment bottomNavigationView = findViewById(R.id.bottom_navigation_view) bottomNavigationView.setupWithNavController(navController = navHostFragment.navController) @@ -78,13 +77,12 @@ class MainActivity : AppCompatActivity() { navHostFragment.navController.addOnDestinationChangedListener { _, destination, _ -> when (destination.id) { R.id.fragment_track -> { - runOnUiThread { - run { + runOnUiThread( Runnable() { + run(){ // mark menu item "Tracks" as checked - bottomNavigationView.menu.findItem(R.id.tracklist_fragment) - .setChecked(true) + bottomNavigationView.menu.findItem(R.id.tracklist_fragment).setChecked(true) } - } + }) } else -> { // do nothing @@ -93,8 +91,7 @@ class MainActivity : AppCompatActivity() { } // register listener for changes in shared preferences - PreferenceManager.getDefaultSharedPreferences(this as Context) - .registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener) + PreferenceManager.getDefaultSharedPreferences(this as Context).registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener) } @@ -102,22 +99,20 @@ class MainActivity : AppCompatActivity() { override fun onDestroy() { super.onDestroy() // unregister listener for changes in shared preferences - PreferenceManager.getDefaultSharedPreferences(this as Context) - .unregisterOnSharedPreferenceChangeListener(sharedPreferenceChangeListener) + PreferenceManager.getDefaultSharedPreferences(this as Context).unregisterOnSharedPreferenceChangeListener(sharedPreferenceChangeListener) } /* * Defines the listener for changes in shared preferences */ - private val sharedPreferenceChangeListener = - SharedPreferences.OnSharedPreferenceChangeListener { _, key -> - when (key) { - Keys.PREF_THEME_SELECTION -> { - AppThemeHelper.setTheme(PreferencesHelper.loadThemeSelection(this@MainActivity)) - } + private val sharedPreferenceChangeListener = SharedPreferences.OnSharedPreferenceChangeListener { sharedPreferences, key -> + when (key) { + Keys.PREF_THEME_SELECTION -> { + AppThemeHelper.setTheme(PreferencesHelper.loadThemeSelection(this@MainActivity)) } } + } /* * End of declaration */ diff --git a/app/src/main/java/org/y20k/trackbook/MapFragment.kt b/app/src/main/java/org/y20k/trackbook/MapFragment.kt index d252872..d9f6ce0 100644 --- a/app/src/main/java/org/y20k/trackbook/MapFragment.kt +++ b/app/src/main/java/org/y20k/trackbook/MapFragment.kt @@ -73,20 +73,9 @@ class MapFragment : Fragment(), YesNoDialog.YesNoDialogListener, MapOverlay.Mark /* Overrides onStop from Fragment */ - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup?, - savedInstanceState: Bundle? - ): View? { + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { // initialize layout - layout = MapFragmentLayoutHolder( - activity as Context, - this as MapOverlay.MarkerListener, - inflater, - container, - currentBestLocation, - trackingState - ) + layout = MapFragmentLayoutHolder(activity as Context, this as MapOverlay.MarkerListener, inflater, container, currentBestLocation, trackingState) // set up buttons layout.currentLocationButton.setOnClickListener { @@ -115,22 +104,11 @@ class MapFragment : Fragment(), YesNoDialog.YesNoDialogListener, MapOverlay.Mark override fun onStart() { super.onStart() // request location permission if denied - if (ContextCompat.checkSelfPermission( - activity as Context, - Manifest.permission.ACCESS_FINE_LOCATION - ) == PackageManager.PERMISSION_DENIED - ) { - this.requestPermissions( - arrayOf(Manifest.permission.ACCESS_FINE_LOCATION), - Keys.REQUEST_CODE_FOREGROUND - ) + if (ContextCompat.checkSelfPermission(activity as Context, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_DENIED) { + this.requestPermissions(arrayOf(Manifest.permission.ACCESS_FINE_LOCATION), Keys.REQUEST_CODE_FOREGROUND) } // bind to TrackerService - activity?.bindService( - Intent(activity, TrackerService::class.java), - connection, - Context.BIND_AUTO_CREATE - ) + activity?.bindService(Intent(activity, TrackerService::class.java), connection, Context.BIND_AUTO_CREATE) } @@ -164,22 +142,14 @@ class MapFragment : Fragment(), YesNoDialog.YesNoDialogListener, MapOverlay.Mark /* Overrides onRequestPermissionsResult from Fragment */ - override fun onRequestPermissionsResult( - requestCode: Int, - permissions: Array, - grantResults: IntArray - ) { + override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) { super.onRequestPermissionsResult(requestCode, permissions, grantResults) when (requestCode) { Keys.REQUEST_CODE_FOREGROUND -> { if ((grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED)) { // permission was granted - re-bind service activity?.unbindService(connection) - activity?.bindService( - Intent(activity, TrackerService::class.java), - connection, - Context.BIND_AUTO_CREATE - ) + activity?.bindService(Intent(activity, TrackerService::class.java), connection, Context.BIND_AUTO_CREATE) LogHelper.i(TAG, "Request result: Location permission has been granted.") } else { // permission denied - unbind service @@ -193,12 +163,7 @@ class MapFragment : Fragment(), YesNoDialog.YesNoDialogListener, MapOverlay.Mark /* Overrides onYesNoDialog from YesNoDialogListener */ - override fun onYesNoDialog( - type: Int, - dialogResult: Boolean, - payload: Int, - payloadString: String - ) { + override fun onYesNoDialog(type: Int, dialogResult: Boolean, payload: Int, payloadString: String) { super.onYesNoDialog(type, dialogResult, payload, payloadString) when (type) { Keys.DIALOG_EMPTY_RECORDING -> { @@ -253,18 +218,11 @@ class MapFragment : Fragment(), YesNoDialog.YesNoDialogListener, MapOverlay.Mark /* Saves track - shows dialog, if recording is still empty */ private fun saveTrack() { if (track.wayPoints.isEmpty()) { - YesNoDialog(this as YesNoDialog.YesNoDialogListener).show( - activity as Context, - type = Keys.DIALOG_EMPTY_RECORDING, - title = R.string.dialog_error_empty_recording_title, - message = R.string.dialog_error_empty_recording_message, - yesButton = R.string.dialog_error_empty_recording_action_resume - ) + YesNoDialog(this as YesNoDialog.YesNoDialogListener).show(activity as Context, type = Keys.DIALOG_EMPTY_RECORDING, title = R.string.dialog_error_empty_recording_title, message = R.string.dialog_error_empty_recording_message, yesButton = R.string.dialog_error_empty_recording_action_resume) } else { GlobalScope.launch { // step 1: create and store filenames for json and gpx files - track.trackUriString = - FileHelper.getTrackFileUri(activity as Context, track).toString() + track.trackUriString = FileHelper.getTrackFileUri(activity as Context, track).toString() track.gpxUriString = FileHelper.getGpxFileUri(activity as Context, track).toString() // step 2: save track FileHelper.saveTrackSuspended(track, saveGpxToo = true) @@ -281,7 +239,7 @@ class MapFragment : Fragment(), YesNoDialog.YesNoDialogListener, MapOverlay.Mark /* Opens a track in TrackFragment */ private fun openTrack(tracklistElement: TracklistElement) { - val bundle = Bundle() + val bundle: Bundle = Bundle() bundle.putString(Keys.ARG_TRACK_TITLE, tracklistElement.name) bundle.putString(Keys.ARG_TRACK_FILE_URI, tracklistElement.trackUriString) bundle.putString(Keys.ARG_GPX_FILE_URI, tracklistElement.gpxUriString) @@ -293,17 +251,16 @@ class MapFragment : Fragment(), YesNoDialog.YesNoDialogListener, MapOverlay.Mark /* * Defines the listener for changes in shared preferences */ - private val sharedPreferenceChangeListener = - SharedPreferences.OnSharedPreferenceChangeListener { _, key -> - when (key) { - Keys.PREF_TRACKING_STATE -> { - if (activity != null) { - trackingState = PreferencesHelper.loadTrackingState(activity as Context) - layout.updateRecordingButton(trackingState) - } + private val sharedPreferenceChangeListener = SharedPreferences.OnSharedPreferenceChangeListener { sharedPreferences, key -> + when (key) { + Keys.PREF_TRACKING_STATE -> { + if (activity != null) { + trackingState = PreferencesHelper.loadTrackingState(activity as Context) + layout.updateRecordingButton(trackingState) } } } + } /* * End of declaration */ @@ -322,18 +279,15 @@ class MapFragment : Fragment(), YesNoDialog.YesNoDialogListener, MapOverlay.Mark trackingState = trackerService.trackingState layout.updateRecordingButton(trackingState) // register listener for changes in shared preferences - PreferenceManager.getDefaultSharedPreferences(activity as Context) - .registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener) + PreferenceManager.getDefaultSharedPreferences(activity as Context).registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener) // start listening for location updates handler.removeCallbacks(periodicLocationRequestRunnable) handler.postDelayed(periodicLocationRequestRunnable, 0) } - override fun onServiceDisconnected(arg0: ComponentName) { bound = false // unregister listener for changes in shared preferences - PreferenceManager.getDefaultSharedPreferences(activity as Context) - .unregisterOnSharedPreferenceChangeListener(sharedPreferenceChangeListener) + PreferenceManager.getDefaultSharedPreferences(activity as Context).unregisterOnSharedPreferenceChangeListener(sharedPreferenceChangeListener) // stop receiving location updates handler.removeCallbacks(periodicLocationRequestRunnable) } @@ -358,9 +312,7 @@ class MapFragment : Fragment(), YesNoDialog.YesNoDialogListener, MapOverlay.Mark layout.markCurrentPosition(currentBestLocation, trackingState) layout.overlayCurrentTrack(track, trackingState) // center map, if it had not been dragged/zoomed before - if (!layout.userInteraction) { - layout.centerMap(currentBestLocation, true) - } + if (!layout.userInteraction) { layout.centerMap(currentBestLocation, true)} // show error snackbar if necessary layout.toggleLocationErrorBar(gpsProviderActive, networkProviderActive) // use the handler to start runnable again after specified delay diff --git a/app/src/main/java/org/y20k/trackbook/Trackbook.kt b/app/src/main/java/org/y20k/trackbook/Trackbook.kt index af38515..cc9615d 100644 --- a/app/src/main/java/org/y20k/trackbook/Trackbook.kt +++ b/app/src/main/java/org/y20k/trackbook/Trackbook.kt @@ -27,7 +27,7 @@ import org.y20k.trackbook.helpers.PreferencesHelper /* * Trackbook.class */ -class Trackbook : Application() { +class Trackbook: Application() { /* Define log tag */ @@ -49,4 +49,4 @@ class Trackbook : Application() { LogHelper.v(TAG, "Trackbook application terminated.") } -} +} \ No newline at end of file diff --git a/app/src/main/java/org/y20k/trackbook/core/Track.kt b/app/src/main/java/org/y20k/trackbook/core/Track.kt index 2096ac1..361911b 100644 --- a/app/src/main/java/org/y20k/trackbook/core/Track.kt +++ b/app/src/main/java/org/y20k/trackbook/core/Track.kt @@ -32,26 +32,24 @@ import java.util.* */ @Keep @Parcelize -data class Track( - @Expose var trackFormatVersion: Int = Keys.CURRENT_TRACK_FORMAT_VERSION, - @Expose val wayPoints: MutableList = mutableListOf(), - @Expose var length: Float = 0f, - @Expose var duration: Long = 0L, - @Expose var recordingPaused: Long = 0L, - @Expose var stepCount: Float = 0f, - @Expose var recordingStart: Date = GregorianCalendar.getInstance().time, - @Expose var recordingStop: Date = recordingStart, - @Expose var maxAltitude: Double = 0.0, - @Expose var minAltitude: Double = 0.0, - @Expose var positiveElevation: Double = 0.0, - @Expose var negativeElevation: Double = 0.0, - @Expose var trackUriString: String = String(), - @Expose var gpxUriString: String = String(), - @Expose var latitude: Double = Keys.DEFAULT_LATITUDE, - @Expose var longitude: Double = Keys.DEFAULT_LONGITUDE, - @Expose var zoomLevel: Double = Keys.DEFAULT_ZOOM_LEVEL, - @Expose var name: String = String() -) : Parcelable { +data class Track (@Expose var trackFormatVersion: Int = Keys.CURRENT_TRACK_FORMAT_VERSION, + @Expose val wayPoints: MutableList = mutableListOf(), + @Expose var length: Float = 0f, + @Expose var duration: Long = 0L, + @Expose var recordingPaused: Long = 0L, + @Expose var stepCount: Float = 0f, + @Expose var recordingStart: Date = GregorianCalendar.getInstance().time, + @Expose var recordingStop: Date = recordingStart, + @Expose var maxAltitude: Double = 0.0, + @Expose var minAltitude: Double = 0.0, + @Expose var positiveElevation: Double = 0.0, + @Expose var negativeElevation: Double = 0.0, + @Expose var trackUriString: String = String(), + @Expose var gpxUriString: String = String(), + @Expose var latitude: Double = Keys.DEFAULT_LATITUDE, + @Expose var longitude: Double = Keys.DEFAULT_LONGITUDE, + @Expose var zoomLevel: Double = Keys.DEFAULT_ZOOM_LEVEL, + @Expose var name: String = String()): Parcelable { /* Creates a TracklistElement */ @@ -77,4 +75,4 @@ data class Track( } -} +} \ No newline at end of file diff --git a/app/src/main/java/org/y20k/trackbook/core/Tracklist.kt b/app/src/main/java/org/y20k/trackbook/core/Tracklist.kt index 780231b..8944ed8 100644 --- a/app/src/main/java/org/y20k/trackbook/core/Tracklist.kt +++ b/app/src/main/java/org/y20k/trackbook/core/Tracklist.kt @@ -31,11 +31,9 @@ import java.util.* */ @Keep @Parcelize -data class Tracklist( - @Expose val tracklistFormatVersion: Int = Keys.CURRENT_TRACKLIST_FORMAT_VERSION, - @Expose val tracklistElements: MutableList = mutableListOf(), - @Expose var modificationDate: Date = Date() -) : Parcelable { +data class Tracklist (@Expose val tracklistFormatVersion: Int = Keys.CURRENT_TRACKLIST_FORMAT_VERSION, + @Expose val tracklistElements: MutableList = mutableListOf(), + @Expose var modificationDate: Date = Date()): Parcelable { /* Return trackelement for given track id */ fun getTrackElement(trackId: Long): TracklistElement? { @@ -49,11 +47,7 @@ data class Tracklist( /* Create a deep copy */ fun deepCopy(): Tracklist { - return Tracklist( - tracklistFormatVersion, - mutableListOf().apply { addAll(tracklistElements) }, - modificationDate - ) + return Tracklist(tracklistFormatVersion, mutableListOf().apply { addAll(tracklistElements) }, modificationDate) } -} +} \ No newline at end of file diff --git a/app/src/main/java/org/y20k/trackbook/core/TracklistElement.kt b/app/src/main/java/org/y20k/trackbook/core/TracklistElement.kt index bab7cd7..baa7e5a 100644 --- a/app/src/main/java/org/y20k/trackbook/core/TracklistElement.kt +++ b/app/src/main/java/org/y20k/trackbook/core/TracklistElement.kt @@ -29,20 +29,18 @@ import java.util.* */ @Keep @Parcelize -data class TracklistElement( - @Expose var name: String, - @Expose val date: Date, - @Expose val dateString: String, - @Expose val durationString: String, - @Expose val length: Float, - @Expose val trackUriString: String, - @Expose val gpxUriString: String, - @Expose var starred: Boolean = false -) : Parcelable { +data class TracklistElement(@Expose var name: String, + @Expose val date: Date, + @Expose val dateString: String, + @Expose val durationString: String, + @Expose val length: Float, + @Expose val trackUriString: String, + @Expose val gpxUriString: String, + @Expose var starred: Boolean = false): Parcelable { /* Returns unique ID for TracklistElement - currently the start date */ fun getTrackId(): Long { return date.time } -} +} \ No newline at end of file diff --git a/app/src/main/java/org/y20k/trackbook/core/WayPoint.kt b/app/src/main/java/org/y20k/trackbook/core/WayPoint.kt index 48aca0e..23f90f3 100644 --- a/app/src/main/java/org/y20k/trackbook/core/WayPoint.kt +++ b/app/src/main/java/org/y20k/trackbook/core/WayPoint.kt @@ -29,18 +29,16 @@ import kotlinx.android.parcel.Parcelize */ @Keep @Parcelize -data class WayPoint( - @Expose val provider: String, - @Expose val latitude: Double, - @Expose val longitude: Double, - @Expose val altitude: Double, - @Expose val accuracy: Float, - @Expose val time: Long, - @Expose val distanceToStartingPoint: Float = 0f, - @Expose val numberSatellites: Int = 0, - @Expose var isStopOver: Boolean = false, - @Expose var starred: Boolean = false -) : Parcelable { +data class WayPoint(@Expose val provider: String, + @Expose val latitude: Double, + @Expose val longitude: Double, + @Expose val altitude: Double, + @Expose val accuracy: Float, + @Expose val time: Long, + @Expose val distanceToStartingPoint: Float = 0f, + @Expose val numberSatellites: Int = 0, + @Expose var isStopOver: Boolean = false, + @Expose var starred: Boolean = false): Parcelable { /* Converts WayPoint into Location */ @@ -54,4 +52,4 @@ data class WayPoint( return location } -} +} \ No newline at end of file diff --git a/app/src/main/java/org/y20k/trackbook/dialogs/RenameTrackDialog.kt b/app/src/main/java/org/y20k/trackbook/dialogs/RenameTrackDialog.kt index 36b1225..0e700a5 100644 --- a/app/src/main/java/org/y20k/trackbook/dialogs/RenameTrackDialog.kt +++ b/app/src/main/java/org/y20k/trackbook/dialogs/RenameTrackDialog.kt @@ -30,7 +30,7 @@ import org.y20k.trackbook.helpers.LogHelper /* * RenameTrackDialog class */ -class RenameTrackDialog(private var renameTrackListener: RenameTrackListener) { +class RenameTrackDialog (private var renameTrackListener: RenameTrackListener) { /* Interface used to communicate back to activity */ interface RenameTrackListener { @@ -45,7 +45,7 @@ class RenameTrackDialog(private var renameTrackListener: RenameTrackListener) { /* Construct and show dialog */ fun show(context: Context, trackName: String) { // prepare dialog builder - val builder = MaterialAlertDialogBuilder(context) + val builder: MaterialAlertDialogBuilder = MaterialAlertDialogBuilder(context) // get input field val inflater = LayoutInflater.from(context) @@ -78,4 +78,4 @@ class RenameTrackDialog(private var renameTrackListener: RenameTrackListener) { builder.show() } -} +} \ No newline at end of file diff --git a/app/src/main/java/org/y20k/trackbook/helpers/AppThemeHelper.kt b/app/src/main/java/org/y20k/trackbook/helpers/AppThemeHelper.kt index 160e856..9500951 100644 --- a/app/src/main/java/org/y20k/trackbook/helpers/AppThemeHelper.kt +++ b/app/src/main/java/org/y20k/trackbook/helpers/AppThemeHelper.kt @@ -99,4 +99,6 @@ object AppThemeHelper { } -} + + +} \ No newline at end of file diff --git a/app/src/main/java/org/y20k/trackbook/helpers/DateTimeHelper.kt b/app/src/main/java/org/y20k/trackbook/helpers/DateTimeHelper.kt index 144e5d4..3cadcae 100644 --- a/app/src/main/java/org/y20k/trackbook/helpers/DateTimeHelper.kt +++ b/app/src/main/java/org/y20k/trackbook/helpers/DateTimeHelper.kt @@ -34,24 +34,22 @@ object DateTimeHelper { /* Converts milliseconds to mm:ss or hh:mm:ss */ fun convertToReadableTime(context: Context, milliseconds: Long): String { - val timeString: String + var timeString: String = String() val hours: Long = TimeUnit.MILLISECONDS.toHours(milliseconds) - val minutes: Long = - TimeUnit.MILLISECONDS.toMinutes(milliseconds) % TimeUnit.HOURS.toMinutes(1) - val seconds: Long = - TimeUnit.MILLISECONDS.toSeconds(milliseconds) % TimeUnit.MINUTES.toSeconds(1) + val minutes: Long = TimeUnit.MILLISECONDS.toMinutes(milliseconds) % TimeUnit.HOURS.toMinutes(1) + val seconds: Long = TimeUnit.MILLISECONDS.toSeconds(milliseconds) % TimeUnit.MINUTES.toSeconds(1) val h: String = context.getString(R.string.abbreviation_hours) val m: String = context.getString(R.string.abbreviation_minutes) val s: String = context.getString(R.string.abbreviation_seconds) - timeString = when (milliseconds >= Keys.ONE_HOUR_IN_MILLISECONDS) { + when (milliseconds >= Keys.ONE_HOUR_IN_MILLISECONDS) { // CASE: format hh:mm:ss true -> { - "$hours $h $minutes $m $seconds $s" + timeString = "$hours $h $minutes $m $seconds $s" } // CASE: format mm:ss false -> { - "$minutes $m $seconds $s" + timeString = "$minutes $m $seconds $s" } } return timeString @@ -60,7 +58,7 @@ object DateTimeHelper { /* Create sortable string for date - used for filenames */ fun convertToSortableDateString(date: Date): String { - val dateFormat = SimpleDateFormat("yyyy-MM-dd-HH-mm-ss", Locale.US) + val dateFormat: SimpleDateFormat = SimpleDateFormat("yyyy-MM-dd-HH-mm-ss", Locale.US) return dateFormat.format(date) } @@ -72,20 +70,14 @@ object DateTimeHelper { /* Creates a readable string date and time - used in the UI */ - fun convertToReadableDateAndTime( - date: Date, - dateStyle: Int = DateFormat.SHORT, - timeStyle: Int = DateFormat.SHORT - ): String { - return "${DateFormat.getDateInstance(dateStyle, Locale.getDefault()) - .format(date)} ${DateFormat.getTimeInstance(timeStyle, Locale.getDefault()) - .format(date)}" + fun convertToReadableDateAndTime(date: Date, dateStyle: Int = DateFormat.SHORT, timeStyle: Int = DateFormat.SHORT): String { + return "${DateFormat.getDateInstance(dateStyle, Locale.getDefault()).format(date)} ${DateFormat.getTimeInstance(timeStyle, Locale.getDefault()).format(date)}" } /* Calculates time difference between two locations */ - fun calculateTimeDistance(previousLocation: Location?, location: Location): Long { - var timeDifference = 0L + fun calculateTimeDistance(previousLocation: Location?, location: Location): Long { + var timeDifference: Long = 0L // two data points needed to calculate time difference if (previousLocation != null) { // get time difference @@ -95,4 +87,4 @@ object DateTimeHelper { } -} +} \ No newline at end of file diff --git a/app/src/main/java/org/y20k/trackbook/helpers/LengthUnitHelper.kt b/app/src/main/java/org/y20k/trackbook/helpers/LengthUnitHelper.kt index 25249a0..d2f6e4c 100644 --- a/app/src/main/java/org/y20k/trackbook/helpers/LengthUnitHelper.kt +++ b/app/src/main/java/org/y20k/trackbook/helpers/LengthUnitHelper.kt @@ -89,51 +89,45 @@ object LengthUnitHelper { /* Determines which unit system the device is using (metric or imperial) */ fun useImperialUnits(): Boolean { // America (US), Liberia (LR), Myanmar(MM) use the imperial system - val imperialSystemCountries = listOf("US", "LR", "MM") + val imperialSystemCountries = Arrays.asList("US", "LR", "MM") val countryCode = Locale.getDefault().country return imperialSystemCountries.contains(countryCode) } /* Converts for the given unit System distance and duration values to a readable velocity string */ - fun convertToVelocityString( - trackDuration: Long, - trackRecordingPause: Long, - trackLength: Float, - useImperialUnits: Boolean = false - ): String { - var speed = "0" + fun convertToVelocityString(trackDuration: Long, trackRecordingPause: Long, trackLength: Float, useImperialUnits: Boolean = false) : String { + var speed: String = "0" // duration minus pause in seconds val duration: Long = (trackDuration - trackRecordingPause) / 1000L if (duration > 0L) { // speed in km/h / mph - val velocity: Double = - convertMetersPerSecond((trackLength / duration), useImperialUnits) + val velocity: Double = convertMetersPerSecond((trackLength / duration), useImperialUnits) // create readable speed string var bd: BigDecimal = BigDecimal.valueOf(velocity) bd = bd.setScale(1, RoundingMode.HALF_UP) speed = bd.toPlainString() } - return when (useImperialUnits) { - true -> "$speed mph" - false -> "$speed km/h" + when (useImperialUnits) { + true -> return "$speed mph" + false -> return "$speed km/h" } } /* Coverts meters per second to either km/h or mph */ fun convertMetersPerSecond(metersPerSecond: Float, useImperial: Boolean = false): Double { - return if (useImperial) { + if (useImperial) { // mph - metersPerSecond * 2.2369362920544 + return metersPerSecond * 2.2369362920544 } else { // km/h - metersPerSecond * 3.6 + return metersPerSecond * 3.6 } } -} +} \ No newline at end of file diff --git a/app/src/main/java/org/y20k/trackbook/helpers/MapOverlay.kt b/app/src/main/java/org/y20k/trackbook/helpers/MapOverlay.kt index e5e4e42..8fcb595 100644 --- a/app/src/main/java/org/y20k/trackbook/helpers/MapOverlay.kt +++ b/app/src/main/java/org/y20k/trackbook/helpers/MapOverlay.kt @@ -21,8 +21,6 @@ package org.y20k.trackbook.helpers import android.content.Context import android.graphics.drawable.Drawable import android.location.Location -import android.os.Build -import android.os.VibrationEffect import android.os.Vibrator import android.widget.Toast import androidx.core.content.ContextCompat @@ -40,7 +38,7 @@ import java.util.* /* * MapHelper class */ -class MapOverlay(private var markerListener: MarkerListener) { +class MapOverlay (private var markerListener: MarkerListener) { /* Interface used to communicate back to activity/fragment */ interface MarkerListener { @@ -53,11 +51,7 @@ class MapOverlay(private var markerListener: MarkerListener) { /* Creates icon overlay for current position (used in MapFragment) */ - fun createMyLocationOverlay( - context: Context, - location: Location, - trackingState: Int - ): ItemizedIconOverlay { + fun createMyLocationOverlay(context: Context, location: Location, trackingState: Int): ItemizedIconOverlay { val overlayItems = ArrayList() val locationIsOld = LocationHelper.isOldLocation(location) @@ -67,41 +61,22 @@ class MapOverlay(private var markerListener: MarkerListener) { when (trackingState) { // CASE: Tracking active Keys.STATE_TRACKING_ACTIVE -> { - newMarker = when (locationIsOld) { - true -> ContextCompat.getDrawable( - context, - R.drawable.ic_marker_location_red_grey_24dp - )!! - false -> ContextCompat.getDrawable( - context, - R.drawable.ic_marker_location_red_24dp - )!! + when (locationIsOld) { + true -> newMarker = ContextCompat.getDrawable(context, R.drawable.ic_marker_location_red_grey_24dp)!! + false -> newMarker = ContextCompat.getDrawable(context, R.drawable.ic_marker_location_red_24dp)!! } } // CASE. Tracking is NOT active else -> { - newMarker = when (locationIsOld) { - true -> ContextCompat.getDrawable( - context, - R.drawable.ic_marker_location_blue_grey_24dp - )!! - false -> ContextCompat.getDrawable( - context, - R.drawable.ic_marker_location_blue_24dp - )!! + when (locationIsOld) { + true -> newMarker = ContextCompat.getDrawable(context, R.drawable.ic_marker_location_blue_grey_24dp)!! + false -> newMarker = ContextCompat.getDrawable(context, R.drawable.ic_marker_location_blue_24dp)!! } } } // add marker to list of overlay items - val overlayItem = createOverlayItem( - context, - location.latitude, - location.longitude, - location.accuracy, - location.provider, - location.time - ) + val overlayItem = createOverlayItem(context, location.latitude, location.longitude, location.accuracy, location.provider, location.time) overlayItem.setMarker(newMarker) overlayItems.add(overlayItem) @@ -111,11 +86,7 @@ class MapOverlay(private var markerListener: MarkerListener) { /* Creates icon overlay for track */ - fun createTrackOverlay( - context: Context, - track: Track, - trackingState: Int - ): ItemizedIconOverlay { + fun createTrackOverlay(context: Context, track: Track, trackingState: Int): ItemizedIconOverlay { val overlayItems = ArrayList() val wayPoints = track.wayPoints @@ -128,55 +99,28 @@ class MapOverlay(private var markerListener: MarkerListener) { when (trackingState) { // CASE: Recording is active Keys.STATE_TRACKING_ACTIVE -> { - newMarker = when { - wayPoint.starred -> { - ContextCompat.getDrawable(context, R.drawable.ic_star_red_24dp)!! - } - wayPoint.isStopOver -> { - ContextCompat.getDrawable( - context, - R.drawable.ic_marker_track_location_grey_24dp - )!! - } - else -> { - ContextCompat.getDrawable( - context, - R.drawable.ic_marker_track_location_red_24dp - )!! - } + if (wayPoint.starred) { + newMarker = ContextCompat.getDrawable(context, R.drawable.ic_star_red_24dp)!! + } else if (wayPoint.isStopOver) { + newMarker = ContextCompat.getDrawable(context, R.drawable.ic_marker_track_location_grey_24dp)!! + } else { + newMarker = ContextCompat.getDrawable(context, R.drawable.ic_marker_track_location_red_24dp)!! } } // CASE: Recording is paused/stopped else -> { - newMarker = when { - wayPoint.starred -> { - ContextCompat.getDrawable(context, R.drawable.ic_star_blue_24dp)!! - } - wayPoint.isStopOver -> { - ContextCompat.getDrawable( - context, - R.drawable.ic_marker_track_location_grey_24dp - )!! - } - else -> { - ContextCompat.getDrawable( - context, - R.drawable.ic_marker_track_location_blue_24dp - )!! - } + if (wayPoint.starred) { + newMarker = ContextCompat.getDrawable(context, R.drawable.ic_star_blue_24dp)!! + } else if (wayPoint.isStopOver) { + newMarker = ContextCompat.getDrawable(context, R.drawable.ic_marker_track_location_grey_24dp)!! + } else { + newMarker = ContextCompat.getDrawable(context, R.drawable.ic_marker_track_location_blue_24dp)!! } } } // create overlay item and add to list of overlay items - val overlayItem = createOverlayItem( - context, - wayPoint.latitude, - wayPoint.longitude, - wayPoint.accuracy, - wayPoint.provider, - wayPoint.time - ) + val overlayItem = createOverlayItem(context, wayPoint.latitude, wayPoint.longitude, wayPoint.accuracy, wayPoint.provider, wayPoint.time) overlayItem.setMarker(newMarker) overlayItems.add(overlayItem) } @@ -187,60 +131,30 @@ class MapOverlay(private var markerListener: MarkerListener) { /* Creates a marker overlay item */ - private fun createOverlayItem( - context: Context, - latitude: Double, - longitude: Double, - accuracy: Float, - provider: String, - time: Long - ): OverlayItem { - val title = - "${context.getString(R.string.marker_description_time)}: ${SimpleDateFormat.getTimeInstance( - SimpleDateFormat.MEDIUM, - Locale.getDefault() - ).format(time)}" + private fun createOverlayItem(context: Context, latitude: Double, longitude: Double, accuracy: Float, provider: String, time: Long): OverlayItem { + val title: String = "${context.getString(R.string.marker_description_time)}: ${SimpleDateFormat.getTimeInstance(SimpleDateFormat.MEDIUM, Locale.getDefault()).format(time)}" //val description: String = "${context.getString(R.string.marker_description_accuracy)}: ${DecimalFormat("#0.00").format(accuracy)} (${provider})" - val description = - "${context.getString(R.string.marker_description_time)}: ${SimpleDateFormat.getTimeInstance( - SimpleDateFormat.MEDIUM, - Locale.getDefault() - ) - .format(time)} | ${context.getString(R.string.marker_description_accuracy)}: ${DecimalFormat( - "#0.00" - ).format(accuracy)} (${provider})" - val position = GeoPoint(latitude, longitude) + val description: String = "${context.getString(R.string.marker_description_time)}: ${SimpleDateFormat.getTimeInstance(SimpleDateFormat.MEDIUM, Locale.getDefault()).format(time)} | ${context.getString(R.string.marker_description_accuracy)}: ${DecimalFormat("#0.00").format(accuracy)} (${provider})" + val position: GeoPoint = GeoPoint(latitude, longitude) return OverlayItem(title, description, position) } /* Creates an overlay */ - private fun createOverlay( - context: Context, - overlayItems: ArrayList - ): ItemizedIconOverlay { + private fun createOverlay(context: Context, overlayItems: ArrayList): ItemizedIconOverlay { return ItemizedIconOverlay(context, overlayItems, object : ItemizedIconOverlay.OnItemGestureListener { override fun onItemSingleTapUp(index: Int, item: OverlayItem): Boolean { markerListener.onMarkerTapped(item.point.latitude, item.point.longitude) return true } - override fun onItemLongPress(index: Int, item: OverlayItem): Boolean { val v = context.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - v.vibrate( - VibrationEffect.createOneShot( - 50, VibrationEffect.DEFAULT_AMPLITUDE - ) - ) - } else { - v.vibrate(50) - } + v.vibrate(50) Toast.makeText(context, item.snippet, Toast.LENGTH_LONG).show() return true } }) } -} +} \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_clear_white_24dp.xml b/app/src/main/res/drawable/ic_clear_white_24dp.xml index 9d53cbb..27ca255 100755 --- a/app/src/main/res/drawable/ic_clear_white_24dp.xml +++ b/app/src/main/res/drawable/ic_clear_white_24dp.xml @@ -1,9 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z" + android:fillColor="@color/trackbook_white" /> diff --git a/app/src/main/res/drawable/ic_compass_needle_black_24dp.xml b/app/src/main/res/drawable/ic_compass_needle_black_24dp.xml index 9c4a959..df07973 100755 --- a/app/src/main/res/drawable/ic_compass_needle_black_24dp.xml +++ b/app/src/main/res/drawable/ic_compass_needle_black_24dp.xml @@ -1,9 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + android:pathData="M21,3L3,10.53v0.98l6.84,2.65L12.48,21h0.98L21,3z"/> diff --git a/app/src/main/res/drawable/ic_current_location_24dp.xml b/app/src/main/res/drawable/ic_current_location_24dp.xml index 01bccaa..fa34fbf 100755 --- a/app/src/main/res/drawable/ic_current_location_24dp.xml +++ b/app/src/main/res/drawable/ic_current_location_24dp.xml @@ -1,9 +1,9 @@ - + + android:pathData="M12,8c-2.21,0 -4,1.79 -4,4s1.79,4 4,4 4,-1.79 4,-4 -1.79,-4 -4,-4zM20.94,11c-0.46,-4.17 -3.77,-7.48 -7.94,-7.94L13,1h-2v2.06C6.83,3.52 3.52,6.83 3.06,11L1,11v2h2.06c0.46,4.17 3.77,7.48 7.94,7.94L11,23h2v-2.06c4.17,-0.46 7.48,-3.77 7.94,-7.94L23,13v-2h-2.06zM12,19c-3.87,0 -7,-3.13 -7,-7s3.13,-7 7,-7 7,3.13 7,7 -3.13,7 -7,7z"/> diff --git a/app/src/main/res/drawable/ic_delete_24dp.xml b/app/src/main/res/drawable/ic_delete_24dp.xml index bdbbc77..8698fa6 100644 --- a/app/src/main/res/drawable/ic_delete_24dp.xml +++ b/app/src/main/res/drawable/ic_delete_24dp.xml @@ -3,7 +3,7 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24"> - + diff --git a/app/src/main/res/drawable/ic_edit_24dp.xml b/app/src/main/res/drawable/ic_edit_24dp.xml index c6b470b..6c65efa 100644 --- a/app/src/main/res/drawable/ic_edit_24dp.xml +++ b/app/src/main/res/drawable/ic_edit_24dp.xml @@ -1,9 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + android:pathData="M14.06,9.02l0.92,0.92L5.92,19L5,19v-0.92l9.06,-9.06M17.66,3c-0.25,0 -0.51,0.1 -0.7,0.29l-1.83,1.83 3.75,3.75 1.83,-1.83c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.2,-0.2 -0.45,-0.29 -0.71,-0.29zM14.06,6.19L3,17.25L3,21h3.75L17.81,9.94l-3.75,-3.75z"/> diff --git a/app/src/main/res/drawable/ic_fiber_manual_record_red_24dp.xml b/app/src/main/res/drawable/ic_fiber_manual_record_red_24dp.xml index 8f72922..0bcd70e 100755 --- a/app/src/main/res/drawable/ic_fiber_manual_record_red_24dp.xml +++ b/app/src/main/res/drawable/ic_fiber_manual_record_red_24dp.xml @@ -1,9 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + android:pathData="M12,12m-8,0a8,8 0,1 1,16 0a8,8 0,1 1,-16 0" + android:fillColor="#DC2B00"/> diff --git a/app/src/main/res/drawable/ic_fiber_manual_record_white_24dp.xml b/app/src/main/res/drawable/ic_fiber_manual_record_white_24dp.xml index 805b512..d734aef 100755 --- a/app/src/main/res/drawable/ic_fiber_manual_record_white_24dp.xml +++ b/app/src/main/res/drawable/ic_fiber_manual_record_white_24dp.xml @@ -1,9 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + android:pathData="M12,12m-8,0a8,8 0,1 1,16 0a8,8 0,1 1,-16 0" + android:fillColor="@color/trackbook_white" /> diff --git a/app/src/main/res/drawable/ic_gps_24dp.xml b/app/src/main/res/drawable/ic_gps_24dp.xml index 08998f4..a86f88c 100755 --- a/app/src/main/res/drawable/ic_gps_24dp.xml +++ b/app/src/main/res/drawable/ic_gps_24dp.xml @@ -1,9 +1,9 @@ - + + android:pathData="M12,8c-2.21,0 -4,1.79 -4,4s1.79,4 4,4 4,-1.79 4,-4 -1.79,-4 -4,-4zM20.94,11c-0.46,-4.17 -3.77,-7.48 -7.94,-7.94L13,1h-2v2.06C6.83,3.52 3.52,6.83 3.06,11L1,11v2h2.06c0.46,4.17 3.77,7.48 7.94,7.94L11,23h2v-2.06c4.17,-0.46 7.48,-3.77 7.94,-7.94L23,13v-2h-2.06zM12,19c-3.87,0 -7,-3.13 -7,-7s3.13,-7 7,-7 7,3.13 7,7 -3.13,7 -7,7z"/> diff --git a/app/src/main/res/drawable/ic_info_24dp.xml b/app/src/main/res/drawable/ic_info_24dp.xml index 945af95..31b21e7 100644 --- a/app/src/main/res/drawable/ic_info_24dp.xml +++ b/app/src/main/res/drawable/ic_info_24dp.xml @@ -3,7 +3,7 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24"> - + diff --git a/app/src/main/res/drawable/ic_marker_location_blue_grey_24dp.xml b/app/src/main/res/drawable/ic_marker_location_blue_grey_24dp.xml index fe2b9d4..95a2828 100644 --- a/app/src/main/res/drawable/ic_marker_location_blue_grey_24dp.xml +++ b/app/src/main/res/drawable/ic_marker_location_blue_grey_24dp.xml @@ -1,13 +1,13 @@ + android:height="24dp" + android:viewportHeight="96.0" + android:viewportWidth="96.0" + android:width="24dp"> + android:pathData="M48,48m-48,0a48,48 0,1 1,96 0a48,48 0,1 1,-96 0"/> + android:pathData="M48,48m-24,0a24,24 0,1 1,48 0a24,24 0,1 1,-48 0"/> diff --git a/app/src/main/res/drawable/ic_marker_location_red_24dp.xml b/app/src/main/res/drawable/ic_marker_location_red_24dp.xml index 35a26bb..9c79b58 100755 --- a/app/src/main/res/drawable/ic_marker_location_red_24dp.xml +++ b/app/src/main/res/drawable/ic_marker_location_red_24dp.xml @@ -1,13 +1,13 @@ + android:height="24dp" + android:viewportHeight="96.0" + android:viewportWidth="96.0" + android:width="24dp"> + android:pathData="M48,48m-48,0a48,48 0,1 1,96 0a48,48 0,1 1,-96 0"/> + android:pathData="M48,48m-24,0a24,24 0,1 1,48 0a24,24 0,1 1,-48 0"/> diff --git a/app/src/main/res/drawable/ic_marker_location_red_grey_24dp.xml b/app/src/main/res/drawable/ic_marker_location_red_grey_24dp.xml index 86d4f9e..b470e56 100644 --- a/app/src/main/res/drawable/ic_marker_location_red_grey_24dp.xml +++ b/app/src/main/res/drawable/ic_marker_location_red_grey_24dp.xml @@ -1,13 +1,13 @@ + android:height="24dp" + android:viewportHeight="96.0" + android:viewportWidth="96.0" + android:width="24dp"> + android:pathData="M48,48m-48,0a48,48 0,1 1,96 0a48,48 0,1 1,-96 0"/> + android:pathData="M48,48m-24,0a24,24 0,1 1,48 0a24,24 0,1 1,-48 0"/> diff --git a/app/src/main/res/drawable/ic_marker_track_location_blue_24dp.xml b/app/src/main/res/drawable/ic_marker_track_location_blue_24dp.xml index da49a6b..8994111 100755 --- a/app/src/main/res/drawable/ic_marker_track_location_blue_24dp.xml +++ b/app/src/main/res/drawable/ic_marker_track_location_blue_24dp.xml @@ -1,10 +1,10 @@ + android:height="24dp" + android:viewportHeight="96.0" + android:viewportWidth="96.0" + android:width="24dp"> + android:pathData="M48,48m-24,0a24,24 0,1 1,48 0a24,24 0,1 1,-48 0"/> diff --git a/app/src/main/res/drawable/ic_marker_track_location_grey_24dp.xml b/app/src/main/res/drawable/ic_marker_track_location_grey_24dp.xml index 57c81f1..079ca2b 100755 --- a/app/src/main/res/drawable/ic_marker_track_location_grey_24dp.xml +++ b/app/src/main/res/drawable/ic_marker_track_location_grey_24dp.xml @@ -1,10 +1,10 @@ + android:height="24dp" + android:viewportHeight="96.0" + android:viewportWidth="96.0" + android:width="24dp"> + android:pathData="M48,48m-24,0a24,24 0,1 1,48 0a24,24 0,1 1,-48 0"/> diff --git a/app/src/main/res/drawable/ic_notebook_black_24dp.xml b/app/src/main/res/drawable/ic_notebook_black_24dp.xml index 64c93dd..d3d8e2a 100755 --- a/app/src/main/res/drawable/ic_notebook_black_24dp.xml +++ b/app/src/main/res/drawable/ic_notebook_black_24dp.xml @@ -1,12 +1,12 @@ + android:height="24dp" + android:width="24dp"> + android:pathData="M44,12.99L20.69,8.74L5.12,5.89C2.29,5.38 0,7.44 0,10.49v67.38c0,3.06 2.29,5.96 5.12,6.47l15.57,2.85l22.19,4.05L44,91.46V12.99z"/> + android:pathData="M90.88,5.89L75.31,8.74L53.12,12.79L52,12.99v78.46l23.31,-4.26l15.57,-2.85c2.83,-0.52 5.12,-3.41 5.12,-6.47V10.49C96,7.44 93.71,5.38 90.88,5.89z"/> diff --git a/app/src/main/res/drawable/ic_notification_action_resume_36dp.xml b/app/src/main/res/drawable/ic_notification_action_resume_36dp.xml index 835a5d8..f1017e0 100644 --- a/app/src/main/res/drawable/ic_notification_action_resume_36dp.xml +++ b/app/src/main/res/drawable/ic_notification_action_resume_36dp.xml @@ -1,9 +1,9 @@ + android:width="36dp"> - + android:pathData="M12,12m-8,0a8,8 0,1 1,16 0a8,8 0,1 1,-16 0"/> + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_notification_action_show_36dp.xml b/app/src/main/res/drawable/ic_notification_action_show_36dp.xml index 0ebbbd7..4c1ec9c 100644 --- a/app/src/main/res/drawable/ic_notification_action_show_36dp.xml +++ b/app/src/main/res/drawable/ic_notification_action_show_36dp.xml @@ -1,9 +1,9 @@ + android:width="36dp"> + android:pathData="M12,4.5C7,4.5 2.73,7.61 1,12c1.73,4.39 6,7.5 11,7.5s9.27,-3.11 11,-7.5c-1.73,-4.39 -6,-7.5 -11,-7.5zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3 3,-1.34 3,-3 -1.34,-3 -3,-3z"/> diff --git a/app/src/main/res/drawable/ic_notification_action_stop_24dp.xml b/app/src/main/res/drawable/ic_notification_action_stop_24dp.xml index b436dde..cecebba 100644 --- a/app/src/main/res/drawable/ic_notification_action_stop_24dp.xml +++ b/app/src/main/res/drawable/ic_notification_action_stop_24dp.xml @@ -1,9 +1,9 @@ + android:width="36dp"> + android:pathData="M6,6h12v12H6z"/> diff --git a/app/src/main/res/drawable/ic_notification_icon_large_tracking_active_48dp.xml b/app/src/main/res/drawable/ic_notification_icon_large_tracking_active_48dp.xml index eb643b1..787e5cf 100755 --- a/app/src/main/res/drawable/ic_notification_icon_large_tracking_active_48dp.xml +++ b/app/src/main/res/drawable/ic_notification_icon_large_tracking_active_48dp.xml @@ -1,12 +1,12 @@ + android:width="48dp" > + android:pathData="M96,96m-96,0a96,96 0,1 1,192 0a96,96 0,1 1,-192 0"/> + android:pathData="M48,96a48,46.5 0,1 0,96 0a48,46.5 0,1 0,-96 0z"/> diff --git a/app/src/main/res/drawable/ic_notification_icon_large_tracking_stopped_48dp.xml b/app/src/main/res/drawable/ic_notification_icon_large_tracking_stopped_48dp.xml index 9c687ac..7d270c1 100755 --- a/app/src/main/res/drawable/ic_notification_icon_large_tracking_stopped_48dp.xml +++ b/app/src/main/res/drawable/ic_notification_icon_large_tracking_stopped_48dp.xml @@ -1,12 +1,12 @@ + android:width="48dp" > + android:pathData="M96,96m-96,0a96,96 0,1 1,192 0a96,96 0,1 1,-192 0"/> + android:pathData="M48,96a48,46.5 0,1 0,96 0a48,46.5 0,1 0,-96 0z"/> diff --git a/app/src/main/res/drawable/ic_notification_icon_small_24dp.xml b/app/src/main/res/drawable/ic_notification_icon_small_24dp.xml index 3d3abc8..e481483 100755 --- a/app/src/main/res/drawable/ic_notification_icon_small_24dp.xml +++ b/app/src/main/res/drawable/ic_notification_icon_small_24dp.xml @@ -1,12 +1,12 @@ + android:height="24dp" + android:width="24dp"> + android:pathData="M44,12.99L20.69,8.74L5.12,5.89C2.29,5.38 0,7.44 0,10.49v67.38c0,3.06 2.29,5.96 5.12,6.47l15.57,2.85l22.19,4.05L44,91.46V12.99z"/> + android:pathData="M90.88,5.89L75.31,8.74L53.12,12.79L52,12.99v78.46l23.31,-4.26l15.57,-2.85c2.83,-0.52 5.12,-3.41 5.12,-6.47V10.49C96,7.44 93.71,5.38 90.88,5.89z"/> diff --git a/app/src/main/res/drawable/ic_remove_circle_24dp.xml b/app/src/main/res/drawable/ic_remove_circle_24dp.xml index 088e113..31439c3 100644 --- a/app/src/main/res/drawable/ic_remove_circle_24dp.xml +++ b/app/src/main/res/drawable/ic_remove_circle_24dp.xml @@ -1,9 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM17,13L7,13v-2h10v2z"/> diff --git a/app/src/main/res/drawable/ic_save_24dp.xml b/app/src/main/res/drawable/ic_save_24dp.xml index 561583f..14e3ad6 100644 --- a/app/src/main/res/drawable/ic_save_24dp.xml +++ b/app/src/main/res/drawable/ic_save_24dp.xml @@ -3,7 +3,7 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24"> - + diff --git a/app/src/main/res/drawable/ic_save_white_24dp.xml b/app/src/main/res/drawable/ic_save_white_24dp.xml index abc7dbe..1f1ec00 100755 --- a/app/src/main/res/drawable/ic_save_white_24dp.xml +++ b/app/src/main/res/drawable/ic_save_white_24dp.xml @@ -1,9 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z"/> diff --git a/app/src/main/res/drawable/ic_settings_black_24dp.xml b/app/src/main/res/drawable/ic_settings_black_24dp.xml index 07d2cd0..48597cc 100644 --- a/app/src/main/res/drawable/ic_settings_black_24dp.xml +++ b/app/src/main/res/drawable/ic_settings_black_24dp.xml @@ -1,9 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24"> + android:pathData="M19.1,12.9a2.8,2.8 0,0 0,0.1 -0.9,2.8 2.8,0 0,0 -0.1,-0.9l2.1,-1.6a0.7,0.7 0,0 0,0.1 -0.6L19.4,5.5a0.7,0.7 0,0 0,-0.6 -0.2l-2.4,1a6.5,6.5 0,0 0,-1.6 -0.9l-0.4,-2.6a0.5,0.5 0,0 0,-0.5 -0.4H10.1a0.5,0.5 0,0 0,-0.5 0.4L9.3,5.4a5.6,5.6 0,0 0,-1.7 0.9l-2.4,-1a0.4,0.4 0,0 0,-0.5 0.2l-2,3.4c-0.1,0.2 0,0.4 0.2,0.6l2,1.6a2.8,2.8 0,0 0,-0.1 0.9,2.8 2.8,0 0,0 0.1,0.9L2.8,14.5a0.7,0.7 0,0 0,-0.1 0.6l1.9,3.4a0.7,0.7 0,0 0,0.6 0.2l2.4,-1a6.5,6.5 0,0 0,1.6 0.9l0.4,2.6a0.5,0.5 0,0 0,0.5 0.4h3.8a0.5,0.5 0,0 0,0.5 -0.4l0.3,-2.6a5.6,5.6 0,0 0,1.7 -0.9l2.4,1a0.4,0.4 0,0 0,0.5 -0.2l2,-3.4c0.1,-0.2 0,-0.4 -0.2,-0.6ZM12,15.6A3.6,3.6 0,1 1,15.6 12,3.6 3.6,0 0,1 12,15.6Z"/> diff --git a/app/src/main/res/drawable/ic_square_foot_24px.xml b/app/src/main/res/drawable/ic_square_foot_24px.xml index 4f291a0..2017e45 100644 --- a/app/src/main/res/drawable/ic_square_foot_24px.xml +++ b/app/src/main/res/drawable/ic_square_foot_24px.xml @@ -3,7 +3,7 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24"> - + diff --git a/app/src/main/res/drawable/ic_star_outline_24dp.xml b/app/src/main/res/drawable/ic_star_outline_24dp.xml index 9eba63b..81babd1 100644 --- a/app/src/main/res/drawable/ic_star_outline_24dp.xml +++ b/app/src/main/res/drawable/ic_star_outline_24dp.xml @@ -1,9 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + android:pathData="M22,9.24l-7.19,-0.62L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21 12,17.27 18.18,21l-1.63,-7.03L22,9.24zM12,15.4l-3.76,2.27 1,-4.28 -3.32,-2.88 4.38,-0.38L12,6.1l1.71,4.04 4.38,0.38 -3.32,2.88 1,4.28L12,15.4z"/> diff --git a/app/src/main/res/drawable/ic_timeline_24dp.xml b/app/src/main/res/drawable/ic_timeline_24dp.xml index 5dfa1d4..967f85e 100644 --- a/app/src/main/res/drawable/ic_timeline_24dp.xml +++ b/app/src/main/res/drawable/ic_timeline_24dp.xml @@ -1,9 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + android:pathData="M21,6L3,6c-1.1,0 -2,0.9 -2,2v8c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,8c0,-1.1 -0.9,-2 -2,-2zM21,16L3,16L3,8h2v4h2L7,8h2v4h2L11,8h2v4h2L15,8h2v4h2L19,8h2v8z"/> diff --git a/app/src/main/res/drawable/ic_undo_24dp.xml b/app/src/main/res/drawable/ic_undo_24dp.xml index fda630a..97edd0c 100644 --- a/app/src/main/res/drawable/ic_undo_24dp.xml +++ b/app/src/main/res/drawable/ic_undo_24dp.xml @@ -1,9 +1,9 @@ + android:width="24dp" + android:height="24dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + android:pathData="M12.5,8c-2.65,0 -5.05,0.99 -6.9,2.6L2,7v9h9l-3.62,-3.62c1.39,-1.16 3.16,-1.88 5.12,-1.88 3.54,0 6.55,2.31 7.6,5.5l2.37,-0.78C21.08,11.03 17.15,8 12.5,8z"/> diff --git a/app/src/main/res/drawable/selector_bottom_navigation.xml b/app/src/main/res/drawable/selector_bottom_navigation.xml index 2e71ece..1c4350c 100755 --- a/app/src/main/res/drawable/selector_bottom_navigation.xml +++ b/app/src/main/res/drawable/selector_bottom_navigation.xml @@ -1,5 +1,5 @@ - - + + diff --git a/app/src/main/res/drawable/shape_statistics_background_collapsed.xml b/app/src/main/res/drawable/shape_statistics_background_collapsed.xml index 6ac8451..3f75958 100644 --- a/app/src/main/res/drawable/shape_statistics_background_collapsed.xml +++ b/app/src/main/res/drawable/shape_statistics_background_collapsed.xml @@ -2,20 +2,17 @@ + android:bottom="-2dp"> - + - - + + diff --git a/app/src/main/res/drawable/shape_statistics_background_expanded.xml b/app/src/main/res/drawable/shape_statistics_background_expanded.xml index 74d4e51..682b9e8 100644 --- a/app/src/main/res/drawable/shape_statistics_background_expanded.xml +++ b/app/src/main/res/drawable/shape_statistics_background_expanded.xml @@ -2,20 +2,17 @@ + android:bottom="-2dp"> - + - - + + diff --git a/app/src/main/res/layout/dialog_generic_with_details.xml b/app/src/main/res/layout/dialog_generic_with_details.xml index 44e19db..89af16d 100644 --- a/app/src/main/res/layout/dialog_generic_with_details.xml +++ b/app/src/main/res/layout/dialog_generic_with_details.xml @@ -1,5 +1,6 @@ - - + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_rename_track.xml b/app/src/main/res/layout/dialog_rename_track.xml index bcf666a..04c2a7c 100644 --- a/app/src/main/res/layout/dialog_rename_track.xml +++ b/app/src/main/res/layout/dialog_rename_track.xml @@ -1,5 +1,6 @@ - @@ -28,4 +29,4 @@ - + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_track.xml b/app/src/main/res/layout/fragment_track.xml index f594f72..8a93a54 100755 --- a/app/src/main/res/layout/fragment_track.xml +++ b/app/src/main/res/layout/fragment_track.xml @@ -1,5 +1,6 @@ - - + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_tracklist.xml b/app/src/main/res/layout/fragment_tracklist.xml index cd00fec..cc535b7 100644 --- a/app/src/main/res/layout/fragment_tracklist.xml +++ b/app/src/main/res/layout/fragment_tracklist.xml @@ -1,5 +1,6 @@ - - + - - + + diff --git a/app/src/main/res/layout/track_onboarding.xml b/app/src/main/res/layout/track_onboarding.xml index 2367c1e..fcedbd1 100755 --- a/app/src/main/res/layout/track_onboarding.xml +++ b/app/src/main/res/layout/track_onboarding.xml @@ -1,9 +1,10 @@ - + android:layout_height="match_parent" + android:id="@+id/track_list_onboarding"> - - - + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml index 8ae0e29..4ae7d12 100644 --- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -1,5 +1,5 @@ - - - + + + \ No newline at end of file diff --git a/app/src/main/res/navigation/nav_graph_main.xml b/app/src/main/res/navigation/nav_graph_main.xml index a3f2e1a..caf5eef 100644 --- a/app/src/main/res/navigation/nav_graph_main.xml +++ b/app/src/main/res/navigation/nav_graph_main.xml @@ -27,7 +27,7 @@ + android:label="Settings"/> + tools:layout="@layout/fragment_track" > + app:argType="long" + android:defaultValue="-1L" /> diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 6a1bd19..0459398 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -1,95 +1,95 @@ - - - Trackbook - - - 地图 - 记录 - 设置 - - Trackbook 正在运行 - Trackbook 已暂停 - 暂停 - 恢复 - 显示 - 运动记录状态 - 显示持续时间和距离.停止移动录制的选项. - - 位置服务已关闭,Trackbook 将不会运行. - 位置权限未被授予 Trackbook 无法工作. - - 删除 - 保存 - 恢复 - - 取消 - OK - 显示详情 - 无法保存 - Trackbook目前没有记录到任何航点. - 恢复记录 - 重命名 - 输入一个新名称 - 分享GPX文件到 - - 删除 - 删除此记录? - - 提示:海拔数据的准确性取决于您的设备.测量整个路线的上坡和下坡海拔. - 请先安装一个文件管理器或GPX轨迹查看器. + + + Trackbook + + + 地图 + 记录 + 设置 + + Trackbook 正在运行 + Trackbook 已暂停 + 暂停 + 恢复 + 显示 + 运动记录状态 + 显示持续时间和距离.停止移动录制的选项. + + 位置服务已关闭,Trackbook 将不会运行. + 位置权限未被授予 Trackbook 无法工作. + + 删除 + 保存 + 恢复 + + 取消 + OK + 显示详情 + 无法保存 + Trackbook目前没有记录到任何航点. + 恢复记录 + 重命名 + 输入一个新名称 + 分享GPX文件到 + + 删除 + 删除此记录? + + 提示:海拔数据的准确性取决于您的设备.测量整个路线的上坡和下坡海拔. + 请先安装一个文件管理器或GPX轨迹查看器. - 时间 - 误差 - - 总里程: - 步数: - 计步器不可用 - 航点数量: - 用时: - 追踪开始: - 追踪结束: - 最高航点: - 最低航点: - 海拔(上坡): - 海拔(下坡): - - - Trackbook 应用图标 - - 你的运动记录 - ... 会显示在这里. - - 丢弃误差大于 - 误差的阈值 - 高级 - 一般 - 仅限于GPS - 当前使用GPS和网络进行定位. - 当前使用GPS进行定位. - 当前使用公制单位(千米,米). - 当前使用英制单位(英里,英尺). - 使用英制 - 高级设置重置为默认值. - 重置 - - - - - - 航迹图 - 最后一个轨迹的航迹图 - 开始录制按钮 - 保存按钮 - 删除按钮 - 恢复按钮 - 加星按钮 - 删除记录按钮 - 记录编辑按钮 - 以GPX文件分享按钮 - - 23.0 km • 5 时 23 分 42 秒 - 1969年7月20日 - 轨迹数据丢失 + 时间 + 误差 + + 总里程: + 步数: + 计步器不可用 + 航点数量: + 用时: + 追踪开始: + 追踪结束: + 最高航点: + 最低航点: + 海拔(上坡): + 海拔(下坡): + + + Trackbook 应用图标 + + 你的运动记录 + ... 会显示在这里. + + 丢弃误差大于 + 误差的阈值 + 高级 + 一般 + 仅限于GPS + 当前使用GPS和网络进行定位. + 当前使用GPS进行定位. + 当前使用公制单位(千米,米). + 当前使用英制单位(英里,英尺). + 使用英制 + 高级设置重置为默认值. + 重置 + + + + + + 航迹图 + 最后一个轨迹的航迹图 + 开始录制按钮 + 保存按钮 + 删除按钮 + 恢复按钮 + 加星按钮 + 删除记录按钮 + 记录编辑按钮 + 以GPX文件分享按钮 + + 23.0 km • 5 时 23 分 42 秒 + 1969年7月20日 + 轨迹数据丢失 diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 4928a7e..e2c897d 100755 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -1,9 +1,6 @@ - - - -1 - + -1 16dp @dimen/custom_match_parent diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 5bbbd09..724e360 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -20,11 +20,9 @@ @style/NegativeButtonStyle @style/PositiveButtonStyle - - diff --git a/app/src/main/res/xml/provider_paths.xml b/app/src/main/res/xml/provider_paths.xml index a075ef9..4495c28 100644 --- a/app/src/main/res/xml/provider_paths.xml +++ b/app/src/main/res/xml/provider_paths.xml @@ -1,6 +1,4 @@ - - + + \ No newline at end of file