Renamed base module into domain

This commit is contained in:
Arty Bishop committed 2025-12-27 15:01:45 +00:00
1 parent 9bb73f28b7
commit f8d5542af5
52 files changed
+187 -154

No files matched your search

+2 -2
View File
@@ -13,7 +13,7 @@ android {
minSdk 21 minSdk 21
targetSdk 33 targetSdk 33
versionCode 313 versionCode 313
versionName '3.1.3' versionName "3.1.3"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }
@@ -53,7 +53,7 @@ kotlin {
} }
dependencies { dependencies {
implementation project(":base") implementation project(":domain")
// Android // Android
implementation "androidx.core:core-splashscreen:$splashscreen_version" implementation "androidx.core:core-splashscreen:$splashscreen_version"
implementation "androidx.room:room-runtime:$room_version" implementation "androidx.room:room-runtime:$room_version"
@@ -6,15 +6,15 @@ import android.hardware.Sensor
import android.hardware.SensorManager import android.hardware.SensorManager
import android.location.LocationManager import android.location.LocationManager
import androidx.room.Room import androidx.room.Room
import com.rtbishop.look4sat.data.DataParser import com.rtbishop.look4sat.domain.data.DataParser
import com.rtbishop.look4sat.data.DatabaseRepo import com.rtbishop.look4sat.domain.data.DatabaseRepo
import com.rtbishop.look4sat.data.ISensorSource import com.rtbishop.look4sat.domain.data.ISensorSource
import com.rtbishop.look4sat.data.SatelliteRepo import com.rtbishop.look4sat.domain.data.SatelliteRepo
import com.rtbishop.look4sat.data.SelectionRepo import com.rtbishop.look4sat.domain.data.SelectionRepo
import com.rtbishop.look4sat.domain.IDatabaseRepo import com.rtbishop.look4sat.domain.predict.IDatabaseRepo
import com.rtbishop.look4sat.domain.ISatelliteRepo import com.rtbishop.look4sat.domain.predict.ISatelliteRepo
import com.rtbishop.look4sat.domain.ISelectionRepo import com.rtbishop.look4sat.domain.predict.ISelectionRepo
import com.rtbishop.look4sat.domain.ISettingsRepo import com.rtbishop.look4sat.domain.predict.ISettingsRepo
import com.rtbishop.look4sat.framework.BluetoothReporter import com.rtbishop.look4sat.framework.BluetoothReporter
import com.rtbishop.look4sat.framework.NetworkReporter import com.rtbishop.look4sat.framework.NetworkReporter
import com.rtbishop.look4sat.framework.SettingsRepo import com.rtbishop.look4sat.framework.SettingsRepo
@@ -23,13 +23,13 @@ import android.location.LocationManager
import androidx.core.content.edit import androidx.core.content.edit
import androidx.core.location.LocationManagerCompat import androidx.core.location.LocationManagerCompat
import androidx.core.os.CancellationSignal import androidx.core.os.CancellationSignal
import com.rtbishop.look4sat.domain.ISettingsRepo import com.rtbishop.look4sat.domain.model.DatabaseState
import com.rtbishop.look4sat.model.DatabaseState import com.rtbishop.look4sat.domain.model.GeoPos
import com.rtbishop.look4sat.model.GeoPos import com.rtbishop.look4sat.domain.model.OtherSettings
import com.rtbishop.look4sat.model.OtherSettings import com.rtbishop.look4sat.domain.model.PassesSettings
import com.rtbishop.look4sat.model.PassesSettings import com.rtbishop.look4sat.domain.predict.ISettingsRepo
import com.rtbishop.look4sat.utility.QthConverter import com.rtbishop.look4sat.domain.utility.QthConverter
import com.rtbishop.look4sat.utility.round import com.rtbishop.look4sat.domain.utility.round
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
import java.util.concurrent.Executors import java.util.concurrent.Executors
@@ -19,7 +19,7 @@ package com.rtbishop.look4sat.framework.data
import android.content.ContentResolver import android.content.ContentResolver
import android.net.Uri import android.net.Uri
import com.rtbishop.look4sat.data.IDataSource import com.rtbishop.look4sat.domain.data.IDataSource
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
@@ -17,15 +17,15 @@
*/ */
package com.rtbishop.look4sat.framework.data package com.rtbishop.look4sat.framework.data
import com.rtbishop.look4sat.data.ILocalStorage import com.rtbishop.look4sat.domain.data.ILocalStorage
import com.rtbishop.look4sat.domain.Satellite import com.rtbishop.look4sat.domain.model.SatRadio
import com.rtbishop.look4sat.model.SatRadio import com.rtbishop.look4sat.domain.predict.Satellite
import com.rtbishop.look4sat.domain.model.SatEntry as DomainEntry
import com.rtbishop.look4sat.domain.model.SatItem as DomainItem
import com.rtbishop.look4sat.domain.model.SatRadio as DomainRadio
import com.rtbishop.look4sat.framework.model.SatEntry as FrameworkEntry import com.rtbishop.look4sat.framework.model.SatEntry as FrameworkEntry
import com.rtbishop.look4sat.framework.model.SatItem as FrameworkItem import com.rtbishop.look4sat.framework.model.SatItem as FrameworkItem
import com.rtbishop.look4sat.framework.model.SatRadio as FrameworkRadio import com.rtbishop.look4sat.framework.model.SatRadio as FrameworkRadio
import com.rtbishop.look4sat.model.SatEntry as DomainEntry
import com.rtbishop.look4sat.model.SatItem as DomainItem
import com.rtbishop.look4sat.model.SatRadio as DomainRadio
class LocalStorage(private val storageDao: StorageDao) : ILocalStorage { class LocalStorage(private val storageDao: StorageDao) : ILocalStorage {
@@ -21,8 +21,8 @@ import android.hardware.Sensor
import android.hardware.SensorEvent import android.hardware.SensorEvent
import android.hardware.SensorEventListener import android.hardware.SensorEventListener
import android.hardware.SensorManager import android.hardware.SensorManager
import com.rtbishop.look4sat.data.ISensorSource import com.rtbishop.look4sat.domain.data.ISensorSource
import com.rtbishop.look4sat.domain.RAD2DEG import com.rtbishop.look4sat.domain.predict.RAD2DEG
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
import kotlin.math.round import kotlin.math.round
@@ -19,7 +19,7 @@ package com.rtbishop.look4sat.framework.model
import androidx.room.Embedded import androidx.room.Embedded
import androidx.room.Entity import androidx.room.Entity
import com.rtbishop.look4sat.model.OrbitalData import com.rtbishop.look4sat.domain.model.OrbitalData
@Entity(tableName = "entries", primaryKeys = ["catnum"]) @Entity(tableName = "entries", primaryKeys = ["catnum"])
data class SatEntry(@Embedded val data: OrbitalData, var comment: String? = null) data class SatEntry(@Embedded val data: OrbitalData, var comment: String? = null)
@@ -25,7 +25,7 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import androidx.lifecycle.viewmodel.compose.viewModel import androidx.lifecycle.viewmodel.compose.viewModel
import com.rtbishop.look4sat.R import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.model.SatItem import com.rtbishop.look4sat.domain.model.SatItem
import com.rtbishop.look4sat.presentation.CardIcon import com.rtbishop.look4sat.presentation.CardIcon
import com.rtbishop.look4sat.presentation.CardLoadingIndicator import com.rtbishop.look4sat.presentation.CardLoadingIndicator
import com.rtbishop.look4sat.presentation.MainTheme import com.rtbishop.look4sat.presentation.MainTheme
@@ -1,6 +1,6 @@
package com.rtbishop.look4sat.presentation.entries package com.rtbishop.look4sat.presentation.entries
import com.rtbishop.look4sat.model.SatItem import com.rtbishop.look4sat.domain.model.SatItem
data class EntriesUiState( data class EntriesUiState(
val isLoading: Boolean, val isLoading: Boolean,
@@ -24,7 +24,7 @@ import androidx.lifecycle.viewModelScope
import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.initializer
import androidx.lifecycle.viewmodel.viewModelFactory import androidx.lifecycle.viewmodel.viewModelFactory
import com.rtbishop.look4sat.MainApplication import com.rtbishop.look4sat.MainApplication
import com.rtbishop.look4sat.domain.ISelectionRepo import com.rtbishop.look4sat.domain.predict.ISelectionRepo
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@@ -17,7 +17,7 @@
*/ */
package com.rtbishop.look4sat.presentation.map package com.rtbishop.look4sat.presentation.map
import com.rtbishop.look4sat.model.GeoPos import com.rtbishop.look4sat.domain.model.GeoPos
data class MapData( data class MapData(
val catNum: Int, val catNum: Int,
@@ -28,9 +28,9 @@ import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleEventObserver import androidx.lifecycle.LifecycleEventObserver
import androidx.lifecycle.viewmodel.compose.viewModel import androidx.lifecycle.viewmodel.compose.viewModel
import com.rtbishop.look4sat.R import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.domain.Satellite import com.rtbishop.look4sat.domain.model.GeoPos
import com.rtbishop.look4sat.model.GeoPos import com.rtbishop.look4sat.domain.model.SatPos
import com.rtbishop.look4sat.model.SatPos import com.rtbishop.look4sat.domain.predict.Satellite
import org.osmdroid.tileprovider.tilesource.XYTileSource import org.osmdroid.tileprovider.tilesource.XYTileSource
import org.osmdroid.util.GeoPoint import org.osmdroid.util.GeoPoint
import org.osmdroid.views.CustomZoomButtonsController import org.osmdroid.views.CustomZoomButtonsController
@@ -23,14 +23,14 @@ import androidx.lifecycle.viewModelScope
import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.initializer
import androidx.lifecycle.viewmodel.viewModelFactory import androidx.lifecycle.viewmodel.viewModelFactory
import com.rtbishop.look4sat.MainApplication import com.rtbishop.look4sat.MainApplication
import com.rtbishop.look4sat.domain.ISatelliteRepo import com.rtbishop.look4sat.domain.model.GeoPos
import com.rtbishop.look4sat.domain.ISettingsRepo import com.rtbishop.look4sat.domain.model.SatPos
import com.rtbishop.look4sat.domain.Satellite import com.rtbishop.look4sat.domain.predict.ISatelliteRepo
import com.rtbishop.look4sat.model.GeoPos import com.rtbishop.look4sat.domain.predict.ISettingsRepo
import com.rtbishop.look4sat.model.SatPos import com.rtbishop.look4sat.domain.predict.Satellite
import com.rtbishop.look4sat.utility.QthConverter import com.rtbishop.look4sat.domain.utility.QthConverter
import com.rtbishop.look4sat.utility.toDegrees import com.rtbishop.look4sat.domain.utility.toDegrees
import com.rtbishop.look4sat.utility.toTimerString import com.rtbishop.look4sat.domain.utility.toTimerString
import kotlinx.coroutines.Job import kotlinx.coroutines.Job
import kotlinx.coroutines.cancelAndJoin import kotlinx.coroutines.cancelAndJoin
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
@@ -22,10 +22,10 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.* import androidx.compose.ui.unit.*
import androidx.lifecycle.viewmodel.compose.viewModel import androidx.lifecycle.viewmodel.compose.viewModel
import com.rtbishop.look4sat.R import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.domain.NearEarthSatellite import com.rtbishop.look4sat.domain.model.DataState
import com.rtbishop.look4sat.model.DataState import com.rtbishop.look4sat.domain.model.OrbitalData
import com.rtbishop.look4sat.model.OrbitalData import com.rtbishop.look4sat.domain.model.SatPass
import com.rtbishop.look4sat.model.SatPass import com.rtbishop.look4sat.domain.predict.NearEarthSatellite
import com.rtbishop.look4sat.presentation.* import com.rtbishop.look4sat.presentation.*
import com.rtbishop.look4sat.presentation.dialogs.FilterDialog import com.rtbishop.look4sat.presentation.dialogs.FilterDialog
import com.rtbishop.look4sat.presentation.pullRefresh.PullRefreshIndicator import com.rtbishop.look4sat.presentation.pullRefresh.PullRefreshIndicator
@@ -23,12 +23,12 @@ import androidx.lifecycle.viewModelScope
import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.initializer
import androidx.lifecycle.viewmodel.viewModelFactory import androidx.lifecycle.viewmodel.viewModelFactory
import com.rtbishop.look4sat.MainApplication import com.rtbishop.look4sat.MainApplication
import com.rtbishop.look4sat.domain.ISatelliteRepo import com.rtbishop.look4sat.domain.model.DataState
import com.rtbishop.look4sat.domain.ISettingsRepo import com.rtbishop.look4sat.domain.model.PassesSettings
import com.rtbishop.look4sat.model.DataState import com.rtbishop.look4sat.domain.model.SatPass
import com.rtbishop.look4sat.model.PassesSettings import com.rtbishop.look4sat.domain.predict.ISatelliteRepo
import com.rtbishop.look4sat.model.SatPass import com.rtbishop.look4sat.domain.predict.ISettingsRepo
import com.rtbishop.look4sat.utility.toTimerString import com.rtbishop.look4sat.domain.utility.toTimerString
import kotlinx.coroutines.Job import kotlinx.coroutines.Job
import kotlinx.coroutines.cancelAndJoin import kotlinx.coroutines.cancelAndJoin
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
@@ -17,6 +17,6 @@
*/ */
package com.rtbishop.look4sat.presentation.radar package com.rtbishop.look4sat.presentation.radar
import com.rtbishop.look4sat.model.SatPos import com.rtbishop.look4sat.domain.model.SatPos
data class RadarData(val satPos: SatPos, val satTrack: List<SatPos> = emptyList()) data class RadarData(val satPos: SatPos, val satTrack: List<SatPos> = emptyList())
@@ -29,7 +29,7 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import androidx.lifecycle.viewmodel.compose.viewModel import androidx.lifecycle.viewmodel.compose.viewModel
import com.rtbishop.look4sat.R import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.model.SatRadio import com.rtbishop.look4sat.domain.model.SatRadio
@Composable @Composable
fun RadarScreen() { fun RadarScreen() {
@@ -14,9 +14,9 @@ import androidx.compose.ui.graphics.*
import androidx.compose.ui.graphics.drawscope.* import androidx.compose.ui.graphics.drawscope.*
import androidx.compose.ui.text.* import androidx.compose.ui.text.*
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import com.rtbishop.look4sat.domain.PI_2 import com.rtbishop.look4sat.domain.model.SatPos
import com.rtbishop.look4sat.model.SatPos import com.rtbishop.look4sat.domain.predict.PI_2
import com.rtbishop.look4sat.utility.toRadians import com.rtbishop.look4sat.domain.utility.toRadians
import kotlin.math.cos import kotlin.math.cos
import kotlin.math.sin import kotlin.math.sin
@@ -28,18 +28,18 @@ import androidx.lifecycle.viewModelScope
import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.initializer
import androidx.lifecycle.viewmodel.viewModelFactory import androidx.lifecycle.viewmodel.viewModelFactory
import com.rtbishop.look4sat.MainApplication import com.rtbishop.look4sat.MainApplication
import com.rtbishop.look4sat.data.ISensorSource import com.rtbishop.look4sat.domain.data.ISensorSource
import com.rtbishop.look4sat.domain.ISatelliteRepo import com.rtbishop.look4sat.domain.model.GeoPos
import com.rtbishop.look4sat.domain.ISettingsRepo import com.rtbishop.look4sat.domain.model.SatPass
import com.rtbishop.look4sat.domain.Satellite import com.rtbishop.look4sat.domain.model.SatPos
import com.rtbishop.look4sat.domain.model.SatRadio
import com.rtbishop.look4sat.domain.predict.ISatelliteRepo
import com.rtbishop.look4sat.domain.predict.ISettingsRepo
import com.rtbishop.look4sat.domain.predict.Satellite
import com.rtbishop.look4sat.domain.utility.round
import com.rtbishop.look4sat.domain.utility.toDegrees
import com.rtbishop.look4sat.framework.BluetoothReporter import com.rtbishop.look4sat.framework.BluetoothReporter
import com.rtbishop.look4sat.framework.NetworkReporter import com.rtbishop.look4sat.framework.NetworkReporter
import com.rtbishop.look4sat.model.GeoPos
import com.rtbishop.look4sat.model.SatPass
import com.rtbishop.look4sat.model.SatPos
import com.rtbishop.look4sat.model.SatRadio
import com.rtbishop.look4sat.utility.round
import com.rtbishop.look4sat.utility.toDegrees
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.isActive import kotlinx.coroutines.isActive
@@ -37,8 +37,8 @@ import androidx.compose.ui.unit.sp
import androidx.lifecycle.viewmodel.compose.viewModel import androidx.lifecycle.viewmodel.compose.viewModel
import com.rtbishop.look4sat.BuildConfig import com.rtbishop.look4sat.BuildConfig
import com.rtbishop.look4sat.R import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.model.GeoPos import com.rtbishop.look4sat.domain.model.GeoPos
import com.rtbishop.look4sat.model.OtherSettings import com.rtbishop.look4sat.domain.model.OtherSettings
import com.rtbishop.look4sat.presentation.CardButton import com.rtbishop.look4sat.presentation.CardButton
import com.rtbishop.look4sat.presentation.MainTheme import com.rtbishop.look4sat.presentation.MainTheme
import com.rtbishop.look4sat.presentation.dialogs.LocatorDialog import com.rtbishop.look4sat.presentation.dialogs.LocatorDialog
@@ -1,6 +1,6 @@
package com.rtbishop.look4sat.presentation.settings package com.rtbishop.look4sat.presentation.settings
import com.rtbishop.look4sat.model.GeoPos import com.rtbishop.look4sat.domain.model.GeoPos
data class PositionSettings(val isUpdating: Boolean, val stationPos: GeoPos, val messageResId: Int) data class PositionSettings(val isUpdating: Boolean, val stationPos: GeoPos, val messageResId: Int)
@@ -26,9 +26,9 @@ import androidx.lifecycle.viewmodel.initializer
import androidx.lifecycle.viewmodel.viewModelFactory import androidx.lifecycle.viewmodel.viewModelFactory
import com.rtbishop.look4sat.MainApplication import com.rtbishop.look4sat.MainApplication
import com.rtbishop.look4sat.R import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.domain.IDatabaseRepo import com.rtbishop.look4sat.domain.model.OtherSettings
import com.rtbishop.look4sat.domain.ISettingsRepo import com.rtbishop.look4sat.domain.predict.IDatabaseRepo
import com.rtbishop.look4sat.model.OtherSettings import com.rtbishop.look4sat.domain.predict.ISettingsRepo
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
class SettingsViewModel( class SettingsViewModel(
File renamed without changes.
File renamed without changes.
@@ -15,10 +15,10 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.data package com.rtbishop.look4sat.domain.data
import com.rtbishop.look4sat.model.OrbitalData import com.rtbishop.look4sat.domain.model.OrbitalData
import com.rtbishop.look4sat.model.SatRadio import com.rtbishop.look4sat.domain.model.SatRadio
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import org.json.JSONArray import org.json.JSONArray
@@ -15,13 +15,13 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.data package com.rtbishop.look4sat.domain.data
import com.rtbishop.look4sat.domain.IDatabaseRepo import com.rtbishop.look4sat.domain.model.DatabaseState
import com.rtbishop.look4sat.domain.ISettingsRepo import com.rtbishop.look4sat.domain.model.SatEntry
import com.rtbishop.look4sat.model.DatabaseState import com.rtbishop.look4sat.domain.model.SatRadio
import com.rtbishop.look4sat.model.SatEntry import com.rtbishop.look4sat.domain.predict.IDatabaseRepo
import com.rtbishop.look4sat.model.SatRadio import com.rtbishop.look4sat.domain.predict.ISettingsRepo
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.async import kotlinx.coroutines.async
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.data package com.rtbishop.look4sat.domain.data
import java.io.InputStream import java.io.InputStream
@@ -15,12 +15,12 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.data package com.rtbishop.look4sat.domain.data
import com.rtbishop.look4sat.domain.Satellite import com.rtbishop.look4sat.domain.model.SatEntry
import com.rtbishop.look4sat.model.SatEntry import com.rtbishop.look4sat.domain.model.SatItem
import com.rtbishop.look4sat.model.SatItem import com.rtbishop.look4sat.domain.model.SatRadio
import com.rtbishop.look4sat.model.SatRadio import com.rtbishop.look4sat.domain.predict.Satellite
interface ILocalStorage { interface ILocalStorage {
@@ -1,4 +1,4 @@
package com.rtbishop.look4sat.data package com.rtbishop.look4sat.domain.data
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
@@ -15,17 +15,17 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.data package com.rtbishop.look4sat.domain.data
import com.rtbishop.look4sat.domain.ISatelliteRepo import com.rtbishop.look4sat.domain.model.GeoPos
import com.rtbishop.look4sat.domain.ISettingsRepo import com.rtbishop.look4sat.domain.model.SatPass
import com.rtbishop.look4sat.domain.Satellite import com.rtbishop.look4sat.domain.model.SatPos
import com.rtbishop.look4sat.model.GeoPos import com.rtbishop.look4sat.domain.model.SatRadio
import com.rtbishop.look4sat.model.SatPass import com.rtbishop.look4sat.domain.predict.ISatelliteRepo
import com.rtbishop.look4sat.model.SatPos import com.rtbishop.look4sat.domain.predict.ISettingsRepo
import com.rtbishop.look4sat.model.SatRadio import com.rtbishop.look4sat.domain.predict.Satellite
import com.rtbishop.look4sat.utility.round import com.rtbishop.look4sat.domain.utility.round
import com.rtbishop.look4sat.utility.toDegrees import com.rtbishop.look4sat.domain.utility.toDegrees
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
@@ -1,8 +1,8 @@
package com.rtbishop.look4sat.data package com.rtbishop.look4sat.domain.data
import com.rtbishop.look4sat.domain.ISelectionRepo import com.rtbishop.look4sat.domain.model.SatItem
import com.rtbishop.look4sat.domain.ISettingsRepo import com.rtbishop.look4sat.domain.predict.ISelectionRepo
import com.rtbishop.look4sat.model.SatItem import com.rtbishop.look4sat.domain.predict.ISettingsRepo
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.model package com.rtbishop.look4sat.domain.model
sealed class DataState<out T> { sealed class DataState<out T> {
data class Success<out T>(val data: T) : DataState<T>() data class Success<out T>(val data: T) : DataState<T>()
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.model package com.rtbishop.look4sat.domain.model
data class GeoPos( data class GeoPos(
val latitude: Double, val latitude: Double,
@@ -15,9 +15,14 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.model package com.rtbishop.look4sat.domain.model
import com.rtbishop.look4sat.domain.* import com.rtbishop.look4sat.domain.predict.DEG2RAD
import com.rtbishop.look4sat.domain.predict.DeepSpaceSatellite
import com.rtbishop.look4sat.domain.predict.MIN_PER_DAY
import com.rtbishop.look4sat.domain.predict.NearEarthSatellite
import com.rtbishop.look4sat.domain.predict.Satellite
import com.rtbishop.look4sat.domain.predict.TWO_PI
data class OrbitalData( data class OrbitalData(
val name: String, val name: String,
@@ -15,6 +15,6 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.model package com.rtbishop.look4sat.domain.model
data class SatEntry(val data: OrbitalData, var comment: String? = null) data class SatEntry(val data: OrbitalData, var comment: String? = null)
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.model package com.rtbishop.look4sat.domain.model
data class SatItem( data class SatItem(
val catnum: Int, val catnum: Int,
@@ -15,9 +15,9 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.model package com.rtbishop.look4sat.domain.model
import com.rtbishop.look4sat.domain.Satellite import com.rtbishop.look4sat.domain.predict.Satellite
data class SatPass( data class SatPass(
val aosTime: Long = 0L, val aosTime: Long = 0L,
@@ -15,13 +15,19 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.model package com.rtbishop.look4sat.domain.model
import com.rtbishop.look4sat.domain.DEG2RAD import com.rtbishop.look4sat.domain.predict.DEG2RAD
import com.rtbishop.look4sat.domain.EARTH_RADIUS import com.rtbishop.look4sat.domain.predict.EARTH_RADIUS
import com.rtbishop.look4sat.domain.RAD2DEG import com.rtbishop.look4sat.domain.predict.RAD2DEG
import com.rtbishop.look4sat.domain.SPEED_OF_LIGHT import com.rtbishop.look4sat.domain.predict.SPEED_OF_LIGHT
import kotlin.math.* import kotlin.math.acos
import kotlin.math.asin
import kotlin.math.atan2
import kotlin.math.cos
import kotlin.math.pow
import kotlin.math.sin
import kotlin.math.sqrt
data class SatPos( data class SatPos(
var azimuth: Double = 0.0, var azimuth: Double = 0.0,
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.model package com.rtbishop.look4sat.domain.model
data class SatRadio( data class SatRadio(
val uuid: String, val uuid: String,
@@ -1,4 +1,4 @@
package com.rtbishop.look4sat.model package com.rtbishop.look4sat.domain.model
data class DatabaseState(val entriesTotal: Int, val radiosTotal: Int, val timestamp: Long) data class DatabaseState(val entriesTotal: Int, val radiosTotal: Int, val timestamp: Long)
@@ -15,10 +15,16 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.domain package com.rtbishop.look4sat.domain.predict
import com.rtbishop.look4sat.model.OrbitalData import com.rtbishop.look4sat.domain.model.OrbitalData
import kotlin.math.* import kotlin.math.abs
import kotlin.math.atan2
import kotlin.math.cos
import kotlin.math.floor
import kotlin.math.pow
import kotlin.math.sin
import kotlin.math.sqrt
class DeepSpaceSatellite(data: OrbitalData) : Satellite(data) { class DeepSpaceSatellite(data: OrbitalData) : Satellite(data) {
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.domain package com.rtbishop.look4sat.domain.predict
interface IDatabaseRepo { interface IDatabaseRepo {
@@ -1,9 +1,9 @@
package com.rtbishop.look4sat.domain package com.rtbishop.look4sat.domain.predict
import com.rtbishop.look4sat.model.GeoPos import com.rtbishop.look4sat.domain.model.GeoPos
import com.rtbishop.look4sat.model.SatPass import com.rtbishop.look4sat.domain.model.SatPass
import com.rtbishop.look4sat.model.SatPos import com.rtbishop.look4sat.domain.model.SatPos
import com.rtbishop.look4sat.model.SatRadio import com.rtbishop.look4sat.domain.model.SatRadio
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
interface ISatelliteRepo { interface ISatelliteRepo {
@@ -1,6 +1,6 @@
package com.rtbishop.look4sat.domain package com.rtbishop.look4sat.domain.predict
import com.rtbishop.look4sat.model.SatItem import com.rtbishop.look4sat.domain.model.SatItem
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
interface ISelectionRepo { interface ISelectionRepo {
@@ -15,12 +15,12 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.domain package com.rtbishop.look4sat.domain.predict
import com.rtbishop.look4sat.model.DatabaseState import com.rtbishop.look4sat.domain.model.DatabaseState
import com.rtbishop.look4sat.model.GeoPos import com.rtbishop.look4sat.domain.model.GeoPos
import com.rtbishop.look4sat.model.OtherSettings import com.rtbishop.look4sat.domain.model.OtherSettings
import com.rtbishop.look4sat.model.PassesSettings import com.rtbishop.look4sat.domain.model.PassesSettings
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
interface ISettingsRepo { interface ISettingsRepo {
@@ -15,10 +15,15 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.domain package com.rtbishop.look4sat.domain.predict
import com.rtbishop.look4sat.model.OrbitalData import com.rtbishop.look4sat.domain.model.OrbitalData
import kotlin.math.* import kotlin.math.abs
import kotlin.math.atan2
import kotlin.math.cos
import kotlin.math.pow
import kotlin.math.sin
import kotlin.math.sqrt
class NearEarthSatellite(data: OrbitalData) : Satellite(data) { class NearEarthSatellite(data: OrbitalData) : Satellite(data) {
@@ -15,12 +15,23 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.domain package com.rtbishop.look4sat.domain.predict
import com.rtbishop.look4sat.model.GeoPos import com.rtbishop.look4sat.domain.model.GeoPos
import com.rtbishop.look4sat.model.OrbitalData import com.rtbishop.look4sat.domain.model.OrbitalData
import com.rtbishop.look4sat.model.SatPos import com.rtbishop.look4sat.domain.model.SatPos
import kotlin.math.* import kotlin.math.abs
import kotlin.math.acos
import kotlin.math.asin
import kotlin.math.atan
import kotlin.math.atan2
import kotlin.math.cos
import kotlin.math.exp
import kotlin.math.floor
import kotlin.math.ln
import kotlin.math.pow
import kotlin.math.sin
import kotlin.math.sqrt
const val ASTRONOMICAL_UNIT = 1.49597870691E8 const val ASTRONOMICAL_UNIT = 1.49597870691E8
const val DEG2RAD = 0.017453292519943295 const val DEG2RAD = 0.017453292519943295
@@ -15,10 +15,10 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.utility package com.rtbishop.look4sat.domain.utility
import com.rtbishop.look4sat.domain.DEG2RAD import com.rtbishop.look4sat.domain.predict.DEG2RAD
import com.rtbishop.look4sat.domain.RAD2DEG import com.rtbishop.look4sat.domain.predict.RAD2DEG
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
fun Long.toTimerString(): String { fun Long.toTimerString(): String {
@@ -15,9 +15,9 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat.utility package com.rtbishop.look4sat.domain.utility
import com.rtbishop.look4sat.model.GeoPos import com.rtbishop.look4sat.domain.model.GeoPos
object QthConverter { object QthConverter {
@@ -15,9 +15,9 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat package com.rtbishop.look4sat.domain
import com.rtbishop.look4sat.data.DataParser import com.rtbishop.look4sat.domain.data.DataParser
import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.StandardTestDispatcher import kotlinx.coroutines.test.StandardTestDispatcher
import kotlinx.coroutines.test.runTest import kotlinx.coroutines.test.runTest
@@ -15,9 +15,9 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package com.rtbishop.look4sat package com.rtbishop.look4sat.domain
import com.rtbishop.look4sat.utility.QthConverter import com.rtbishop.look4sat.domain.utility.QthConverter
import org.junit.Test import org.junit.Test
class QthConverterTest { class QthConverterTest {
+1 -1
View File
@@ -14,4 +14,4 @@ dependencyResolutionManagement {
} }
rootProject.name = "Look4Sat" rootProject.name = "Look4Sat"
include ":app" include ":app"
include ":base" include ":domain"