diff --git a/core/presentation/src/main/res/values/strings.xml b/core/presentation/src/main/res/values/strings.xml index f1b5fc4d..800bc812 100644 --- a/core/presentation/src/main/res/values/strings.xml +++ b/core/presentation/src/main/res/values/strings.xml @@ -49,11 +49,10 @@ \n\nPlease update the database at least weekly to get accurate predictions. What\'s new in Look4Sat - * Switched to short-form commands in NetworkReporter, by theojalba - \n* Added CAT radio control for full-duplex SAT operation, by jcmerg - \n* Added normalized time for passes AOS/LOS, fixed refresh state bug - \n* Added multiple performance tweaks, improved passes calculation - \n* Fixed UTC pass time problem mentioned in issue #201 + * Added Turkish translation, by Emre Can Akdaş (TA3ECR) + \n* Added DeepSpace passes filter option to the dialog + \n* Fixed the radar blip disappearing while eclipsed + \n* Fixed (hopefully) the refresh indicator being stuck diff --git a/fastlane/metadata/android/en-US/changelogs/default.txt b/fastlane/metadata/android/en-US/changelogs/default.txt index e1d308db..64b0301a 100644 --- a/fastlane/metadata/android/en-US/changelogs/default.txt +++ b/fastlane/metadata/android/en-US/changelogs/default.txt @@ -1,6 +1,4 @@ -* Switched to short-form commands in NetworkReporter (#206) by theojalba -* Added CAT radio control for full-duplex SAT operation (#207) by jcmerg -* Added normalized time for passes AOS/LOS, fixed refresh state bug -* Added multiple performance tweaks, improved passes calculation -* Simplified data output code, aligned with HamLib defaults -* Fixed UTC pass time problem mentioned in issue #201 +* Added Turkish translation, by Emre Can Akdaş (TA3ECR) +* Added DeepSpace passes filter option to the dialog +* Fixed the radar blip disappearing while eclipsed +* Fixed (hopefully) the refresh indicator being stuck diff --git a/fastlane/metadata/android/en-US/whatsnew/whatsnew-en-US b/fastlane/metadata/android/en-US/whatsnew/whatsnew-en-US index e1d308db..64b0301a 100644 --- a/fastlane/metadata/android/en-US/whatsnew/whatsnew-en-US +++ b/fastlane/metadata/android/en-US/whatsnew/whatsnew-en-US @@ -1,6 +1,4 @@ -* Switched to short-form commands in NetworkReporter (#206) by theojalba -* Added CAT radio control for full-duplex SAT operation (#207) by jcmerg -* Added normalized time for passes AOS/LOS, fixed refresh state bug -* Added multiple performance tweaks, improved passes calculation -* Simplified data output code, aligned with HamLib defaults -* Fixed UTC pass time problem mentioned in issue #201 +* Added Turkish translation, by Emre Can Akdaş (TA3ECR) +* Added DeepSpace passes filter option to the dialog +* Fixed the radar blip disappearing while eclipsed +* Fixed (hopefully) the refresh indicator being stuck diff --git a/feature/passes/src/main/java/com/rtbishop/look4sat/feature/passes/PassesViewModel.kt b/feature/passes/src/main/java/com/rtbishop/look4sat/feature/passes/PassesViewModel.kt index cec12625..ccc06045 100644 --- a/feature/passes/src/main/java/com/rtbishop/look4sat/feature/passes/PassesViewModel.kt +++ b/feature/passes/src/main/java/com/rtbishop/look4sat/feature/passes/PassesViewModel.kt @@ -160,7 +160,7 @@ class PassesViewModel( _uiState.update { it.copy(hours = hoursAhead, elevation = minElevation, showDeepSpace = showDeepSpace, modes = modes) } - if (showDeepSpace) satelliteRepo.calculatePasses(System.currentTimeMillis(), hoursAhead, minElevation, modes) + satelliteRepo.calculatePasses(System.currentTimeMillis(), hoursAhead, minElevation, modes) } private fun refreshPasses() = viewModelScope.launch { diff --git a/feature/radar/src/main/java/com/rtbishop/look4sat/feature/radar/RadarView.kt b/feature/radar/src/main/java/com/rtbishop/look4sat/feature/radar/RadarView.kt index d0ec2a6e..a3590beb 100644 --- a/feature/radar/src/main/java/com/rtbishop/look4sat/feature/radar/RadarView.kt +++ b/feature/radar/src/main/java/com/rtbishop/look4sat/feature/radar/RadarView.kt @@ -17,8 +17,6 @@ */ package com.rtbishop.look4sat.feature.radar -import androidx.compose.animation.core.LinearEasing -import androidx.compose.animation.core.RepeatMode import androidx.compose.animation.core.animateFloat import androidx.compose.animation.core.infiniteRepeatable import androidx.compose.animation.core.rememberInfiniteTransition @@ -80,21 +78,11 @@ fun RadarViewCompose( animationSpec = infiniteRepeatable(tween(1000)), label = "animScale" ) - val eclipsedGlowAlpha by animTransition.animateFloat( - initialValue = 1.0f, - targetValue = 0.0f, - animationSpec = infiniteRepeatable( - animation = tween(durationMillis = 1000, delayMillis = 25, easing = LinearEasing), - repeatMode = RepeatMode.Reverse - ), - label = "eclipsedGlowAlpha" - ) val measurer = rememberTextMeasurer() var sweepDegrees by remember { mutableFloatStateOf(0f) } var cachedRadius by remember { mutableFloatStateOf(0f) } var trackPath by remember { mutableStateOf(Path()) } var trackEffect by remember { mutableStateOf(PathEffect.cornerPathEffect(0f)) } - val isEclipsed = item.eclipsed Canvas(modifier = modifier.aspectRatio(1f)) { val radius = size.minDimension / 2f * 0.95f @@ -110,11 +98,7 @@ fun RadarViewCompose( translate(center.x, center.y) { drawTrack(trackPath, trackEffect, aimColor, trackColor) if (item.elevation > 0) { - if (isEclipsed) { - drawEclipsedPosition(item, radius, eclipsedGlowAlpha, trackColor) - } else { - drawPosition(item, radius, animScale, trackColor) - } + drawPosition(item, radius, animScale, trackColor) } if (shouldUseCompass) drawAim(azimElev.first, azimElev.second, radius, aimColor) } @@ -150,12 +134,7 @@ private fun DrawScope.drawTrack(path: Path, effect: PathEffect, color: Color, ef private fun DrawScope.drawPosition(item: OrbitalPos, radius: Float, posRadius: Float, color: Color) { val pos = sph2Cart(item.azimuth, item.elevation, radius.toDouble()) drawCircle(color, 16f, pos) - drawCircle(color.copy(alpha = 1 - (posRadius / 64f)), posRadius, pos) -} - -private fun DrawScope.drawEclipsedPosition(item: OrbitalPos, radius: Float, glowAlpha: Float, color: Color) { - val pos = sph2Cart(item.azimuth, item.elevation, radius.toDouble()) - drawCircle(color.copy(alpha = glowAlpha), 16f, pos) + if (!item.eclipsed) drawCircle(color.copy(alpha = 1 - (posRadius / 64f)), posRadius, pos) } private fun DrawScope.drawAim(azim: Float, elev: Float, radius: Float, color: Color) { diff --git a/feature/radiocontrol/src/main/java/com/rtbishop/look4sat/feature/radiocontrol/RadioControlViewModel.kt b/feature/radiocontrol/src/main/java/com/rtbishop/look4sat/feature/radiocontrol/RadioControlViewModel.kt index 5d035a4e..fff44907 100644 --- a/feature/radiocontrol/src/main/java/com/rtbishop/look4sat/feature/radiocontrol/RadioControlViewModel.kt +++ b/feature/radiocontrol/src/main/java/com/rtbishop/look4sat/feature/radiocontrol/RadioControlViewModel.kt @@ -44,12 +44,12 @@ class RadioControlViewModel( savedStateHandle: SavedStateHandle, private val trackingService: IRadioTrackingService, private val satelliteRepo: ISatelliteRepo, - private val settingsRepo: ISettingsRepo + settingsRepo: ISettingsRepo ) : ViewModel() { + private val stationPos = settingsRepo.stationPosition.value private var currentPass: OrbitalPass? = null private var transponders: List = emptyList() - private val stationPos = settingsRepo.stationPosition.value private val _uiState = MutableStateFlow( RadioControlState( diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 40f0173f..7037402c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,8 +1,8 @@ [versions] #noinspection UnusedVersionCatalogEntry -appVersionCode = "420" +appVersionCode = "421" #noinspection UnusedVersionCatalogEntry -appVersionName = "4.2.0" +appVersionName = "4.2.1" #noinspection GradleDependency,UnusedVersionCatalogEntry compileSdk = "36" #noinspection UnusedVersionCatalogEntry