Updated dependencies and gradle plugin, minor fixes
This commit is contained in:
1 parent
483d846233
commit
fcec36ec68
10 files changed
+47
-46
No files matched your search
@@ -13,8 +13,8 @@ android {
|
||||
namespace = "com.rtbishop.look4sat"
|
||||
compileSdk = 35
|
||||
defaultConfig {
|
||||
applicationId = "com.rtbishop.look4satic705"
|
||||
minSdk = 32
|
||||
applicationId = "com.rtbishop.look4sat"
|
||||
minSdk = 24
|
||||
targetSdk = 35
|
||||
versionCode = 400
|
||||
versionName = "4.0.0"
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.rtbishop.look4sat.presentation.MainTheme
|
||||
import com.rtbishop.look4sat.presentation.MainScreen
|
||||
|
||||
class MainActivity : ComponentActivity() {
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
installSplashScreen()
|
||||
enableEdgeToEdge()
|
||||
@@ -39,5 +40,3 @@ class MainActivity : ComponentActivity() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Check and Request BT Permission?
|
||||
@@ -179,7 +179,7 @@ class MapViewModel(private val satelliteRepo: ISatelliteRepo, settingsRepo: ISet
|
||||
var orbitalPass = defaultPass
|
||||
var aosTime = 0L.toTimerString()
|
||||
var isTimeAos = true
|
||||
allPasses.find { pass -> pass.catNum == sat.data.catnum && pass.progress < 100 }
|
||||
allPasses.find { pass -> pass.catNum == sat.data.catnum && pass.progress < 1 }
|
||||
?.let { satPass ->
|
||||
orbitalPass = satPass
|
||||
if (!satPass.isDeepSpace) {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.rtbishop.look4sat.presentation.radar
|
||||
|
||||
import android.util.Log
|
||||
import androidx.compose.animation.core.LinearEasing
|
||||
import androidx.compose.animation.core.RepeatMode
|
||||
import androidx.compose.animation.core.animateFloat
|
||||
@@ -11,7 +10,6 @@ import androidx.compose.foundation.MarqueeSpacing
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.basicMarquee
|
||||
import androidx.compose.foundation.border
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
@@ -33,13 +31,11 @@ import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.alpha
|
||||
import androidx.compose.ui.draw.rotate
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
@@ -55,7 +51,6 @@ import androidx.navigation.navArgument
|
||||
import com.rtbishop.look4sat.R
|
||||
import com.rtbishop.look4sat.domain.model.SatRadio
|
||||
import com.rtbishop.look4sat.domain.utility.toDegrees
|
||||
import com.rtbishop.look4sat.framework.BluetoothCIV
|
||||
import com.rtbishop.look4sat.presentation.MainTheme
|
||||
import com.rtbishop.look4sat.presentation.Screen
|
||||
import com.rtbishop.look4sat.presentation.components.CardIcon
|
||||
@@ -79,7 +74,7 @@ fun NavGraphBuilder.radarDestination(navigateBack: () -> Unit) {
|
||||
|
||||
@Composable
|
||||
private fun RadarScreen(uiState: RadarState, navigateBack: () -> Unit) {
|
||||
BluetoothCIV.init(LocalContext.current)
|
||||
// BluetoothCIV.init(LocalContext.current)
|
||||
|
||||
val addToCalendar: () -> Unit = {
|
||||
uiState.currentPass?.let { pass ->
|
||||
@@ -257,19 +252,19 @@ private fun EclipsedIndicator() {
|
||||
|
||||
@Composable
|
||||
private fun TransmitterItem(radio: SatRadio) {
|
||||
LaunchedEffect(radio) {
|
||||
BluetoothCIV.updateOnce(radio)
|
||||
}
|
||||
// LaunchedEffect(radio) {
|
||||
// BluetoothCIV.updateOnce(radio)
|
||||
// }
|
||||
|
||||
Surface(color = MaterialTheme.colorScheme.background,
|
||||
modifier = Modifier.clickable(onClick = {
|
||||
Log.d("BluetoothCivManager", radio.toString())
|
||||
if(radio.uuid == BluetoothCIV.selected) BluetoothCIV.selected = "NONE" else
|
||||
{
|
||||
BluetoothCIV.connect(radio)
|
||||
BluetoothCIV.updateOnce(radio)
|
||||
}
|
||||
})
|
||||
// modifier = Modifier.clickable(onClick = {
|
||||
// Log.d("BluetoothCivManager", radio.toString())
|
||||
// if(radio.uuid == BluetoothCIV.selected) BluetoothCIV.selected = "NONE" else
|
||||
// {
|
||||
// BluetoothCIV.connect(radio)
|
||||
// BluetoothCIV.updateOnce(radio)
|
||||
// }
|
||||
// })
|
||||
) {
|
||||
Surface(modifier = Modifier.padding(bottom = 2.dp)) {
|
||||
Column(
|
||||
|
||||
@@ -95,17 +95,24 @@ class RadarViewModel(
|
||||
while (isActive) {
|
||||
val timeNow = System.currentTimeMillis()
|
||||
val pos = satelliteRepo.getPosition(satPass.orbitalObject, stationPos, timeNow)
|
||||
if (satPass.aosTime > timeNow) {
|
||||
val time = satPass.aosTime.minus(timeNow).toTimerString()
|
||||
_uiState.update { it.copy(currentTime = time, isCurrentTimeAos = true) }
|
||||
} else {
|
||||
val time = satPass.losTime.minus(timeNow).toTimerString()
|
||||
_uiState.update { it.copy(currentTime = time, isCurrentTimeAos = false) }
|
||||
when {
|
||||
satPass.isDeepSpace -> {
|
||||
val time = 0L.toTimerString()
|
||||
_uiState.update { it.copy(currentTime = time, isCurrentTimeAos = false) }
|
||||
}
|
||||
satPass.aosTime > timeNow -> {
|
||||
val time = satPass.aosTime.minus(timeNow).toTimerString()
|
||||
_uiState.update { it.copy(currentTime = time, isCurrentTimeAos = true) }
|
||||
}
|
||||
else -> {
|
||||
val time = satPass.losTime.minus(timeNow).toTimerString()
|
||||
_uiState.update { it.copy(currentTime = time, isCurrentTimeAos = false) }
|
||||
}
|
||||
}
|
||||
sendPassData(satPass, pos, satPass.orbitalObject)
|
||||
sendPassDataBT(pos)
|
||||
processRadios(transmitters, satPass.orbitalObject, timeNow)
|
||||
delay(1000) //TODO: Change me maybe if smaller freq steps are better?? maybe dynamically?
|
||||
delay(1000)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ import com.rtbishop.look4sat.presentation.components.SharedDialog
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun MultiTypesDialogPreview() {
|
||||
val types = listOf("All", "Amateur", "Geostationary", "Military", "Weather")
|
||||
val types = listOf("Amateur", "Geostationary", "Military", "Weather")
|
||||
MainTheme { MultiTypesDialog(types, emptyList(), {}) {} }
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.rtbishop.look4sat.framework
|
||||
package com.rtbishop.look4sat.data.framework
|
||||
|
||||
import android.bluetooth.BluetoothAdapter
|
||||
import android.bluetooth.BluetoothSocket
|
||||
@@ -46,7 +46,7 @@ public object BluetoothCIV {
|
||||
private var inputStream: InputStream? = null
|
||||
|
||||
public fun init(context: Context) {
|
||||
bluetoothAdapter= getBluetoothAdapter(context)
|
||||
bluetoothAdapter = getBluetoothAdapter(context)
|
||||
}
|
||||
|
||||
private fun ensureConnected():Boolean {
|
||||
@@ -100,7 +100,7 @@ public object BluetoothCIV {
|
||||
}
|
||||
|
||||
data class RMsg(val broadcast: Boolean, val cmd: Int, val payload: ByteArray)
|
||||
private fun receiveCommand():RMsg? {
|
||||
private fun receiveCommand(): RMsg? {
|
||||
if (inputStream!!.read()!=0xFE) {
|
||||
return null;
|
||||
}
|
||||
@@ -124,7 +124,7 @@ public object BluetoothCIV {
|
||||
return RMsg(to==0x00, cmd, buffer.toByteArray())
|
||||
}
|
||||
|
||||
private fun receiveSpecificCommand():RMsg? {
|
||||
private fun receiveSpecificCommand(): RMsg? {
|
||||
while (true) {
|
||||
val msg = receiveCommand() ?: return null
|
||||
if (!msg.broadcast) {
|
||||
@@ -144,7 +144,7 @@ public object BluetoothCIV {
|
||||
}
|
||||
|
||||
data class Result(val subcmd: Int?, val data: ByteArray)
|
||||
private fun callFunction(cmd: Int, sub: Int? = null, retsub: Boolean): Result{
|
||||
private fun callFunction(cmd: Int, sub: Int? = null, retsub: Boolean): Result {
|
||||
if(ensureConnected()){
|
||||
sendCommand(cmd, sub)
|
||||
val res = receiveSpecificCommand();
|
||||
|
||||
@@ -82,8 +82,8 @@ class SatelliteRepo(
|
||||
val copiedList = radios.map { it.copy() }
|
||||
copiedList.forEach { transmitter ->
|
||||
transmitter.downlinkLow?.let { transmitter.downlinkLow = satPos.getDownlinkFreq(it) }
|
||||
transmitter.downlinkHigh?.let { transmitter.downlinkHigh = satPos.getDownlinkFreq(it) }
|
||||
transmitter.uplinkLow?.let { transmitter.uplinkLow = satPos.getUplinkFreq(it) }
|
||||
transmitter.downlinkHigh?.let { transmitter.downlinkHigh = satPos.getDownlinkFreq(it) }
|
||||
transmitter.uplinkLow?.let { transmitter.uplinkLow = satPos.getUplinkFreq(it) }
|
||||
transmitter.uplinkHigh?.let { transmitter.uplinkHigh = satPos.getUplinkFreq(it) }
|
||||
}
|
||||
copiedList.map { it.copy() }
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
[versions]
|
||||
android-gradle-plugin = "8.8.0"
|
||||
google-ksp = "2.0.21-1.0.26"
|
||||
kotlin = "2.0.21"
|
||||
android-gradle-plugin = "8.8.1"
|
||||
google-ksp = "2.1.10-1.0.30"
|
||||
kotlin = "2.1.10"
|
||||
|
||||
androidx-core-ktx = "1.15.0"
|
||||
androidx-core-splashscreen = "1.0.1"
|
||||
androidx-room = "2.6.1"
|
||||
|
||||
compose-bom = "2025.01.00"
|
||||
compose-bom = "2025.02.00"
|
||||
compose-activity = "1.10.0"
|
||||
compose-lifecycle = "2.8.7"
|
||||
compose-navigation = "2.8.5"
|
||||
compose-navigation = "2.8.7"
|
||||
|
||||
other-coroutines = "1.10.1"
|
||||
other-json = "20240303"
|
||||
|
||||
Reference in new issue
Block a user