Added more tweaks to components and dependencies

This commit is contained in:
Arty Bishop committed 2025-12-27 15:02:15 +00:00
1 parent 24002827ed
commit c370d9febd
16 files changed
+50 -240

No files matched your search

@@ -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)
}
}
@@ -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
}
) {
@@ -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()
@@ -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) {