mirror of
https://github.com/barbeau/gpstest.git
synced 2025-12-05 18:46:30 -06:00
chore: Upgrade Gradle, Kotlin and optimize imports (#726)
* Update android.yml
* Update android.yml
* Update AndroidManifest.xml
* Update android.yml
* Update AndroidManifest.xml
* Separate steps
* Avoid linting
* List packages
* Build debug
* Add stacktrace
* Upload artifacts
* Checkout
* Wait for build
* Fix ADB path
* Fix paths
* Update targets
* Test and check
* Fix path
* Improve pipeline
* Fix CI
* Fix action
* Upload on failure
* Removel inting
* Fix lint report path
* Fix path
* Print paths content
* Add params
* Fix path
* Remove lint
* Check
* Test only
* Format
* Re add linting
* Remove format
* Fix paths
* Uneeded
* Disable telemetry
* Fix library use
* Revert lib change
* Use Gradle to deploy
* Run instrumentation tests after install
* Save artifacts directories
* Run instrumented tests on main app only
* Manual SDK install
* connectedCheck
* Use runner action
* No manual install
* Temporary comment
* No artifact download
* Add Checkstyle
* Pin actions and remove comments
* Needs build
* Add Dependabot
* Harden runners
* Add checkstyle configuration
* Consistency
* actions-update: Bump actions/checkout in the actions-dependencies group
Bumps the actions-dependencies group with 1 update: [actions/checkout](https://github.com/actions/checkout).
Updates `actions/checkout` from 2 to 4
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v2...v4)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
* Hardening in block mode
* build(deps): Bump the gradle group across 1 directory with 3 updates
Bumps the gradle group with 3 updates in the / directory: commons-io:commons-io, [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) and [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson).
Updates `commons-io:commons-io` from 2.8.0 to 2.14.0
Updates `com.fasterxml.jackson.core:jackson-core` from 2.14.2 to 2.15.0
- [Changelog](https://github.com/FasterXML/jackson-core/blob/jackson-core-2.15.0/release.properties)
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.14.2...jackson-core-2.15.0)
Updates `com.fasterxml.jackson.core:jackson-databind` from 2.12.4 to 2.12.7.1
- [Commits](https://github.com/FasterXML/jackson/commits)
---
updated-dependencies:
- dependency-name: commons-io:commons-io
dependency-version: 2.14.0
dependency-type: direct:production
dependency-group: gradle
- dependency-name: com.fasterxml.jackson.core:jackson-core
dependency-version: 2.15.0
dependency-type: direct:production
dependency-group: gradle
- dependency-name: com.fasterxml.jackson.core:jackson-databind
dependency-version: 2.12.7.1
dependency-type: direct:production
dependency-group: gradle
...
Signed-off-by: dependabot[bot] <support@github.com>
* Gradle 8.14
* Fix egress
* Fix egress
* Audit
* Revert
* Run checkstyle
* Add task
* Remove checkstyle
* Remove checkstyle
* Fix name
* Add name
* Correct reports path
* Print paths
* Print
* Upload build logs
* Remove logs upload
* Misc
* Cache readonly (#4)
* Implement read only cache
* Build OsmDroid
* Parallelize jobs (#6)
* actions-update: Bump step-security/harden-runner (#5)
Bumps the actions-dependencies group with 1 update: [step-security/harden-runner](https://github.com/step-security/harden-runner).
Updates `step-security/harden-runner` from 2.12.2 to 2.13.0
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](6c439dc8bd...ec9f2d5744)
---
updated-dependencies:
- dependency-name: step-security/harden-runner
dependency-version: 2.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: actions-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Upgrade to Gradle 8.13
* Upgrade Kotlin version
* Add buildConfig
* Optimize imports
* Dependabot: only upgrade at patch version level
* Revert Gradle update action
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
6
.github/workflows/android.yml
vendored
6
.github/workflows/android.yml
vendored
@@ -33,7 +33,7 @@ jobs:
|
||||
- name: Setup Gradle and cache
|
||||
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
|
||||
with:
|
||||
gradle-version: '8.9'
|
||||
gradle-version: '8.13'
|
||||
|
||||
- name: Run checks
|
||||
run: ./gradlew check -x lint
|
||||
@@ -64,7 +64,7 @@ jobs:
|
||||
- name: Setup Gradle and cache
|
||||
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
|
||||
with:
|
||||
gradle-version: '8.9'
|
||||
gradle-version: '8.13'
|
||||
cache-read-only: true
|
||||
|
||||
- name: Build app
|
||||
@@ -110,7 +110,7 @@ jobs:
|
||||
- name: Setup Gradle and cache
|
||||
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
|
||||
with:
|
||||
gradle-version: '8.9'
|
||||
gradle-version: '8.13'
|
||||
cache-read-only: true
|
||||
|
||||
- name: Configure AVD cache
|
||||
|
||||
@@ -2,6 +2,7 @@ apply plugin: 'com.android.application'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-kapt'
|
||||
apply plugin: 'dagger.hilt.android.plugin'
|
||||
apply plugin: 'org.jetbrains.kotlin.plugin.compose'
|
||||
|
||||
android {
|
||||
compileSdkVersion 33
|
||||
@@ -130,6 +131,10 @@ android {
|
||||
viewBinding true
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
buildConfig = true
|
||||
}
|
||||
|
||||
// Gradle automatically adds 'android.test.runner' as a dependency.
|
||||
useLibrary 'android.test.runner'
|
||||
|
||||
|
||||
@@ -20,7 +20,10 @@ import android.location.Location
|
||||
import androidx.test.InstrumentationRegistry.getTargetContext
|
||||
import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner
|
||||
import com.android.gpstest.library.util.IOUtils
|
||||
import junit.framework.Assert.*
|
||||
import junit.framework.Assert.assertEquals
|
||||
import junit.framework.Assert.assertFalse
|
||||
import junit.framework.Assert.assertNull
|
||||
import junit.framework.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
|
||||
@@ -15,6 +15,10 @@
|
||||
*/
|
||||
package com.android.gpstest;
|
||||
|
||||
import static androidx.test.InstrumentationRegistry.getTargetContext;
|
||||
import static junit.framework.Assert.assertFalse;
|
||||
import static junit.framework.Assert.assertTrue;
|
||||
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
|
||||
@@ -27,10 +31,6 @@ import org.junit.runner.RunWith;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import static androidx.test.InstrumentationRegistry.getTargetContext;
|
||||
import static junit.framework.Assert.assertFalse;
|
||||
import static junit.framework.Assert.assertTrue;
|
||||
|
||||
@RunWith(AndroidJUnit4ClassRunner.class)
|
||||
public class LocationUtilsTest {
|
||||
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
*/
|
||||
package com.android.gpstest;
|
||||
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
|
||||
import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner;
|
||||
|
||||
import com.android.gpstest.library.util.MathUtils;
|
||||
@@ -24,8 +26,6 @@ import org.junit.runner.RunWith;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
|
||||
@RunWith(AndroidJUnit4ClassRunner.class)
|
||||
public class MathUtilsAndroidTest {
|
||||
|
||||
|
||||
@@ -15,14 +15,21 @@
|
||||
*/
|
||||
package com.android.gpstest
|
||||
|
||||
import android.location.GnssMeasurement.*
|
||||
import android.location.GnssMeasurement.ADR_STATE_CYCLE_SLIP
|
||||
import android.location.GnssMeasurement.ADR_STATE_HALF_CYCLE_REPORTED
|
||||
import android.location.GnssMeasurement.ADR_STATE_HALF_CYCLE_RESOLVED
|
||||
import android.location.GnssMeasurement.ADR_STATE_RESET
|
||||
import android.location.GnssMeasurement.ADR_STATE_UNKNOWN
|
||||
import android.location.GnssMeasurement.ADR_STATE_VALID
|
||||
import android.os.Build
|
||||
import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner
|
||||
import com.android.gpstest.library.model.GnssType
|
||||
import com.android.gpstest.library.model.SatelliteStatus
|
||||
import com.android.gpstest.library.model.SbasType
|
||||
import com.android.gpstest.library.util.SatelliteUtils
|
||||
import org.junit.Assert.*
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Assert.assertFalse
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
|
||||
@@ -17,19 +17,27 @@
|
||||
package com.android.gpstest
|
||||
|
||||
import android.app.Application
|
||||
import android.content.Context
|
||||
import android.os.Build
|
||||
import android.preference.PreferenceManager
|
||||
import androidx.arch.core.executor.testing.InstantTaskExecutorRule
|
||||
import androidx.test.InstrumentationRegistry
|
||||
import androidx.test.InstrumentationRegistry.getTargetContext
|
||||
import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner
|
||||
import com.android.gpstest.library.data.*
|
||||
import com.android.gpstest.library.data.LocationRepository
|
||||
import com.android.gpstest.library.data.SharedAntennaManager
|
||||
import com.android.gpstest.library.data.SharedGnssMeasurementManager
|
||||
import com.android.gpstest.library.data.SharedGnssStatusManager
|
||||
import com.android.gpstest.library.data.SharedLocationManager
|
||||
import com.android.gpstest.library.data.SharedNavMessageManager
|
||||
import com.android.gpstest.library.data.SharedNmeaManager
|
||||
import com.android.gpstest.library.data.SharedSensorManager
|
||||
import com.android.gpstest.library.model.GnssType
|
||||
import com.android.gpstest.library.model.SbasType
|
||||
import com.android.gpstest.library.ui.SignalInfoViewModel
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import org.junit.Assert.*
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Assert.assertFalse
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
@@ -35,22 +35,30 @@ import com.android.gpstest.Application
|
||||
import com.android.gpstest.Application.Companion.prefs
|
||||
import com.android.gpstest.R
|
||||
import com.android.gpstest.library.data.LocationRepository
|
||||
import com.android.gpstest.library.util.MathUtils
|
||||
import com.android.gpstest.library.util.PreferenceUtil
|
||||
import com.android.gpstest.map.MapConstants
|
||||
import com.android.gpstest.map.MapViewModelController
|
||||
import com.android.gpstest.map.MapViewModelController.MapInterface
|
||||
import com.android.gpstest.map.OnMapClickListener
|
||||
import com.android.gpstest.util.MapUtils
|
||||
import com.android.gpstest.library.util.MathUtils
|
||||
import com.android.gpstest.library.util.PreferenceUtil
|
||||
import com.google.android.gms.common.ConnectionResult
|
||||
import com.google.android.gms.common.GoogleApiAvailability
|
||||
import com.google.android.gms.maps.CameraUpdateFactory
|
||||
import com.google.android.gms.maps.GoogleMap
|
||||
import com.google.android.gms.maps.GoogleMap.*
|
||||
import com.google.android.gms.maps.GoogleMap.OnCameraChangeListener
|
||||
import com.google.android.gms.maps.GoogleMap.OnMapLongClickListener
|
||||
import com.google.android.gms.maps.GoogleMap.OnMyLocationButtonClickListener
|
||||
import com.google.android.gms.maps.LocationSource
|
||||
import com.google.android.gms.maps.LocationSource.OnLocationChangedListener
|
||||
import com.google.android.gms.maps.SupportMapFragment
|
||||
import com.google.android.gms.maps.model.*
|
||||
import com.google.android.gms.maps.model.CameraPosition
|
||||
import com.google.android.gms.maps.model.LatLng
|
||||
import com.google.android.gms.maps.model.MapStyleOptions
|
||||
import com.google.android.gms.maps.model.Marker
|
||||
import com.google.android.gms.maps.model.MarkerOptions
|
||||
import com.google.android.gms.maps.model.Polyline
|
||||
import com.google.android.gms.maps.model.PolylineOptions
|
||||
import com.google.maps.android.SphericalUtil
|
||||
import com.google.maps.android.ktx.awaitMap
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@@ -50,7 +50,12 @@ import com.android.gpstest.library.data.LocationRepository
|
||||
import com.android.gpstest.library.model.SatelliteGroup
|
||||
import com.android.gpstest.library.model.SatelliteMetadata
|
||||
import com.android.gpstest.library.util.FormatUtils.toNotificationTitle
|
||||
import com.android.gpstest.library.util.IOUtils.*
|
||||
import com.android.gpstest.library.util.IOUtils.deleteOldFiles
|
||||
import com.android.gpstest.library.util.IOUtils.forcePsdsInjection
|
||||
import com.android.gpstest.library.util.IOUtils.forceTimeInjection
|
||||
import com.android.gpstest.library.util.IOUtils.writeMeasurementToLogcat
|
||||
import com.android.gpstest.library.util.IOUtils.writeNavMessageToAndroidStudio
|
||||
import com.android.gpstest.library.util.IOUtils.writeNmeaToAndroidStudio
|
||||
import com.android.gpstest.library.util.LibUIUtils.toNotificationSummary
|
||||
import com.android.gpstest.library.util.PreferenceUtil
|
||||
import com.android.gpstest.library.util.PreferenceUtil.isCsvLoggingEnabled
|
||||
@@ -73,13 +78,18 @@ import com.android.gpstest.library.util.SatelliteUtil.toSatelliteStatus
|
||||
import com.android.gpstest.library.util.SatelliteUtils
|
||||
import com.android.gpstest.ui.MainActivity
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
import javax.inject.Inject
|
||||
import kotlinx.coroutines.*
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import kotlinx.coroutines.launch
|
||||
import java.io.File
|
||||
import java.util.Date
|
||||
import javax.inject.Inject
|
||||
|
||||
/**
|
||||
* Service tracks location, logs to files, and shows a notification to the user.
|
||||
|
||||
@@ -10,9 +10,12 @@ import android.provider.MediaStore;
|
||||
import android.provider.MediaStore.Downloads;
|
||||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
||||
import com.android.gpstest.Application;
|
||||
import com.android.gpstest.R;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
|
||||
@@ -49,9 +49,9 @@ import com.android.gpstest.chart.DistanceValueFormatter;
|
||||
import com.android.gpstest.library.model.AvgError;
|
||||
import com.android.gpstest.library.model.MeasuredError;
|
||||
import com.android.gpstest.library.util.IOUtils;
|
||||
import com.android.gpstest.library.util.LibUIUtils;
|
||||
import com.android.gpstest.library.util.MathUtils;
|
||||
import com.android.gpstest.library.util.PreferenceUtils;
|
||||
import com.android.gpstest.library.util.LibUIUtils;
|
||||
import com.android.gpstest.util.UIUtils;
|
||||
import com.github.mikephil.charting.charts.LineChart;
|
||||
import com.github.mikephil.charting.components.Legend;
|
||||
|
||||
@@ -18,8 +18,8 @@ import com.android.gpstest.Application.Companion.prefs
|
||||
import com.android.gpstest.R
|
||||
import com.android.gpstest.library.model.CoordinateType
|
||||
import com.android.gpstest.library.util.IOUtils
|
||||
import com.android.gpstest.library.util.PreferenceUtils
|
||||
import com.android.gpstest.library.util.LibUIUtils
|
||||
import com.android.gpstest.library.util.PreferenceUtils
|
||||
import com.google.android.material.button.MaterialButton
|
||||
import com.google.android.material.chip.Chip
|
||||
import com.google.android.material.chip.ChipGroup
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.android.gpstest.ui.share
|
||||
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
@@ -17,7 +16,6 @@ import com.android.gpstest.library.util.LibUIUtils
|
||||
import com.google.android.material.button.MaterialButton
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
import kotlin.collections.ArrayList
|
||||
|
||||
class ShareLogFragment : Fragment() {
|
||||
|
||||
|
||||
@@ -44,23 +44,23 @@ import com.android.gpstest.Application
|
||||
import com.android.gpstest.Application.Companion.app
|
||||
import com.android.gpstest.Application.Companion.prefs
|
||||
import com.android.gpstest.R
|
||||
import com.android.gpstest.library.data.FixState
|
||||
import com.android.gpstest.library.data.LocationRepository
|
||||
import com.android.gpstest.databinding.GpsSkyBinding
|
||||
import com.android.gpstest.databinding.GpsSkyLegendCardBinding
|
||||
import com.android.gpstest.databinding.GpsSkySignalMeterBinding
|
||||
import com.android.gpstest.library.data.FixState
|
||||
import com.android.gpstest.library.data.LocationRepository
|
||||
import com.android.gpstest.library.model.SatelliteMetadata
|
||||
import com.android.gpstest.library.model.SatelliteStatus
|
||||
import com.android.gpstest.library.ui.SignalInfoViewModel
|
||||
import com.android.gpstest.ui.status.Filter
|
||||
import com.android.gpstest.ui.theme.AppTheme
|
||||
import com.android.gpstest.library.util.LibUIUtils
|
||||
import com.android.gpstest.library.util.MathUtils
|
||||
import com.android.gpstest.library.util.PreferenceUtil
|
||||
import com.android.gpstest.library.util.PreferenceUtil.darkTheme
|
||||
import com.android.gpstest.library.util.PreferenceUtils
|
||||
import com.android.gpstest.library.util.PreferenceUtils.clearGnssFilter
|
||||
import com.android.gpstest.library.util.PreferenceUtils.gnssFilter
|
||||
import com.android.gpstest.library.util.LibUIUtils
|
||||
import com.android.gpstest.ui.status.Filter
|
||||
import com.android.gpstest.ui.theme.AppTheme
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.Job
|
||||
|
||||
@@ -23,15 +23,36 @@ import android.text.TextUtils
|
||||
import android.text.format.DateFormat
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.compose.animation.*
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.animation.ExperimentalAnimationApi
|
||||
import androidx.compose.animation.expandVertically
|
||||
import androidx.compose.animation.scaleIn
|
||||
import androidx.compose.animation.scaleOut
|
||||
import androidx.compose.animation.shrinkVertically
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.horizontalScroll
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.wrapContentHeight
|
||||
import androidx.compose.foundation.layout.wrapContentWidth
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material.*
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.material.AlertDialog
|
||||
import androidx.compose.material.Card
|
||||
import androidx.compose.material.Icon
|
||||
import androidx.compose.material.MaterialTheme
|
||||
import androidx.compose.material.Text
|
||||
import androidx.compose.material.TextButton
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.clip
|
||||
@@ -56,11 +77,10 @@ import com.android.gpstest.library.data.FixState
|
||||
import com.android.gpstest.library.model.CoordinateType
|
||||
import com.android.gpstest.library.model.DilutionOfPrecision
|
||||
import com.android.gpstest.library.model.SatelliteMetadata
|
||||
import com.android.gpstest.library.util.*
|
||||
import com.android.gpstest.library.util.DateTimeUtils
|
||||
import com.android.gpstest.library.util.FormatUtils.formatAccuracy
|
||||
import com.android.gpstest.library.util.FormatUtils.formatAltitude
|
||||
import com.android.gpstest.library.util.FormatUtils.formatAltitudeMsl
|
||||
import com.android.gpstest.ui.components.LinkifyText
|
||||
import com.android.gpstest.library.util.FormatUtils.formatBearing
|
||||
import com.android.gpstest.library.util.FormatUtils.formatBearingAccuracy
|
||||
import com.android.gpstest.library.util.FormatUtils.formatDoP
|
||||
@@ -69,10 +89,14 @@ import com.android.gpstest.library.util.FormatUtils.formatLatOrLon
|
||||
import com.android.gpstest.library.util.FormatUtils.formatNumSats
|
||||
import com.android.gpstest.library.util.FormatUtils.formatSpeed
|
||||
import com.android.gpstest.library.util.FormatUtils.formatSpeedAccuracy
|
||||
import com.android.gpstest.library.util.IOUtils
|
||||
import com.android.gpstest.library.util.LibUIUtils
|
||||
import com.android.gpstest.library.util.PreferenceUtil.coordinateFormat
|
||||
import com.android.gpstest.library.util.PreferenceUtil.shareIncludeAltitude
|
||||
import com.android.gpstest.library.util.PreferenceUtils
|
||||
import com.android.gpstest.library.util.PreferenceUtils.gnssFilter
|
||||
import com.android.gpstest.library.util.SatelliteUtil.isVerticalAccuracySupported
|
||||
import com.android.gpstest.ui.components.LinkifyText
|
||||
import java.text.SimpleDateFormat
|
||||
|
||||
@Preview
|
||||
|
||||
@@ -17,7 +17,12 @@
|
||||
package com.android.gpstest.ui.status
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.*
|
||||
import android.view.LayoutInflater
|
||||
import android.view.Menu
|
||||
import android.view.MenuInflater
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.compose.ui.platform.ComposeView
|
||||
import androidx.compose.ui.platform.ViewCompositionStrategy
|
||||
import androidx.fragment.app.Fragment
|
||||
@@ -26,8 +31,8 @@ import com.android.gpstest.Application.Companion.app
|
||||
import com.android.gpstest.Application.Companion.prefs
|
||||
import com.android.gpstest.R
|
||||
import com.android.gpstest.library.ui.SignalInfoViewModel
|
||||
import com.android.gpstest.ui.theme.AppTheme
|
||||
import com.android.gpstest.library.util.PreferenceUtil.darkTheme
|
||||
import com.android.gpstest.ui.theme.AppTheme
|
||||
import com.android.gpstest.util.UIUtils.showSortByDialog
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
|
||||
@@ -18,8 +18,23 @@ package com.android.gpstest.ui.status
|
||||
import android.location.Location
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.compose.foundation.*
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.border
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.horizontalScroll
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.defaultMinSize
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.wrapContentHeight
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material.Card
|
||||
import androidx.compose.material.MaterialTheme
|
||||
import androidx.compose.material.Text
|
||||
@@ -45,7 +60,11 @@ import com.android.gpstest.Application.Companion.app
|
||||
import com.android.gpstest.Application.Companion.prefs
|
||||
import com.android.gpstest.R
|
||||
import com.android.gpstest.library.data.FixState
|
||||
import com.android.gpstest.library.model.*
|
||||
import com.android.gpstest.library.model.DilutionOfPrecision
|
||||
import com.android.gpstest.library.model.GnssType
|
||||
import com.android.gpstest.library.model.SatelliteMetadata
|
||||
import com.android.gpstest.library.model.SatelliteStatus
|
||||
import com.android.gpstest.library.model.SbasType
|
||||
import com.android.gpstest.library.ui.SignalInfoViewModel
|
||||
import com.android.gpstest.library.util.CarrierFreqUtils
|
||||
import com.android.gpstest.library.util.MathUtils
|
||||
|
||||
@@ -26,10 +26,10 @@ import android.graphics.drawable.Drawable;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.ScrollView;
|
||||
|
||||
import com.android.gpstest.R;
|
||||
|
||||
import androidx.core.view.ViewCompat;
|
||||
|
||||
import com.android.gpstest.R;
|
||||
|
||||
/**
|
||||
* A layout that draws something in the insets passed to {@link #fitSystemWindows(android.graphics.Rect)},
|
||||
* i.e. the area above UI chrome
|
||||
|
||||
@@ -15,14 +15,14 @@
|
||||
*/
|
||||
package com.android.gpstest.util;
|
||||
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
import static junit.framework.Assert.assertNull;
|
||||
|
||||
import com.android.gpstest.library.model.DilutionOfPrecision;
|
||||
import com.android.gpstest.library.util.NmeaUtils;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
import static junit.framework.Assert.assertNull;
|
||||
|
||||
public class NmeaUtilsTest {
|
||||
/**
|
||||
* Test getting altitude above mean sea level (geoid) from NMEA sentences
|
||||
|
||||
@@ -4,17 +4,18 @@ buildscript {
|
||||
compose_version = '1.2.0-alpha05'
|
||||
wear_compose_version = '1.0.2'
|
||||
}
|
||||
ext.kotlin_version = '1.8.0'
|
||||
ext.hilt_version = '2.45'
|
||||
ext.kotlin_version = '2.1.0'
|
||||
ext.hilt_version = '2.56.2'
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:8.7.2'
|
||||
classpath 'com.android.tools.build:gradle:8.11.1'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
// Hilt for dependency injection
|
||||
classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
|
||||
classpath 'org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.1.0'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,5 @@ org.gradle.caching=false
|
||||
org.gradle.jvmargs=-Xmx3g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC
|
||||
android.enableJetifier=true
|
||||
android.useAndroidX=true
|
||||
android.defaults.buildfeatures.buildconfig=true
|
||||
android.nonTransitiveRClass=false
|
||||
android.nonFinalResIds=false
|
||||
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
package com.android.library
|
||||
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
import org.junit.Assert.*
|
||||
|
||||
/**
|
||||
* Instrumented test, which will execute on an Android device.
|
||||
*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<manifest>
|
||||
|
||||
</manifest>
|
||||
@@ -36,7 +36,6 @@ import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.SharingStarted
|
||||
import kotlinx.coroutines.flow.callbackFlow
|
||||
import kotlinx.coroutines.flow.shareIn
|
||||
import java.util.*
|
||||
|
||||
private const val TAG = "SharedAntennaManager"
|
||||
|
||||
|
||||
@@ -36,7 +36,12 @@ import com.android.gpstest.library.util.hasPermission
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.channels.awaitClose
|
||||
import kotlinx.coroutines.flow.*
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.SharingStarted
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.flow.callbackFlow
|
||||
import kotlinx.coroutines.flow.shareIn
|
||||
|
||||
private const val TAG = "SharedGnssMeasurementManager"
|
||||
|
||||
|
||||
@@ -33,7 +33,12 @@ import com.android.gpstest.library.util.hasPermission
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.channels.awaitClose
|
||||
import kotlinx.coroutines.flow.*
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.SharingStarted
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.flow.callbackFlow
|
||||
import kotlinx.coroutines.flow.shareIn
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
private const val TAG = "SharedGnssStatusManager"
|
||||
|
||||
@@ -29,7 +29,12 @@ import com.android.gpstest.library.util.hasPermission
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.channels.awaitClose
|
||||
import kotlinx.coroutines.flow.*
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.SharingStarted
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.flow.callbackFlow
|
||||
import kotlinx.coroutines.flow.shareIn
|
||||
|
||||
private const val TAG = "SharedLocationManager"
|
||||
|
||||
|
||||
@@ -19,7 +19,11 @@ import android.Manifest
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.SharedPreferences
|
||||
import android.hardware.*
|
||||
import android.hardware.GeomagneticField
|
||||
import android.hardware.Sensor
|
||||
import android.hardware.SensorEvent
|
||||
import android.hardware.SensorEventListener
|
||||
import android.hardware.SensorManager
|
||||
import android.hardware.display.DisplayManager
|
||||
import android.location.LocationManager
|
||||
import android.util.Log
|
||||
|
||||
@@ -3,7 +3,13 @@ package com.android.gpstest.library.di
|
||||
import android.content.Context
|
||||
import android.content.SharedPreferences
|
||||
import android.preference.PreferenceManager
|
||||
import com.android.gpstest.library.data.*
|
||||
import com.android.gpstest.library.data.SharedAntennaManager
|
||||
import com.android.gpstest.library.data.SharedGnssMeasurementManager
|
||||
import com.android.gpstest.library.data.SharedGnssStatusManager
|
||||
import com.android.gpstest.library.data.SharedLocationManager
|
||||
import com.android.gpstest.library.data.SharedNavMessageManager
|
||||
import com.android.gpstest.library.data.SharedNmeaManager
|
||||
import com.android.gpstest.library.data.SharedSensorManager
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
|
||||
@@ -28,7 +28,13 @@ import androidx.lifecycle.viewModelScope
|
||||
import com.android.gpstest.library.data.FirstFixState
|
||||
import com.android.gpstest.library.data.FixState
|
||||
import com.android.gpstest.library.data.LocationRepository
|
||||
import com.android.gpstest.library.model.*
|
||||
import com.android.gpstest.library.model.DilutionOfPrecision
|
||||
import com.android.gpstest.library.model.GnssType
|
||||
import com.android.gpstest.library.model.Satellite
|
||||
import com.android.gpstest.library.model.SatelliteGroup
|
||||
import com.android.gpstest.library.model.SatelliteMetadata
|
||||
import com.android.gpstest.library.model.SatelliteStatus
|
||||
import com.android.gpstest.library.model.SbasType
|
||||
import com.android.gpstest.library.util.CarrierFreqUtils.getCarrierFrequencyLabel
|
||||
import com.android.gpstest.library.util.FormatUtils.formatTtff
|
||||
import com.android.gpstest.library.util.NmeaUtils
|
||||
|
||||
@@ -9,7 +9,12 @@ import android.location.Location
|
||||
import android.os.Build
|
||||
import androidx.annotation.RequiresApi
|
||||
import com.android.gpstest.library.R
|
||||
import com.android.gpstest.library.model.*
|
||||
import com.android.gpstest.library.model.CoordinateType
|
||||
import com.android.gpstest.library.model.DilutionOfPrecision
|
||||
import com.android.gpstest.library.model.Orientation
|
||||
import com.android.gpstest.library.model.SatelliteGroup
|
||||
import com.android.gpstest.library.model.SatelliteMetadata
|
||||
import com.android.gpstest.library.model.SatelliteStatus
|
||||
import com.android.gpstest.library.util.SatelliteUtil.isBearingAccuracySupported
|
||||
import com.android.gpstest.library.util.SatelliteUtil.isSpeedAccuracySupported
|
||||
import com.android.gpstest.library.util.SatelliteUtil.isVerticalAccuracySupported
|
||||
|
||||
@@ -21,6 +21,7 @@ import android.annotation.TargetApi;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Resources;
|
||||
|
||||
import com.android.gpstest.library.R;
|
||||
import com.android.gpstest.library.model.GnssType;
|
||||
|
||||
|
||||
@@ -19,8 +19,16 @@ import android.annotation.SuppressLint
|
||||
import android.location.GnssStatus
|
||||
import android.location.Location
|
||||
import android.os.Build
|
||||
import com.android.gpstest.library.model.*
|
||||
import com.android.gpstest.library.util.CarrierFreqUtils.*
|
||||
import com.android.gpstest.library.model.GnssType
|
||||
import com.android.gpstest.library.model.Satellite
|
||||
import com.android.gpstest.library.model.SatelliteGroup
|
||||
import com.android.gpstest.library.model.SatelliteMetadata
|
||||
import com.android.gpstest.library.model.SatelliteStatus
|
||||
import com.android.gpstest.library.model.SbasType
|
||||
import com.android.gpstest.library.util.CarrierFreqUtils.CF_UNKNOWN
|
||||
import com.android.gpstest.library.util.CarrierFreqUtils.CF_UNSUPPORTED
|
||||
import com.android.gpstest.library.util.CarrierFreqUtils.getCarrierFrequencyLabel
|
||||
import com.android.gpstest.library.util.CarrierFreqUtils.isPrimaryCarrier
|
||||
import com.android.gpstest.library.util.SatelliteUtils.createGnssSatelliteKey
|
||||
|
||||
object SatelliteUtil {
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
package com.android.library
|
||||
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Test
|
||||
|
||||
import org.junit.Assert.*
|
||||
|
||||
/**
|
||||
* Example local unit test, which will execute on the development machine (host).
|
||||
*
|
||||
|
||||
@@ -3,6 +3,7 @@ plugins {
|
||||
id 'org.jetbrains.kotlin.android'
|
||||
id 'kotlin-kapt'
|
||||
id 'dagger.hilt.android.plugin'
|
||||
id 'org.jetbrains.kotlin.plugin.compose'
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
@@ -13,12 +13,15 @@ import androidx.activity.compose.setContent
|
||||
import androidx.activity.viewModels
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.border
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.material.LinearProgressIndicator
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.defaultMinSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.wrapContentHeight
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
@@ -34,13 +37,19 @@ import androidx.core.app.ActivityCompat
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.flowWithLifecycle
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.wear.compose.material.*
|
||||
import androidx.wear.compose.material.Text
|
||||
import com.android.gpstest.Application.Companion.prefs
|
||||
import com.android.gpstest.library.data.FixState
|
||||
import com.android.gpstest.library.data.LocationRepository
|
||||
import com.android.gpstest.library.model.*
|
||||
import com.android.gpstest.library.model.GnssType
|
||||
import com.android.gpstest.library.model.SatelliteStatus
|
||||
import com.android.gpstest.library.model.SbasType
|
||||
import com.android.gpstest.library.ui.SignalInfoViewModel
|
||||
import com.android.gpstest.library.util.*
|
||||
import com.android.gpstest.library.util.CarrierFreqUtils
|
||||
import com.android.gpstest.library.util.LibUIUtils
|
||||
import com.android.gpstest.library.util.MathUtils
|
||||
import com.android.gpstest.library.util.PermissionUtils
|
||||
import com.android.gpstest.library.util.PreferenceUtil
|
||||
import com.android.gpstest.library.util.PreferenceUtils
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.Job
|
||||
|
||||
@@ -23,7 +23,14 @@ import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.input.rotary.onRotaryScrollEvent
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.wear.compose.material.*
|
||||
import androidx.wear.compose.material.AutoCenteringParams
|
||||
import androidx.wear.compose.material.PositionIndicator
|
||||
import androidx.wear.compose.material.Scaffold
|
||||
import androidx.wear.compose.material.ScalingLazyColumn
|
||||
import androidx.wear.compose.material.Text
|
||||
import androidx.wear.compose.material.TimeSource
|
||||
import androidx.wear.compose.material.TimeText
|
||||
import androidx.wear.compose.material.rememberScalingLazyListState
|
||||
import com.android.gpstest.Application
|
||||
import com.android.gpstest.library.data.FixState
|
||||
import com.android.gpstest.library.model.CoordinateType
|
||||
|
||||
Reference in New Issue
Block a user