diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index b6c72e76..2abfa0b2 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -35,6 +35,7 @@ android {
}
androidResources {
generateLocaleConfig = true
+ localeFilters.addAll(listOf("en", "es-rES", "ru", "si", "uk", "zh-rCN"))
}
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index baa973ef..b9fd2b76 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,6 @@
-
+ android:theme="@style/Theme.Look4Sat.SplashScreen">
+
+
diff --git a/app/src/main/java/com/rtbishop/look4sat/MainApplication.kt b/app/src/main/java/com/rtbishop/look4sat/MainApplication.kt
index bff62d58..317d0b91 100644
--- a/app/src/main/java/com/rtbishop/look4sat/MainApplication.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/MainApplication.kt
@@ -17,11 +17,7 @@
*/
package com.rtbishop.look4sat
-import android.annotation.SuppressLint
-import android.app.Activity
import android.app.Application
-import android.content.pm.ActivityInfo
-import android.os.Bundle
import java.text.SimpleDateFormat
import java.util.Date
import java.util.Locale
@@ -32,7 +28,6 @@ class MainApplication : Application() {
lateinit var container: MainContainer
override fun onCreate() {
- disableMobileLandscapeLayout()
super.onCreate()
container = MainContainer(this)
// trigger automatic update every 48 hours
@@ -51,23 +46,4 @@ class MainApplication : Application() {
}
}
}
-
- @SuppressLint("SourceLockedOrientationActivity")
- private fun disableMobileLandscapeLayout() {
- val isTablet = applicationContext.resources?.getBoolean(R.bool.isTablet) ?: true
- val lifecycleAdapter = object : ActivityLifecycleCallbacks {
- override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
- if (!isTablet) {
- activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
- }
- }
- override fun onActivityStarted(activity: Activity) {}
- override fun onActivityResumed(activity: Activity) {}
- override fun onActivityPaused(activity: Activity) {}
- override fun onActivityStopped(activity: Activity) {}
- override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {}
- override fun onActivityDestroyed(activity: Activity) {}
- }
- registerActivityLifecycleCallbacks(lifecycleAdapter)
- }
}
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/MainScreen.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/MainScreen.kt
index a942099a..ff3a89f3 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/MainScreen.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/MainScreen.kt
@@ -1,7 +1,9 @@
package com.rtbishop.look4sat.presentation
import androidx.compose.material3.Icon
+import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
+import androidx.compose.material3.adaptive.navigationsuite.NavigationSuiteDefaults
import androidx.compose.material3.adaptive.navigationsuite.NavigationSuiteScaffold
import androidx.compose.material3.adaptive.navigationsuite.NavigationSuiteType
import androidx.compose.runtime.Composable
@@ -12,7 +14,8 @@ import androidx.navigation.compose.NavHost
import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController
import com.rtbishop.look4sat.R
-import com.rtbishop.look4sat.presentation.common.isVerticalLayout
+import com.rtbishop.look4sat.presentation.common.hasEnoughHeight
+import com.rtbishop.look4sat.presentation.common.hasEnoughWidth
import com.rtbishop.look4sat.presentation.map.mapDestination
import com.rtbishop.look4sat.presentation.passes.passesDestination
import com.rtbishop.look4sat.presentation.radar.radarDestination
@@ -48,8 +51,11 @@ fun MainScreen(navController: NavHostController = rememberNavController()) {
}
})
}
- }, layoutType = when {
- isVerticalLayout() -> NavigationSuiteType.ShortNavigationBarCompact
+ }, navigationSuiteColors = NavigationSuiteDefaults.colors(
+ navigationRailContainerColor = MaterialTheme.colorScheme.surfaceContainer
+ ), layoutType = when {
+ !hasEnoughHeight() && hasEnoughWidth() -> NavigationSuiteType.NavigationRail
+ !hasEnoughWidth() -> NavigationSuiteType.ShortNavigationBarCompact
else -> NavigationSuiteType.ShortNavigationBarMedium
}
) {
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/common/Components.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/common/Components.kt
index 74d35a13..75729d6e 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/common/Components.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/common/Components.kt
@@ -310,6 +310,16 @@ fun InfoDialog(title: String, text: String, onDismiss: () -> Unit) {
}
}
+@Composable
+fun hasEnoughHeight(): Boolean {
+ return currentWindowAdaptiveInfo().windowSizeClass.isHeightAtLeastBreakpoint(480)
+}
+
+@Composable
+fun hasEnoughWidth(): Boolean {
+ return currentWindowAdaptiveInfo().windowSizeClass.isWidthAtLeastBreakpoint(600)
+}
+
@Composable
fun isVerticalLayout(): Boolean {
return currentWindowAdaptiveInfo().windowSizeClass.isWidthAtLeastBreakpoint(600).not()
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/radar/RadarViewModel.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/radar/RadarViewModel.kt
index 54dfe616..fb55258b 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/radar/RadarViewModel.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/radar/RadarViewModel.kt
@@ -137,15 +137,15 @@ class RadarViewModel(
)
}
_uiState.update { it.copy(orbitalPos = orbitalPos, satTrack = track) }
-// viewModelScope.launch {
-// if (settingsRepo.getRotatorState()) {
-// val server = settingsRepo.getRotatorAddress()
-// val port = settingsRepo.getRotatorPort().toInt()
-// val azimuth = orbitalPos.azimuth.toDegrees().round(2)
-// val elevation = orbitalPos.elevation.toDegrees().round(2)
-// networkReporter.reportRotation(server, port, azimuth, elevation)
-// }
-// }
+ viewModelScope.launch {
+ if (settingsRepo.rcSettings.value.rotatorState) {
+ val server = settingsRepo.rcSettings.value.rotatorAddress
+ val port = settingsRepo.rcSettings.value.rotatorPort.toInt()
+ val azimuth = orbitalPos.azimuth.toDegrees().round(2)
+ val elevation = orbitalPos.elevation.toDegrees().round(2)
+ networkReporter.reportRotation(server, port, azimuth, elevation)
+ }
+ }
}
private fun sendPassDataBT(orbitalPos: OrbitalPos) {
diff --git a/app/src/main/res/value-es-rES/strings.xml b/app/src/main/res/value-es-rES/strings.xml
deleted file mode 100644
index 8691ed4b..00000000
--- a/app/src/main/res/value-es-rES/strings.xml
+++ /dev/null
@@ -1,176 +0,0 @@
-
-
- Look4Sat
- 00:00:00
- Versión: %s
- Rastreador y predictor de satélites
-
-
-
- Añadir
- Aceptar
- Cancelar
- Atrás
- Modos
- Seleccionar todo
- OK
- Vaciar
- Vaciar todo
- Recargar
- Mapa
- Filtro
- Satélites
- Ajustes
- Anterior
- Siguiente
- Notificar
- GPS
- Manual
- QTH
- Online
- Importar
- GitHub
- Soporte
- F-Droid
-
-
-
- Filtrar pases
- Horas por delante
- Mostrar pases que ocurrirán en X horas
- Elevación mínima
- Mostar primero pases con elevación máxima
-
- Ajustes ubicación QTH
- Ajustar posición de la estación con tu ubicación
- QTH
-
- Tipo de modulación
-
- Ajustar ubicaicón de la estación
- Latitud de tu estación terrestre
- Latitud
- Longitud de tu estación terrestre
- Longitud
-
- Gestionar fuentes de datos
- Fuente HTTPS
-
- Seleccionar tipo de satélite
- Tipo: %s
-
-
-
- Buscar por Nombre / Id
-
- No hay pases de satélite próximos para mostrar
- No hay datos para mostrar. Por favor, actualiza la base de datos a través del menú Ajustes.
-
- %s
- Id:%d
- AOS - %.1f°
- ELEV: %.1f°
- %.1f° - LOS
- ALT: %.0f km
- - - : - -
- HH:mm:ss - MMM dd
- dd MMM - HH:mm:ss
-
- Ácimut
- %.1f°
- Elevación
- %.1f°
- Altitud
- %.0f km
- Distancia
- %.0f km
- Visible
- Eclipsado
- %s
- Id:%d
-
- Modo: %s
- Invertido: %s
- %s
- - - . - -
- %.4f
- %.4f - %.4f
- Transmisores satélite:
- Este satélite no lleva transmisores
- Si
- No
- Downlink
- Uplink
-
- Mapa mundo
- %s
- Id:%d
- Ácimut: %.1f°
- Elevación: %.1f°
- Latitud: %.1f°
- Longitud: %.1f°
- Ubicación QTH: %s
- Visible
- Eclipsado
- Visibilidad: %s
- Período: %.0f min
- Fase: %.1f°
- Altitud: %.0f km
- Distancia: %.0f km
- Velocidad: %.2f km/s
- Wikimedia maps | Map data © OpenStreetMap contributors
-
-
-
- Ubicación estación
- Latitud: %.4f°
- Longitud: %.4f°
- Sin datos de geolocalización
- Revisa los permisos de ubicación
- Ubicación no válida
- Ubicación QTH no válida
- Ubicación actualizada con éxito
-
- Actualizar datos de satélites
- Actualización completada con errores
- Última actualización: %s
- Satélites: %s
- Transmisores: %s
- Actualización completada con éxito
- Datos eliminados con éxito
-
- Preferencias Rotator
- Habilitar control remoto
- Dirección IP
- Puerto
-
- Salida por Bluetooth
- Habilitar salida
- Id dispositivo
- Formato de datos
- Revisa los permisos de Bluetooth
-
- Otras preferencias
- Mostrar tiempos de pase en UTC
- Habilitar auto actualización de datos
- Habilitar animaciones radar
- Usar sensores para rotar vista de radar
-
- Me gustaría dar las gracias a:
- • tí por descargar y usar Look4Sat! \nQue tengas cielos despejados!
- \n • David A. B. Johnson
- y Dave Moten por crear predict4java lib
- bajo GNU GPLv2.
- \n • Alexandru Csete por crear el rastreador de satélites Gpredict
- que ha inspirado la creación de Look4Sat.
- \n • Dr T.S. Kelso por mantener
- Celestrak que proporciona acceso a datos TLE.
- \n • Libre Space Foundation por la API y base de datos
- SatNOGS que proporciona gran cantidad de datos de satélites.
- \n • DownloadAstro
- por su interés en la app y la entrevista publicada.
-
- Política de privacidad.
- La app viene sin garantías de ningún tipo. \nPara más información revisa la licencia GNU GPLv3.
-
-
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 0167df7c..e63c59c8 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -7,9 +7,9 @@
Спутники
Пролеты
+ Radar
Карта
Настройки
- Инфо
diff --git a/app/src/main/res/values-si/strings.xml b/app/src/main/res/values-si/strings.xml
index d4d6b809..7e2764c1 100644
--- a/app/src/main/res/values-si/strings.xml
+++ b/app/src/main/res/values-si/strings.xml
@@ -7,9 +7,9 @@
චන්ද්රිකා
පසුකර යෑම්
+ Radar
ලෝක සිතියම
පසුතල
- ගැන
diff --git a/app/src/main/res/values-sw600dp/themes.xml b/app/src/main/res/values-sw600dp/themes.xml
deleted file mode 100644
index 3dd57b65..00000000
--- a/app/src/main/res/values-sw600dp/themes.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
- true
-
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index a59dc6bf..2e106bb1 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -7,9 +7,9 @@
Супутники
Прольоти
+ Radar
Мапа
Налаштування
- Інфо
Додати
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 638ef8a0..de2fcc0d 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -7,9 +7,9 @@
卫星
过境
+ Radar
世界地图
设置
- 关于
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 494a7038..fbeac9dd 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -1,5 +1,4 @@
- false
#FFE082
#121212