diff --git a/app/src/main/java/com/rtbishop/look4sat/framework/DataMapper.kt b/app/src/main/java/com/rtbishop/look4sat/framework/DataMapper.kt
index 969c3531..0aedb789 100644
--- a/app/src/main/java/com/rtbishop/look4sat/framework/DataMapper.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/framework/DataMapper.kt
@@ -20,9 +20,9 @@ package com.rtbishop.look4sat.framework
import com.rtbishop.look4sat.framework.model.SatEntry
import com.rtbishop.look4sat.framework.model.SatItem
import com.rtbishop.look4sat.framework.model.Transmitter
-import com.rtbishop.look4sat.model.SatEntry as DomainEntry
-import com.rtbishop.look4sat.model.SatItem as DomainItem
-import com.rtbishop.look4sat.model.Transmitter as DomainTrans
+import com.rtbishop.look4sat.domain.model.SatEntry as DomainEntry
+import com.rtbishop.look4sat.domain.model.SatItem as DomainItem
+import com.rtbishop.look4sat.domain.model.Transmitter as DomainTrans
object DataMapper {
diff --git a/app/src/main/java/com/rtbishop/look4sat/framework/PreferencesSource.kt b/app/src/main/java/com/rtbishop/look4sat/framework/PreferencesSource.kt
index 837aea65..fb206b98 100644
--- a/app/src/main/java/com/rtbishop/look4sat/framework/PreferencesSource.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/framework/PreferencesSource.kt
@@ -21,8 +21,8 @@ import android.content.SharedPreferences
import android.hardware.GeomagneticField
import android.location.LocationManager
import androidx.core.content.edit
-import com.rtbishop.look4sat.common.Constants
-import com.rtbishop.look4sat.predict4kotlin.GeoPos
+import com.rtbishop.look4sat.domain.Constants
+import com.rtbishop.look4sat.domain.predict.GeoPos
import com.rtbishop.look4sat.domain.QthConverter
import com.rtbishop.look4sat.utility.round
import com.squareup.moshi.Moshi
diff --git a/app/src/main/java/com/rtbishop/look4sat/framework/local/Converters.kt b/app/src/main/java/com/rtbishop/look4sat/framework/local/Converters.kt
index 8a1077c2..d2b5c82f 100644
--- a/app/src/main/java/com/rtbishop/look4sat/framework/local/Converters.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/framework/local/Converters.kt
@@ -18,8 +18,8 @@
package com.rtbishop.look4sat.framework.local
import androidx.room.TypeConverter
-import com.rtbishop.look4sat.predict4kotlin.Satellite
-import com.rtbishop.look4sat.predict4kotlin.TLE
+import com.rtbishop.look4sat.domain.predict.Satellite
+import com.rtbishop.look4sat.domain.predict.TLE
import com.squareup.moshi.JsonAdapter
import com.squareup.moshi.Moshi
diff --git a/app/src/main/java/com/rtbishop/look4sat/framework/local/LocalSource.kt b/app/src/main/java/com/rtbishop/look4sat/framework/local/LocalSource.kt
index 0e915b51..54398062 100644
--- a/app/src/main/java/com/rtbishop/look4sat/framework/local/LocalSource.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/framework/local/LocalSource.kt
@@ -18,10 +18,10 @@
package com.rtbishop.look4sat.framework.local
import com.rtbishop.look4sat.data.LocalDataSource
-import com.rtbishop.look4sat.model.SatEntry
-import com.rtbishop.look4sat.model.SatItem
-import com.rtbishop.look4sat.predict4kotlin.Satellite
-import com.rtbishop.look4sat.model.Transmitter
+import com.rtbishop.look4sat.domain.model.SatEntry
+import com.rtbishop.look4sat.domain.model.SatItem
+import com.rtbishop.look4sat.domain.predict.Satellite
+import com.rtbishop.look4sat.domain.model.Transmitter
import com.rtbishop.look4sat.framework.DataMapper
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
diff --git a/app/src/main/java/com/rtbishop/look4sat/framework/local/SatelliteDao.kt b/app/src/main/java/com/rtbishop/look4sat/framework/local/SatelliteDao.kt
index 71e2a9dc..015f6d1d 100644
--- a/app/src/main/java/com/rtbishop/look4sat/framework/local/SatelliteDao.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/framework/local/SatelliteDao.kt
@@ -21,7 +21,7 @@ import androidx.room.*
import com.rtbishop.look4sat.framework.model.SatEntry
import com.rtbishop.look4sat.framework.model.SatItem
import com.rtbishop.look4sat.framework.model.Transmitter
-import com.rtbishop.look4sat.predict4kotlin.Satellite
+import com.rtbishop.look4sat.domain.predict.Satellite
import kotlinx.coroutines.flow.Flow
@Dao
diff --git a/app/src/main/java/com/rtbishop/look4sat/framework/model/SatEntry.kt b/app/src/main/java/com/rtbishop/look4sat/framework/model/SatEntry.kt
index 4d7aec2a..5a0932b8 100644
--- a/app/src/main/java/com/rtbishop/look4sat/framework/model/SatEntry.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/framework/model/SatEntry.kt
@@ -19,7 +19,7 @@ package com.rtbishop.look4sat.framework.model
import androidx.room.Entity
import androidx.room.PrimaryKey
-import com.rtbishop.look4sat.predict4kotlin.TLE
+import com.rtbishop.look4sat.domain.predict.TLE
@Entity(tableName = "entries")
data class SatEntry(
diff --git a/app/src/main/java/com/rtbishop/look4sat/framework/remote/RemoteSource.kt b/app/src/main/java/com/rtbishop/look4sat/framework/remote/RemoteSource.kt
index 46efa2cb..063cc324 100644
--- a/app/src/main/java/com/rtbishop/look4sat/framework/remote/RemoteSource.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/framework/remote/RemoteSource.kt
@@ -18,7 +18,7 @@
package com.rtbishop.look4sat.framework.remote
import com.rtbishop.look4sat.data.RemoteDataSource
-import com.rtbishop.look4sat.model.Transmitter
+import com.rtbishop.look4sat.domain.model.Transmitter
import com.rtbishop.look4sat.framework.DataMapper
import java.io.InputStream
diff --git a/app/src/main/java/com/rtbishop/look4sat/injection/AndroidModule.kt b/app/src/main/java/com/rtbishop/look4sat/injection/AndroidModule.kt
deleted file mode 100644
index e422617b..00000000
--- a/app/src/main/java/com/rtbishop/look4sat/injection/AndroidModule.kt
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Look4Sat. Amateur radio satellite tracker and pass predictor.
- * Copyright (C) 2019-2021 Arty Bishop (bishop.arty@gmail.com)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.rtbishop.look4sat.injection
-
-import android.content.ContentResolver
-import android.content.Context
-import android.content.SharedPreferences
-import android.hardware.SensorManager
-import android.location.LocationManager
-import androidx.preference.PreferenceManager
-import dagger.Module
-import dagger.Provides
-import dagger.hilt.InstallIn
-import dagger.hilt.android.qualifiers.ApplicationContext
-import dagger.hilt.components.SingletonComponent
-
-@Module
-@InstallIn(SingletonComponent::class)
-object AndroidModule {
-
- @Provides
- fun provideContentResolver(@ApplicationContext context: Context): ContentResolver {
- return context.contentResolver
- }
-
- @Provides
- fun provideLocationManager(@ApplicationContext context: Context): LocationManager {
- return context.getSystemService(Context.LOCATION_SERVICE) as LocationManager
- }
-
- @Provides
- fun provideSensorManager(@ApplicationContext context: Context): SensorManager {
- return context.getSystemService(Context.SENSOR_SERVICE) as SensorManager
- }
-
- @Provides
- fun provideSharedPreferences(@ApplicationContext context: Context): SharedPreferences {
- return PreferenceManager.getDefaultSharedPreferences(context)
- }
-}
diff --git a/app/src/main/java/com/rtbishop/look4sat/injection/Look4SatModule.kt b/app/src/main/java/com/rtbishop/look4sat/injection/AppModule.kt
similarity index 64%
rename from app/src/main/java/com/rtbishop/look4sat/injection/Look4SatModule.kt
rename to app/src/main/java/com/rtbishop/look4sat/injection/AppModule.kt
index b8d6568b..f4dc8ab4 100644
--- a/app/src/main/java/com/rtbishop/look4sat/injection/Look4SatModule.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/injection/AppModule.kt
@@ -17,35 +17,53 @@
*/
package com.rtbishop.look4sat.injection
+import android.content.ContentResolver
import android.content.Context
import android.content.SharedPreferences
+import android.hardware.SensorManager
import android.location.LocationManager
+import androidx.preference.PreferenceManager
import androidx.room.Room
-import com.rtbishop.look4sat.data.LocalDataSource
-import com.rtbishop.look4sat.data.RemoteDataSource
-import com.rtbishop.look4sat.data.DataRepository
-import com.rtbishop.look4sat.framework.remote.SatelliteApi
-import com.rtbishop.look4sat.common.Constants
-import com.rtbishop.look4sat.domain.Repository
+import com.rtbishop.look4sat.domain.Constants
import com.rtbishop.look4sat.framework.PreferencesSource
-import com.rtbishop.look4sat.domain.DataReporter
-import com.rtbishop.look4sat.predict4kotlin.Predictor
-import com.rtbishop.look4sat.framework.remote.RemoteSource
-import com.rtbishop.look4sat.framework.local.*
+import com.rtbishop.look4sat.framework.local.Converters
+import com.rtbishop.look4sat.framework.local.MIGRATION_1_2
+import com.rtbishop.look4sat.framework.local.SatelliteDao
+import com.rtbishop.look4sat.framework.local.SatelliteDb
+import com.rtbishop.look4sat.framework.remote.SatelliteApi
import com.squareup.moshi.Moshi
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
-import kotlinx.coroutines.CoroutineDispatcher
import retrofit2.Retrofit
import retrofit2.converter.moshi.MoshiConverterFactory
import javax.inject.Singleton
@Module
@InstallIn(SingletonComponent::class)
-object Look4SatModule {
+object AppModule {
+
+ @Provides
+ fun provideContentResolver(@ApplicationContext context: Context): ContentResolver {
+ return context.contentResolver
+ }
+
+ @Provides
+ fun provideLocationManager(@ApplicationContext context: Context): LocationManager {
+ return context.getSystemService(Context.LOCATION_SERVICE) as LocationManager
+ }
+
+ @Provides
+ fun provideSensorManager(@ApplicationContext context: Context): SensorManager {
+ return context.getSystemService(Context.SENSOR_SERVICE) as SensorManager
+ }
+
+ @Provides
+ fun provideSharedPreferences(@ApplicationContext context: Context): SharedPreferences {
+ return PreferenceManager.getDefaultSharedPreferences(context)
+ }
@Provides
@Singleton
@@ -65,23 +83,11 @@ object Look4SatModule {
@Provides
@Singleton
- fun providePredictor(@DefaultDispatcher dispatcher: CoroutineDispatcher): Predictor {
- return Predictor(dispatcher)
- }
-
- @Provides
- @Singleton
- fun provideSatelliteRepo(
- localSource: LocalDataSource,
- remoteSource: RemoteDataSource,
- @IoDispatcher dispatcher: CoroutineDispatcher
- ): Repository {
- return DataRepository(localSource, remoteSource, dispatcher)
- }
-
- @Provides
- fun provideLocalDataSource(satelliteDao: SatelliteDao): LocalDataSource {
- return LocalSource(satelliteDao)
+ fun provideSatelliteApi(): SatelliteApi {
+ return Retrofit.Builder()
+ .baseUrl(Constants.URL_BASE)
+ .addConverterFactory(MoshiConverterFactory.create())
+ .build().create(SatelliteApi::class.java)
}
@Provides
@@ -97,25 +103,4 @@ object Look4SatModule {
return Room.databaseBuilder(context, SatelliteDb::class.java, "SatelliteDb")
.addMigrations(MIGRATION_1_2).build()
}
-
- @Provides
- @Singleton
- fun provideRemoteDataSource(satelliteApi: SatelliteApi): RemoteDataSource {
- return RemoteSource(satelliteApi)
- }
-
- @Provides
- @Singleton
- fun provideSatelliteService(): SatelliteApi {
- return Retrofit.Builder()
- .baseUrl(Constants.URL_BASE)
- .addConverterFactory(MoshiConverterFactory.create())
- .build().create(SatelliteApi::class.java)
- }
-
- @Provides
- @Singleton
- fun provideDataReporter(@IoDispatcher dispatcher: CoroutineDispatcher): DataReporter {
- return DataReporter(dispatcher)
- }
}
diff --git a/app/src/main/java/com/rtbishop/look4sat/injection/CoreModule.kt b/app/src/main/java/com/rtbishop/look4sat/injection/CoreModule.kt
new file mode 100644
index 00000000..9d4c6a91
--- /dev/null
+++ b/app/src/main/java/com/rtbishop/look4sat/injection/CoreModule.kt
@@ -0,0 +1,72 @@
+/*
+ * Look4Sat. Amateur radio satellite tracker and pass predictor.
+ * Copyright (C) 2019-2021 Arty Bishop (bishop.arty@gmail.com)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package com.rtbishop.look4sat.injection
+
+import com.rtbishop.look4sat.data.LocalDataSource
+import com.rtbishop.look4sat.data.RemoteDataSource
+import com.rtbishop.look4sat.data.DataRepository
+import com.rtbishop.look4sat.framework.remote.SatelliteApi
+import com.rtbishop.look4sat.domain.SatelliteRepo
+import com.rtbishop.look4sat.domain.DataReporter
+import com.rtbishop.look4sat.domain.predict.Predictor
+import com.rtbishop.look4sat.framework.remote.RemoteSource
+import com.rtbishop.look4sat.framework.local.*
+import dagger.Module
+import dagger.Provides
+import dagger.hilt.InstallIn
+import dagger.hilt.components.SingletonComponent
+import kotlinx.coroutines.CoroutineDispatcher
+import javax.inject.Singleton
+
+@Module
+@InstallIn(SingletonComponent::class)
+object CoreModule {
+
+ @Provides
+ fun provideLocalDataSource(satelliteDao: SatelliteDao): LocalDataSource {
+ return LocalSource(satelliteDao)
+ }
+
+ @Provides
+ @Singleton
+ fun provideRemoteDataSource(satelliteApi: SatelliteApi): RemoteDataSource {
+ return RemoteSource(satelliteApi)
+ }
+
+ @Provides
+ @Singleton
+ fun provideSatelliteRepo(
+ localSource: LocalDataSource,
+ remoteSource: RemoteDataSource,
+ @IoDispatcher dispatcher: CoroutineDispatcher
+ ): SatelliteRepo {
+ return DataRepository(localSource, remoteSource, dispatcher)
+ }
+
+ @Provides
+ @Singleton
+ fun providePredictor(@DefaultDispatcher dispatcher: CoroutineDispatcher): Predictor {
+ return Predictor(dispatcher)
+ }
+
+ @Provides
+ @Singleton
+ fun provideDataReporter(@IoDispatcher dispatcher: CoroutineDispatcher): DataReporter {
+ return DataReporter(dispatcher)
+ }
+}
diff --git a/app/src/main/java/com/rtbishop/look4sat/injection/CoroutinesModule.kt b/app/src/main/java/com/rtbishop/look4sat/injection/KotlinModule.kt
similarity index 100%
rename from app/src/main/java/com/rtbishop/look4sat/injection/CoroutinesModule.kt
rename to app/src/main/java/com/rtbishop/look4sat/injection/KotlinModule.kt
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesAdapter.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesAdapter.kt
index 8fe5e4d3..cc68dd95 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesAdapter.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesAdapter.kt
@@ -22,7 +22,7 @@ import android.view.ViewGroup
import androidx.recyclerview.widget.AsyncListDiffer
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView
-import com.rtbishop.look4sat.model.SatItem
+import com.rtbishop.look4sat.domain.model.SatItem
import com.rtbishop.look4sat.databinding.ItemEntryBinding
class EntriesAdapter(private val clickListener: EntriesClickListener) :
@@ -57,7 +57,7 @@ class EntriesAdapter(private val clickListener: EntriesClickListener) :
RecyclerView.ViewHolder(binding.root) {
fun bind(item: SatItem, listener: EntriesClickListener) {
- binding.entryCheckbox.text = item.name
+ binding.entryName.text = item.name
binding.entryCheckbox.isChecked = item.isSelected
itemView.setOnClickListener {
listener.updateSelection(listOf(item.catNum), item.isSelected.not())
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesFragment.kt
index a53e721f..f0fd0760 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesFragment.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesFragment.kt
@@ -23,13 +23,13 @@ import androidx.activity.result.contract.ActivityResultContracts
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
-import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.SimpleItemAnimator
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.rtbishop.look4sat.R
-import com.rtbishop.look4sat.model.SatItem
import com.rtbishop.look4sat.databinding.FragmentEntriesBinding
-import com.rtbishop.look4sat.common.DataState
+import com.rtbishop.look4sat.domain.model.SatItem
+import com.rtbishop.look4sat.domain.DataState
import com.rtbishop.look4sat.presentation.ItemDivider
import com.rtbishop.look4sat.utility.getNavResult
import com.rtbishop.look4sat.utility.navigateSafe
@@ -51,7 +51,7 @@ class EntriesFragment : Fragment(R.layout.fragment_entries) {
}
private fun setupComponents(view: View) {
- val entriesAdapter = EntriesAdapter(object: EntriesAdapter.EntriesClickListener {
+ val entriesAdapter = EntriesAdapter(object : EntriesAdapter.EntriesClickListener {
override fun updateSelection(catNums: List, isSelected: Boolean) {
viewModel.updateSelection(catNums, isSelected)
}
@@ -60,7 +60,7 @@ class EntriesFragment : Fragment(R.layout.fragment_entries) {
entriesRecycler.apply {
setHasFixedSize(true)
adapter = entriesAdapter
- layoutManager = LinearLayoutManager(requireContext())
+ layoutManager = GridLayoutManager(requireContext(), 2)
(itemAnimator as SimpleItemAnimator).supportsChangeAnimations = false
addItemDecoration(ItemDivider(R.drawable.rec_divider_light))
}
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesViewModel.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesViewModel.kt
index f28d5f15..01fef101 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesViewModel.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesViewModel.kt
@@ -21,9 +21,9 @@ import android.content.ContentResolver
import android.net.Uri
import android.widget.SearchView
import androidx.lifecycle.*
-import com.rtbishop.look4sat.model.SatItem
-import com.rtbishop.look4sat.common.DataState
-import com.rtbishop.look4sat.domain.Repository
+import com.rtbishop.look4sat.domain.model.SatItem
+import com.rtbishop.look4sat.domain.DataState
+import com.rtbishop.look4sat.domain.SatelliteRepo
import com.rtbishop.look4sat.framework.PreferencesSource
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.CoroutineExceptionHandler
@@ -37,7 +37,7 @@ import javax.inject.Inject
class EntriesViewModel @Inject constructor(
private val preferences: PreferencesSource,
private val resolver: ContentResolver,
- private val satelliteRepo: Repository,
+ private val satelliteRepo: SatelliteRepo,
) : ViewModel(), SearchView.OnQueryTextListener {
private val coroutineHandler = CoroutineExceptionHandler { _, throwable ->
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapData.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapData.kt
index aef324f5..5299cd93 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapData.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapData.kt
@@ -17,8 +17,8 @@
*/
package com.rtbishop.look4sat.presentation.mapScreen
-import com.rtbishop.look4sat.predict4kotlin.GeoPos
-import com.rtbishop.look4sat.predict4kotlin.Satellite
+import com.rtbishop.look4sat.domain.predict.GeoPos
+import com.rtbishop.look4sat.domain.predict.Satellite
data class MapData(
val pass: Satellite,
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapFragment.kt
index ec97c2ef..a79c0a96 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapFragment.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapFragment.kt
@@ -29,8 +29,8 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.databinding.FragmentMapBinding
-import com.rtbishop.look4sat.predict4kotlin.GeoPos
-import com.rtbishop.look4sat.predict4kotlin.Satellite
+import com.rtbishop.look4sat.domain.predict.GeoPos
+import com.rtbishop.look4sat.domain.predict.Satellite
import dagger.hilt.android.AndroidEntryPoint
import org.osmdroid.config.Configuration
import org.osmdroid.tileprovider.tilesource.TileSourceFactory
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapViewModel.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapViewModel.kt
index 81f4f45f..611c2d37 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapViewModel.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapViewModel.kt
@@ -18,12 +18,12 @@
package com.rtbishop.look4sat.presentation.mapScreen
import androidx.lifecycle.*
-import com.rtbishop.look4sat.predict4kotlin.Predictor
-import com.rtbishop.look4sat.domain.Repository
+import com.rtbishop.look4sat.domain.predict.Predictor
+import com.rtbishop.look4sat.domain.SatelliteRepo
import com.rtbishop.look4sat.framework.PreferencesSource
-import com.rtbishop.look4sat.predict4kotlin.GeoPos
+import com.rtbishop.look4sat.domain.predict.GeoPos
import com.rtbishop.look4sat.domain.QthConverter
-import com.rtbishop.look4sat.predict4kotlin.Satellite
+import com.rtbishop.look4sat.domain.predict.Satellite
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.*
import java.util.*
@@ -33,7 +33,7 @@ import kotlin.math.min
@HiltViewModel
class MapViewModel @Inject constructor(
- private val satelliteRepo: Repository,
+ private val satelliteRepo: SatelliteRepo,
private val predictor: Predictor,
private val preferences: PreferencesSource,
) : ViewModel() {
@@ -162,7 +162,7 @@ class MapViewModel @Inject constructor(
val osmLat = clipLat(Math.toDegrees(satPos.latitude))
val osmLon = clipLon(Math.toDegrees(satPos.longitude))
val osmPos = GeoPos(osmLat, osmLon)
- val qthLoc = QthConverter.positionToQTH(osmPos.latitude, osmPos.longitude) ?: "-- --"
+ val qthLoc = QthConverter.positionToQth(osmPos.latitude, osmPos.longitude) ?: "-- --"
val satData = MapData(
satellite, satellite.params.catnum, satellite.params.name, satPos.range,
satPos.altitude, satPos.getOrbitalVelocity(), qthLoc, osmPos
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesAdapter.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesAdapter.kt
index 2c08d42f..be562e2e 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesAdapter.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesAdapter.kt
@@ -25,7 +25,7 @@ import androidx.recyclerview.widget.RecyclerView
import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.databinding.ItemPassGeoBinding
import com.rtbishop.look4sat.databinding.ItemPassLeoBinding
-import com.rtbishop.look4sat.predict4kotlin.SatPass
+import com.rtbishop.look4sat.domain.predict.SatPass
import java.text.SimpleDateFormat
import java.util.*
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesFragment.kt
index 651c85a0..56bf716a 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesFragment.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesFragment.kt
@@ -29,8 +29,8 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.SimpleItemAnimator
import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.databinding.FragmentPassesBinding
-import com.rtbishop.look4sat.predict4kotlin.SatPass
-import com.rtbishop.look4sat.common.DataState
+import com.rtbishop.look4sat.domain.predict.SatPass
+import com.rtbishop.look4sat.domain.DataState
import com.rtbishop.look4sat.presentation.ItemDivider
import com.rtbishop.look4sat.utility.navigateSafe
import com.rtbishop.look4sat.utility.toTimerString
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesViewModel.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesViewModel.kt
index 17969d4b..e13b2a48 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesViewModel.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesViewModel.kt
@@ -21,10 +21,10 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
-import com.rtbishop.look4sat.predict4kotlin.Predictor
-import com.rtbishop.look4sat.predict4kotlin.SatPass
-import com.rtbishop.look4sat.common.DataState
-import com.rtbishop.look4sat.domain.Repository
+import com.rtbishop.look4sat.domain.predict.Predictor
+import com.rtbishop.look4sat.domain.predict.SatPass
+import com.rtbishop.look4sat.domain.DataState
+import com.rtbishop.look4sat.domain.SatelliteRepo
import com.rtbishop.look4sat.framework.PreferencesSource
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.*
@@ -34,7 +34,7 @@ import javax.inject.Inject
@HiltViewModel
class PassesViewModel @Inject constructor(
- private val satelliteRepo: Repository,
+ private val satelliteRepo: SatelliteRepo,
private val predictor: Predictor,
private val preferences: PreferencesSource
) : ViewModel() {
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarData.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarData.kt
index 8a0946bc..8c0f7bfd 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarData.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarData.kt
@@ -17,6 +17,6 @@
*/
package com.rtbishop.look4sat.presentation.radarScreen
-import com.rtbishop.look4sat.predict4kotlin.SatPos
+import com.rtbishop.look4sat.domain.predict.SatPos
data class RadarData(val satPos: SatPos, val satTrack: List = emptyList())
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt
index dc6b9627..040a54ff 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt
@@ -27,8 +27,8 @@ import androidx.recyclerview.widget.SimpleItemAnimator
import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.databinding.FragmentRadarBinding
import com.rtbishop.look4sat.framework.PreferencesSource
-import com.rtbishop.look4sat.predict4kotlin.SatPass
-import com.rtbishop.look4sat.predict4kotlin.SatPos
+import com.rtbishop.look4sat.domain.predict.SatPass
+import com.rtbishop.look4sat.domain.predict.SatPos
import com.rtbishop.look4sat.presentation.ItemDivider
import com.rtbishop.look4sat.utility.navigateSafe
import com.rtbishop.look4sat.utility.toTimerString
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarView.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarView.kt
index 576ed258..191cae5c 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarView.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarView.kt
@@ -22,7 +22,7 @@ import android.graphics.*
import android.view.View
import androidx.core.content.ContextCompat
import com.rtbishop.look4sat.R
-import com.rtbishop.look4sat.predict4kotlin.SatPos
+import com.rtbishop.look4sat.domain.predict.SatPos
import kotlin.math.cos
import kotlin.math.min
import kotlin.math.sin
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarViewModel.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarViewModel.kt
index a832d913..2533b091 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarViewModel.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarViewModel.kt
@@ -19,11 +19,11 @@ package com.rtbishop.look4sat.presentation.radarScreen
import androidx.lifecycle.*
import com.rtbishop.look4sat.domain.DataReporter
-import com.rtbishop.look4sat.domain.Repository
-import com.rtbishop.look4sat.predict4kotlin.Predictor
-import com.rtbishop.look4sat.predict4kotlin.SatPass
-import com.rtbishop.look4sat.predict4kotlin.SatPos
-import com.rtbishop.look4sat.model.Transmitter
+import com.rtbishop.look4sat.domain.SatelliteRepo
+import com.rtbishop.look4sat.domain.predict.Predictor
+import com.rtbishop.look4sat.domain.predict.SatPass
+import com.rtbishop.look4sat.domain.predict.SatPos
+import com.rtbishop.look4sat.domain.model.Transmitter
import com.rtbishop.look4sat.framework.OrientationSource
import com.rtbishop.look4sat.framework.PreferencesSource
import com.rtbishop.look4sat.utility.round
@@ -40,7 +40,7 @@ class RadarViewModel @Inject constructor(
private val orientationSource: OrientationSource,
private val preferences: PreferencesSource,
private val predictor: Predictor,
- private val satelliteRepo: Repository,
+ private val satelliteRepo: SatelliteRepo,
private val dataReporter: DataReporter
) : ViewModel(), OrientationSource.OrientationListener {
diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/TransmittersAdapter.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/TransmittersAdapter.kt
index 8d69c5a6..d1d61937 100644
--- a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/TransmittersAdapter.kt
+++ b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/TransmittersAdapter.kt
@@ -24,7 +24,7 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView
import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.databinding.ItemTransBinding
-import com.rtbishop.look4sat.model.Transmitter
+import com.rtbishop.look4sat.domain.model.Transmitter
import java.util.*
class TransmittersAdapter : RecyclerView.Adapter() {
diff --git a/app/src/main/res/layout/fragment_entries.xml b/app/src/main/res/layout/fragment_entries.xml
index 3457a53c..d92dc412 100644
--- a/app/src/main/res/layout/fragment_entries.xml
+++ b/app/src/main/res/layout/fragment_entries.xml
@@ -17,7 +17,7 @@
android:id="@+id/entries_import_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginStart="24dp"
+ android:layout_marginStart="18dp"
android:elevation="4dp"
android:text="@string/entries_update"
android:textSize="18sp"
@@ -53,13 +53,15 @@
+ app:layout_constraintTop_toBottomOf="@+id/entries_import_web" />
-
+ android:layout_height="wrap_content"
+ app:cardCornerRadius="8dp"
+ app:cardElevation="0dp">
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 8787603f..e5498bd3 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -17,7 +17,7 @@
Пожалуйста, проверьте URL
Обновить спутники:
- Имя / Номер
+ Поиск по Имени / Id
Ошибка обновления спутников
Выберите модуляцию трансивера
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ae87fa23..1d7edf68 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -20,7 +20,7 @@
Please check the entered URL
TLE data update:
- Name / Id
+ Search by Name / Id
Error importing satellite data
Choose transceiver mode
diff --git a/core/src/main/java/com/rtbishop/look4sat/data/DataRepository.kt b/core/src/main/java/com/rtbishop/look4sat/data/DataRepository.kt
index 8454331a..dc1f10a7 100644
--- a/core/src/main/java/com/rtbishop/look4sat/data/DataRepository.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/data/DataRepository.kt
@@ -17,12 +17,12 @@
*/
package com.rtbishop.look4sat.data
-import com.rtbishop.look4sat.domain.Repository
-import com.rtbishop.look4sat.model.SatEntry
-import com.rtbishop.look4sat.model.SatItem
-import com.rtbishop.look4sat.model.Transmitter
-import com.rtbishop.look4sat.predict4kotlin.Satellite
-import com.rtbishop.look4sat.predict4kotlin.TLE
+import com.rtbishop.look4sat.domain.SatelliteRepo
+import com.rtbishop.look4sat.domain.model.SatEntry
+import com.rtbishop.look4sat.domain.model.SatItem
+import com.rtbishop.look4sat.domain.model.Transmitter
+import com.rtbishop.look4sat.domain.predict.Satellite
+import com.rtbishop.look4sat.domain.predict.TLE
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.flow.Flow
@@ -35,7 +35,7 @@ class DataRepository(
private val localSource: LocalDataSource,
private val remoteSource: RemoteDataSource,
private val repoDispatcher: CoroutineDispatcher
-) : Repository {
+) : SatelliteRepo {
override fun getSatItems(): Flow> {
return localSource.getEntriesWithModes()
diff --git a/core/src/main/java/com/rtbishop/look4sat/data/LocalDataSource.kt b/core/src/main/java/com/rtbishop/look4sat/data/LocalDataSource.kt
index e7d74964..fc77cde1 100644
--- a/core/src/main/java/com/rtbishop/look4sat/data/LocalDataSource.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/data/LocalDataSource.kt
@@ -17,10 +17,10 @@
*/
package com.rtbishop.look4sat.data
-import com.rtbishop.look4sat.model.SatEntry
-import com.rtbishop.look4sat.model.SatItem
-import com.rtbishop.look4sat.model.Transmitter
-import com.rtbishop.look4sat.predict4kotlin.Satellite
+import com.rtbishop.look4sat.domain.model.SatEntry
+import com.rtbishop.look4sat.domain.model.SatItem
+import com.rtbishop.look4sat.domain.model.Transmitter
+import com.rtbishop.look4sat.domain.predict.Satellite
import kotlinx.coroutines.flow.Flow
interface LocalDataSource {
diff --git a/core/src/main/java/com/rtbishop/look4sat/data/RemoteDataSource.kt b/core/src/main/java/com/rtbishop/look4sat/data/RemoteDataSource.kt
index 73ab2924..d9e9ab4e 100644
--- a/core/src/main/java/com/rtbishop/look4sat/data/RemoteDataSource.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/data/RemoteDataSource.kt
@@ -17,7 +17,7 @@
*/
package com.rtbishop.look4sat.data
-import com.rtbishop.look4sat.model.Transmitter
+import com.rtbishop.look4sat.domain.model.Transmitter
import java.io.InputStream
interface RemoteDataSource {
diff --git a/core/src/main/java/com/rtbishop/look4sat/common/Constants.kt b/core/src/main/java/com/rtbishop/look4sat/domain/Constants.kt
similarity index 96%
rename from core/src/main/java/com/rtbishop/look4sat/common/Constants.kt
rename to core/src/main/java/com/rtbishop/look4sat/domain/Constants.kt
index 4cbca6e8..e94fef76 100644
--- a/core/src/main/java/com/rtbishop/look4sat/common/Constants.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/domain/Constants.kt
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package com.rtbishop.look4sat.common
+package com.rtbishop.look4sat.domain
object Constants {
@@ -24,5 +24,4 @@ object Constants {
const val URL_AMSAT = "https://amsat.org/tle/current/nasabare.txt"
const val URL_PRISM_CLASSFD = "https://www.prismnet.com/~mmccants/tles/classfd.zip"
const val URL_PRISM_INTEL = "https://www.prismnet.com/~mmccants/tles/inttles.zip"
-
}
diff --git a/core/src/main/java/com/rtbishop/look4sat/common/DataState.kt b/core/src/main/java/com/rtbishop/look4sat/domain/DataState.kt
similarity index 96%
rename from core/src/main/java/com/rtbishop/look4sat/common/DataState.kt
rename to core/src/main/java/com/rtbishop/look4sat/domain/DataState.kt
index d6c00810..1347bb29 100644
--- a/core/src/main/java/com/rtbishop/look4sat/common/DataState.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/domain/DataState.kt
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package com.rtbishop.look4sat.common
+package com.rtbishop.look4sat.domain
sealed class DataState {
data class Success(val data: T) : DataState()
diff --git a/core/src/main/java/com/rtbishop/look4sat/domain/QthConverter.kt b/core/src/main/java/com/rtbishop/look4sat/domain/QthConverter.kt
index b53c8fd6..cbde6448 100644
--- a/core/src/main/java/com/rtbishop/look4sat/domain/QthConverter.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/domain/QthConverter.kt
@@ -17,14 +17,14 @@
*/
package com.rtbishop.look4sat.domain
-import com.rtbishop.look4sat.predict4kotlin.GeoPos
+import com.rtbishop.look4sat.domain.predict.GeoPos
import kotlin.math.round
object QthConverter {
fun qthToPosition(qthString: String): GeoPos? {
val trimmedQth = qthString.take(6)
- if (!isValidQTH(trimmedQth)) return null
+ if (!isValidQth(trimmedQth)) return null
val lonFirst = (trimmedQth[0].uppercaseChar().code - 65) * 20
val latFirst = (trimmedQth[1].uppercaseChar().code - 65) * 10
val lonSecond = trimmedQth[2].toString().toInt() * 2
@@ -36,7 +36,7 @@ object QthConverter {
return GeoPos(latitude, longitude)
}
- fun positionToQTH(lat: Double, lon: Double): String? {
+ fun positionToQth(lat: Double, lon: Double): String? {
if (!isValidPosition(lat, lon)) return null
val tempLon = if (lon > 180.0) lon - 360 else lon
val upper = "ABCDEFGHIJKLMNOPQRSTUVWX"
@@ -52,7 +52,7 @@ object QthConverter {
return "$lonFirst$latFirst$lonSecond$latSecond$lonThird$latThird"
}
- private fun isValidQTH(qthString: String): Boolean {
+ private fun isValidQth(qthString: String): Boolean {
val qthPattern = "[a-xA-X][a-xA-X][0-9][0-9][a-xA-X][a-xA-X]".toRegex()
return qthString.matches(qthPattern)
}
diff --git a/core/src/main/java/com/rtbishop/look4sat/domain/Repository.kt b/core/src/main/java/com/rtbishop/look4sat/domain/SatelliteRepo.kt
similarity index 87%
rename from core/src/main/java/com/rtbishop/look4sat/domain/Repository.kt
rename to core/src/main/java/com/rtbishop/look4sat/domain/SatelliteRepo.kt
index 2651be83..0a30b751 100644
--- a/core/src/main/java/com/rtbishop/look4sat/domain/Repository.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/domain/SatelliteRepo.kt
@@ -17,13 +17,13 @@
*/
package com.rtbishop.look4sat.domain
-import com.rtbishop.look4sat.model.SatItem
-import com.rtbishop.look4sat.model.Transmitter
-import com.rtbishop.look4sat.predict4kotlin.Satellite
+import com.rtbishop.look4sat.domain.model.SatItem
+import com.rtbishop.look4sat.domain.model.Transmitter
+import com.rtbishop.look4sat.domain.predict.Satellite
import kotlinx.coroutines.flow.Flow
import java.io.InputStream
-interface Repository {
+interface SatelliteRepo {
fun getSatItems(): Flow>
diff --git a/core/src/main/java/com/rtbishop/look4sat/model/OMM.kt b/core/src/main/java/com/rtbishop/look4sat/domain/model/OMM.kt
similarity index 96%
rename from core/src/main/java/com/rtbishop/look4sat/model/OMM.kt
rename to core/src/main/java/com/rtbishop/look4sat/domain/model/OMM.kt
index 519126f6..7a1ce573 100644
--- a/core/src/main/java/com/rtbishop/look4sat/model/OMM.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/domain/model/OMM.kt
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package com.rtbishop.look4sat.model
+package com.rtbishop.look4sat.domain.model
data class OMM(
val name: String,
diff --git a/core/src/main/java/com/rtbishop/look4sat/model/SatEntry.kt b/core/src/main/java/com/rtbishop/look4sat/domain/model/SatEntry.kt
similarity index 91%
rename from core/src/main/java/com/rtbishop/look4sat/model/SatEntry.kt
rename to core/src/main/java/com/rtbishop/look4sat/domain/model/SatEntry.kt
index fe6d9b55..04550cfa 100644
--- a/core/src/main/java/com/rtbishop/look4sat/model/SatEntry.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/domain/model/SatEntry.kt
@@ -15,9 +15,9 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package com.rtbishop.look4sat.model
+package com.rtbishop.look4sat.domain.model
-import com.rtbishop.look4sat.predict4kotlin.TLE
+import com.rtbishop.look4sat.domain.predict.TLE
data class SatEntry(
val tle: TLE,
diff --git a/core/src/main/java/com/rtbishop/look4sat/model/SatItem.kt b/core/src/main/java/com/rtbishop/look4sat/domain/model/SatItem.kt
similarity index 95%
rename from core/src/main/java/com/rtbishop/look4sat/model/SatItem.kt
rename to core/src/main/java/com/rtbishop/look4sat/domain/model/SatItem.kt
index 21752953..cd6ca592 100644
--- a/core/src/main/java/com/rtbishop/look4sat/model/SatItem.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/domain/model/SatItem.kt
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package com.rtbishop.look4sat.model
+package com.rtbishop.look4sat.domain.model
data class SatItem(
val catNum: Int,
diff --git a/core/src/main/java/com/rtbishop/look4sat/model/Transmitter.kt b/core/src/main/java/com/rtbishop/look4sat/domain/model/Transmitter.kt
similarity index 95%
rename from core/src/main/java/com/rtbishop/look4sat/model/Transmitter.kt
rename to core/src/main/java/com/rtbishop/look4sat/domain/model/Transmitter.kt
index 62daa909..84e80f54 100644
--- a/core/src/main/java/com/rtbishop/look4sat/model/Transmitter.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/domain/model/Transmitter.kt
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package com.rtbishop.look4sat.model
+package com.rtbishop.look4sat.domain.model
data class Transmitter(
val uuid: String,
diff --git a/core/src/main/java/com/rtbishop/look4sat/predict4kotlin/DeepSpaceSat.kt b/core/src/main/java/com/rtbishop/look4sat/domain/predict/DeepSpaceSat.kt
similarity index 99%
rename from core/src/main/java/com/rtbishop/look4sat/predict4kotlin/DeepSpaceSat.kt
rename to core/src/main/java/com/rtbishop/look4sat/domain/predict/DeepSpaceSat.kt
index 483c11fe..6e9dd3fc 100644
--- a/core/src/main/java/com/rtbishop/look4sat/predict4kotlin/DeepSpaceSat.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/domain/predict/DeepSpaceSat.kt
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package com.rtbishop.look4sat.predict4kotlin
+package com.rtbishop.look4sat.domain.predict
import kotlin.math.*
diff --git a/core/src/main/java/com/rtbishop/look4sat/predict4kotlin/GeoPos.kt b/core/src/main/java/com/rtbishop/look4sat/domain/predict/GeoPos.kt
similarity index 95%
rename from core/src/main/java/com/rtbishop/look4sat/predict4kotlin/GeoPos.kt
rename to core/src/main/java/com/rtbishop/look4sat/domain/predict/GeoPos.kt
index 4213ff5b..2f26f112 100644
--- a/core/src/main/java/com/rtbishop/look4sat/predict4kotlin/GeoPos.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/domain/predict/GeoPos.kt
@@ -15,6 +15,6 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package com.rtbishop.look4sat.predict4kotlin
+package com.rtbishop.look4sat.domain.predict
data class GeoPos(val latitude: Double, val longitude: Double, val altitude: Double = 0.0)
diff --git a/core/src/main/java/com/rtbishop/look4sat/predict4kotlin/NearEarthSat.kt b/core/src/main/java/com/rtbishop/look4sat/domain/predict/NearEarthSat.kt
similarity index 99%
rename from core/src/main/java/com/rtbishop/look4sat/predict4kotlin/NearEarthSat.kt
rename to core/src/main/java/com/rtbishop/look4sat/domain/predict/NearEarthSat.kt
index 00bf9f06..eec9ff22 100644
--- a/core/src/main/java/com/rtbishop/look4sat/predict4kotlin/NearEarthSat.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/domain/predict/NearEarthSat.kt
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package com.rtbishop.look4sat.predict4kotlin
+package com.rtbishop.look4sat.domain.predict
import kotlin.math.*
diff --git a/core/src/main/java/com/rtbishop/look4sat/predict4kotlin/Predictor.kt b/core/src/main/java/com/rtbishop/look4sat/domain/predict/Predictor.kt
similarity index 98%
rename from core/src/main/java/com/rtbishop/look4sat/predict4kotlin/Predictor.kt
rename to core/src/main/java/com/rtbishop/look4sat/domain/predict/Predictor.kt
index cdaf9b5a..a310dc19 100644
--- a/core/src/main/java/com/rtbishop/look4sat/predict4kotlin/Predictor.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/domain/predict/Predictor.kt
@@ -15,9 +15,8 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package com.rtbishop.look4sat.predict4kotlin
+package com.rtbishop.look4sat.domain.predict
-import com.rtbishop.look4sat.domain.*
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.SharedFlow
diff --git a/core/src/main/java/com/rtbishop/look4sat/predict4kotlin/SatPass.kt b/core/src/main/java/com/rtbishop/look4sat/domain/predict/SatPass.kt
similarity index 96%
rename from core/src/main/java/com/rtbishop/look4sat/predict4kotlin/SatPass.kt
rename to core/src/main/java/com/rtbishop/look4sat/domain/predict/SatPass.kt
index 3f2a9558..85dbb9ae 100644
--- a/core/src/main/java/com/rtbishop/look4sat/predict4kotlin/SatPass.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/domain/predict/SatPass.kt
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package com.rtbishop.look4sat.predict4kotlin
+package com.rtbishop.look4sat.domain.predict
data class SatPass(
val aosTime: Long,
diff --git a/core/src/main/java/com/rtbishop/look4sat/predict4kotlin/SatPos.kt b/core/src/main/java/com/rtbishop/look4sat/domain/predict/SatPos.kt
similarity index 98%
rename from core/src/main/java/com/rtbishop/look4sat/predict4kotlin/SatPos.kt
rename to core/src/main/java/com/rtbishop/look4sat/domain/predict/SatPos.kt
index e787dd34..de8e46af 100644
--- a/core/src/main/java/com/rtbishop/look4sat/predict4kotlin/SatPos.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/domain/predict/SatPos.kt
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package com.rtbishop.look4sat.predict4kotlin
+package com.rtbishop.look4sat.domain.predict
import kotlin.math.*
diff --git a/core/src/main/java/com/rtbishop/look4sat/predict4kotlin/Satellite.kt b/core/src/main/java/com/rtbishop/look4sat/domain/predict/Satellite.kt
similarity index 99%
rename from core/src/main/java/com/rtbishop/look4sat/predict4kotlin/Satellite.kt
rename to core/src/main/java/com/rtbishop/look4sat/domain/predict/Satellite.kt
index 90c46286..7c12519f 100644
--- a/core/src/main/java/com/rtbishop/look4sat/predict4kotlin/Satellite.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/domain/predict/Satellite.kt
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package com.rtbishop.look4sat.predict4kotlin
+package com.rtbishop.look4sat.domain.predict
import java.util.*
import java.util.concurrent.atomic.AtomicReference
diff --git a/core/src/main/java/com/rtbishop/look4sat/predict4kotlin/TLE.kt b/core/src/main/java/com/rtbishop/look4sat/domain/predict/TLE.kt
similarity index 98%
rename from core/src/main/java/com/rtbishop/look4sat/predict4kotlin/TLE.kt
rename to core/src/main/java/com/rtbishop/look4sat/domain/predict/TLE.kt
index b86f4932..32ef073d 100644
--- a/core/src/main/java/com/rtbishop/look4sat/predict4kotlin/TLE.kt
+++ b/core/src/main/java/com/rtbishop/look4sat/domain/predict/TLE.kt
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package com.rtbishop.look4sat.predict4kotlin
+package com.rtbishop.look4sat.domain.predict
import java.io.InputStream
import kotlin.math.pow
diff --git a/core/src/main/java/com/rtbishop/look4sat/usecases/GetSelectedSatellites.kt b/core/src/main/java/com/rtbishop/look4sat/usecases/GetSelectedSatellites.kt
deleted file mode 100644
index 81338f90..00000000
--- a/core/src/main/java/com/rtbishop/look4sat/usecases/GetSelectedSatellites.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Look4Sat. Amateur radio satellite tracker and pass predictor.
- * Copyright (C) 2019-2021 Arty Bishop (bishop.arty@gmail.com)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.rtbishop.look4sat.usecases
-
-import com.rtbishop.look4sat.domain.Repository
-
-class GetSelectedSatellites(private val dataRepository: Repository) {
- suspend operator fun invoke() = dataRepository.getSelectedSatellites()
-}
diff --git a/core/src/test/java/com/rtbishop/look4sat/domain/QthConverterTest.kt b/core/src/test/java/com/rtbishop/look4sat/QthConverterTest.kt
similarity index 67%
rename from core/src/test/java/com/rtbishop/look4sat/domain/QthConverterTest.kt
rename to core/src/test/java/com/rtbishop/look4sat/QthConverterTest.kt
index 11d2b936..26c77812 100644
--- a/core/src/test/java/com/rtbishop/look4sat/domain/QthConverterTest.kt
+++ b/core/src/test/java/com/rtbishop/look4sat/QthConverterTest.kt
@@ -15,8 +15,9 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package com.rtbishop.look4sat.domain
+package com.rtbishop.look4sat
+import com.rtbishop.look4sat.domain.QthConverter
import org.junit.Test
class QthConverterTest {
@@ -29,29 +30,24 @@ class QthConverterTest {
assert(result?.latitude == 48.1458 && result.longitude == 11.6250)
result = QthConverter.qthToPosition("gf15vc")
assert(result?.latitude == -34.8958 && result.longitude == -56.2083)
- result = QthConverter.qthToPosition("fm18LW")
- assert(result?.latitude == 38.9375 && result.longitude == -77.0417)
}
@Test
fun `Given invalid QTH returns null`() {
- var result = QthConverter.qthToPosition("ZZ00zz")
- assert(result == null)
- result = QthConverter.qthToPosition("JN58tz")
- assert(result == null)
+ assert(QthConverter.qthToPosition("ZZ00zz") == null)
+ assert(QthConverter.qthToPosition("JN58") == null)
}
@Test
fun `Given valid POS returns correct QTH`() {
- assert(QthConverter.positionToQTH(51.4878, -0.2146) == "IO91vl")
- assert(QthConverter.positionToQTH(48.1466, 11.6083) == "JN58td")
- assert(QthConverter.positionToQTH(-34.91, -56.2116) == "GF15vc")
- assert(QthConverter.positionToQTH(38.92, -77.065) == "FM18lw")
+ assert(QthConverter.positionToQth(51.4878, -0.2146) == "IO91vl")
+ assert(QthConverter.positionToQth(48.1466, 11.6083) == "JN58td")
+ assert(QthConverter.positionToQth(-34.91, -56.2116) == "GF15vc")
}
@Test
fun `Given invalid POS returns null`() {
- assert(QthConverter.positionToQTH(91.0542, -170.1142) == null)
- assert(QthConverter.positionToQTH(89.0542, -240.1142) == null)
+ assert(QthConverter.positionToQth(91.0542, -170.1142) == null)
+ assert(QthConverter.positionToQth(89.0542, -240.1142) == null)
}
}
diff --git a/core/src/test/java/com/rtbishop/look4sat/predict4kotlin/TleParserTest.kt b/core/src/test/java/com/rtbishop/look4sat/TleParserTest.kt
similarity index 96%
rename from core/src/test/java/com/rtbishop/look4sat/predict4kotlin/TleParserTest.kt
rename to core/src/test/java/com/rtbishop/look4sat/TleParserTest.kt
index 3e9feaa5..e267cf71 100644
--- a/core/src/test/java/com/rtbishop/look4sat/predict4kotlin/TleParserTest.kt
+++ b/core/src/test/java/com/rtbishop/look4sat/TleParserTest.kt
@@ -15,8 +15,9 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package com.rtbishop.look4sat.predict4kotlin
+package com.rtbishop.look4sat
+import com.rtbishop.look4sat.domain.predict.TLE
import org.junit.Test
class TleParserTest {