From 46f1ea9880378ad49763da3f095368b2d77b108b Mon Sep 17 00:00:00 2001 From: Arty Bishop Date: Thu, 18 Mar 2021 20:40:09 +0000 Subject: [PATCH] Changes to DAO and file structure --- .../api}/SatelliteService.kt | 8 +-- .../database}/RoomConverters.kt | 2 +- .../database}/SatelliteDao.kt | 64 +++++++++++++------ .../database}/SatelliteDb.kt | 6 +- .../look4sat/data/{ => model}/Result.kt | 4 +- .../look4sat/data/{ => model}/SatEntry.kt | 4 +- .../look4sat/data/{ => model}/SatItem.kt | 4 +- .../look4sat/data/{ => model}/SatPass.kt | 2 +- .../look4sat/data/{ => model}/SatTrans.kt | 2 +- .../look4sat/data/{ => model}/SelectedSat.kt | 4 +- .../look4sat/data/{ => model}/TleSource.kt | 4 +- .../{ => data}/repository/PrefsRepo.kt | 21 +++++- .../{ => data}/repository/SatelliteRepo.kt | 33 +++++----- .../rtbishop/look4sat/di/CoroutinesModule.kt | 12 +--- .../com/rtbishop/look4sat/di/NetworkModule.kt | 2 +- .../rtbishop/look4sat/di/RepositoryModule.kt | 8 +-- .../com/rtbishop/look4sat/ui/MainActivity.kt | 2 +- .../rtbishop/look4sat/ui/SharedViewModel.kt | 12 ++-- .../ui/entriesScreen/EntriesAdapter.kt | 2 +- .../ui/entriesScreen/EntriesFragment.kt | 2 +- .../look4sat/ui/mapScreen/MapFragment.kt | 10 +-- .../look4sat/ui/mapScreen/MapViewModel.kt | 6 +- .../look4sat/ui/passesScreen/PassesAdapter.kt | 2 +- .../ui/passesScreen/PassesFragment.kt | 8 ++- .../look4sat/ui/polarScreen/PolarFragment.kt | 8 ++- .../look4sat/ui/polarScreen/PolarView.kt | 2 +- .../look4sat/ui/polarScreen/TransAdapter.kt | 4 +- .../look4sat/ui/prefsScreen/PrefsFragment.kt | 2 +- .../ui/sourcesDialog/SourcesAdapter.kt | 2 +- 29 files changed, 139 insertions(+), 103 deletions(-) rename app/src/main/java/com/rtbishop/look4sat/{repository/remoteData => data/api}/SatelliteService.kt (86%) rename app/src/main/java/com/rtbishop/look4sat/{repository/localData => data/database}/RoomConverters.kt (97%) rename app/src/main/java/com/rtbishop/look4sat/{repository/localData => data/database}/SatelliteDao.kt (61%) rename app/src/main/java/com/rtbishop/look4sat/{repository/localData => data/database}/SatelliteDb.kt (90%) rename app/src/main/java/com/rtbishop/look4sat/data/{ => model}/Result.kt (95%) rename app/src/main/java/com/rtbishop/look4sat/data/{ => model}/SatEntry.kt (96%) rename app/src/main/java/com/rtbishop/look4sat/data/{ => model}/SatItem.kt (94%) rename app/src/main/java/com/rtbishop/look4sat/data/{ => model}/SatPass.kt (96%) rename app/src/main/java/com/rtbishop/look4sat/data/{ => model}/SatTrans.kt (97%) rename app/src/main/java/com/rtbishop/look4sat/data/{ => model}/SelectedSat.kt (96%) rename app/src/main/java/com/rtbishop/look4sat/data/{ => model}/TleSource.kt (90%) rename app/src/main/java/com/rtbishop/look4sat/{ => data}/repository/PrefsRepo.kt (84%) rename app/src/main/java/com/rtbishop/look4sat/{ => data}/repository/SatelliteRepo.kt (82%) diff --git a/app/src/main/java/com/rtbishop/look4sat/repository/remoteData/SatelliteService.kt b/app/src/main/java/com/rtbishop/look4sat/data/api/SatelliteService.kt similarity index 86% rename from app/src/main/java/com/rtbishop/look4sat/repository/remoteData/SatelliteService.kt rename to app/src/main/java/com/rtbishop/look4sat/data/api/SatelliteService.kt index 6334e400..3d11217e 100644 --- a/app/src/main/java/com/rtbishop/look4sat/repository/remoteData/SatelliteService.kt +++ b/app/src/main/java/com/rtbishop/look4sat/data/api/SatelliteService.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.repository.remoteData +package com.rtbishop.look4sat.data.api -import com.rtbishop.look4sat.data.SatTrans +import com.rtbishop.look4sat.data.model.SatTrans import okhttp3.ResponseBody import retrofit2.Response import retrofit2.http.GET @@ -25,10 +25,10 @@ import retrofit2.http.Streaming import retrofit2.http.Url interface SatelliteService { - + @Streaming @GET - suspend fun fetchFile(@Url fileUrl: String): Response + suspend fun fetchFileByUrl(@Url url: String): Response @GET("transmitters/") suspend fun fetchTransmitters(): List diff --git a/app/src/main/java/com/rtbishop/look4sat/repository/localData/RoomConverters.kt b/app/src/main/java/com/rtbishop/look4sat/data/database/RoomConverters.kt similarity index 97% rename from app/src/main/java/com/rtbishop/look4sat/repository/localData/RoomConverters.kt rename to app/src/main/java/com/rtbishop/look4sat/data/database/RoomConverters.kt index b4857866..5528a062 100644 --- a/app/src/main/java/com/rtbishop/look4sat/repository/localData/RoomConverters.kt +++ b/app/src/main/java/com/rtbishop/look4sat/data/database/RoomConverters.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.repository.localData +package com.rtbishop.look4sat.data.database import androidx.room.TypeConverter import com.github.amsacode.predict4java.Satellite diff --git a/app/src/main/java/com/rtbishop/look4sat/repository/localData/SatelliteDao.kt b/app/src/main/java/com/rtbishop/look4sat/data/database/SatelliteDao.kt similarity index 61% rename from app/src/main/java/com/rtbishop/look4sat/repository/localData/SatelliteDao.kt rename to app/src/main/java/com/rtbishop/look4sat/data/database/SatelliteDao.kt index 4616627c..acc2e52d 100644 --- a/app/src/main/java/com/rtbishop/look4sat/repository/localData/SatelliteDao.kt +++ b/app/src/main/java/com/rtbishop/look4sat/data/database/SatelliteDao.kt @@ -15,26 +15,22 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.rtbishop.look4sat.repository.localData +package com.rtbishop.look4sat.data.database import androidx.room.* import com.github.amsacode.predict4java.Satellite -import com.rtbishop.look4sat.data.SatEntry -import com.rtbishop.look4sat.data.SatItem -import com.rtbishop.look4sat.data.SatTrans +import com.rtbishop.look4sat.data.model.SatEntry +import com.rtbishop.look4sat.data.model.SatItem +import com.rtbishop.look4sat.data.model.SatTrans import kotlinx.coroutines.flow.Flow @Dao interface SatelliteDao { - @Query("SELECT * FROM entries ORDER BY name ASC") - fun getEntries(): Flow> + // Query @Query("SELECT catNum, name, isSelected FROM entries ORDER BY name ASC") - fun getSatItems(): Flow> - - @Insert(onConflict = OnConflictStrategy.REPLACE) - suspend fun insertEntries(entries: List) + fun getAllSatItems(): Flow> @Query("SELECT tle FROM entries WHERE isSelected = 1") suspend fun getSelectedSatellites(): List @@ -42,21 +38,47 @@ interface SatelliteDao { @Query("SELECT catNum FROM entries WHERE isSelected = 1") suspend fun getSelectedCatNums(): List - @Transaction - suspend fun updateEntriesSelection(catNums: List) { - clearSelection() - catNums.forEach { catNum -> updateSelection(catNum) } - } + @Query("SELECT * FROM transmitters WHERE isAlive = 1 ORDER BY mode ASC") + fun getAllTransmitters(): Flow> - @Query("UPDATE entries SET isSelected = 0") - suspend fun clearSelection() + @Query("SELECT * FROM transmitters WHERE isAlive = 1 and catNum = :catNum") + fun getTransmittersByCatNum(catNum: Int): Flow> - @Query("UPDATE entries SET isSelected = 1 WHERE catNum = :catNum") - suspend fun updateSelection(catNum: Int) + // Insert + + @Insert(onConflict = OnConflictStrategy.REPLACE) + suspend fun insertEntries(entries: List) @Insert(onConflict = OnConflictStrategy.REPLACE) suspend fun insertTransmitters(transmitters: List) - @Query("SELECT * FROM transmitters WHERE isAlive = 1 and catNum = :catNum") - fun getTransmittersForSat(catNum: Int): Flow> + // Update + + @Query("UPDATE entries SET isSelected = 0") + suspend fun clearSelection() + + @Query("UPDATE entries SET isSelected = :isSelected WHERE catNum = :catNum") + suspend fun updateSelectionByCatNum(catNum: Int, isSelected: Boolean) + + @Transaction + suspend fun updateSelection(catNums: List) { + clearSelection() + catNums.forEach { catNum -> + updateSelectionByCatNum(catNum, true) + } + } + + // Delete + + @Query("DELETE from entries") + suspend fun deleteEntries() + + @Query("DELETE from transmitters") + suspend fun deleteTransmitters() + + @Transaction + suspend fun deleteAllData() { + deleteEntries() + deleteTransmitters() + } } diff --git a/app/src/main/java/com/rtbishop/look4sat/repository/localData/SatelliteDb.kt b/app/src/main/java/com/rtbishop/look4sat/data/database/SatelliteDb.kt similarity index 90% rename from app/src/main/java/com/rtbishop/look4sat/repository/localData/SatelliteDb.kt rename to app/src/main/java/com/rtbishop/look4sat/data/database/SatelliteDb.kt index 33446ade..75162780 100644 --- a/app/src/main/java/com/rtbishop/look4sat/repository/localData/SatelliteDb.kt +++ b/app/src/main/java/com/rtbishop/look4sat/data/database/SatelliteDb.kt @@ -15,15 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.rtbishop.look4sat.repository.localData +package com.rtbishop.look4sat.data.database import androidx.room.Database import androidx.room.RoomDatabase import androidx.room.TypeConverters import androidx.room.migration.Migration import androidx.sqlite.db.SupportSQLiteDatabase -import com.rtbishop.look4sat.data.SatEntry -import com.rtbishop.look4sat.data.SatTrans +import com.rtbishop.look4sat.data.model.SatEntry +import com.rtbishop.look4sat.data.model.SatTrans @Database(entities = [SatEntry::class, SatTrans::class], version = 2) @TypeConverters(RoomConverters::class) diff --git a/app/src/main/java/com/rtbishop/look4sat/data/Result.kt b/app/src/main/java/com/rtbishop/look4sat/data/model/Result.kt similarity index 95% rename from app/src/main/java/com/rtbishop/look4sat/data/Result.kt rename to app/src/main/java/com/rtbishop/look4sat/data/model/Result.kt index 8bd02d00..9a849352 100644 --- a/app/src/main/java/com/rtbishop/look4sat/data/Result.kt +++ b/app/src/main/java/com/rtbishop/look4sat/data/model/Result.kt @@ -15,10 +15,10 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.rtbishop.look4sat.data +package com.rtbishop.look4sat.data.model sealed class Result { data class Success(val data: T) : Result() data class Error(val exception: Throwable) : Result() object InProgress : Result() -} \ No newline at end of file +} diff --git a/app/src/main/java/com/rtbishop/look4sat/data/SatEntry.kt b/app/src/main/java/com/rtbishop/look4sat/data/model/SatEntry.kt similarity index 96% rename from app/src/main/java/com/rtbishop/look4sat/data/SatEntry.kt rename to app/src/main/java/com/rtbishop/look4sat/data/model/SatEntry.kt index cf803d70..60734a6a 100644 --- a/app/src/main/java/com/rtbishop/look4sat/data/SatEntry.kt +++ b/app/src/main/java/com/rtbishop/look4sat/data/model/SatEntry.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.data +package com.rtbishop.look4sat.data.model import androidx.room.Entity import androidx.room.PrimaryKey @@ -27,4 +27,4 @@ class SatEntry( var isSelected: Boolean = false, @PrimaryKey val catNum: Int = tle.catnum, val name: String = tle.name -) \ No newline at end of file +) diff --git a/app/src/main/java/com/rtbishop/look4sat/data/SatItem.kt b/app/src/main/java/com/rtbishop/look4sat/data/model/SatItem.kt similarity index 94% rename from app/src/main/java/com/rtbishop/look4sat/data/SatItem.kt rename to app/src/main/java/com/rtbishop/look4sat/data/model/SatItem.kt index 0f25124e..687652e6 100644 --- a/app/src/main/java/com/rtbishop/look4sat/data/SatItem.kt +++ b/app/src/main/java/com/rtbishop/look4sat/data/model/SatItem.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.data +package com.rtbishop.look4sat.data.model -class SatItem(val catNum: Int, val name: String, var isSelected: Boolean) \ No newline at end of file +class SatItem(val catNum: Int, val name: String, var isSelected: Boolean) diff --git a/app/src/main/java/com/rtbishop/look4sat/data/SatPass.kt b/app/src/main/java/com/rtbishop/look4sat/data/model/SatPass.kt similarity index 96% rename from app/src/main/java/com/rtbishop/look4sat/data/SatPass.kt rename to app/src/main/java/com/rtbishop/look4sat/data/model/SatPass.kt index 406a35c4..0e2e2f30 100644 --- a/app/src/main/java/com/rtbishop/look4sat/data/SatPass.kt +++ b/app/src/main/java/com/rtbishop/look4sat/data/model/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.data +package com.rtbishop.look4sat.data.model import com.github.amsacode.predict4java.SatPassTime import com.github.amsacode.predict4java.TLE diff --git a/app/src/main/java/com/rtbishop/look4sat/data/SatTrans.kt b/app/src/main/java/com/rtbishop/look4sat/data/model/SatTrans.kt similarity index 97% rename from app/src/main/java/com/rtbishop/look4sat/data/SatTrans.kt rename to app/src/main/java/com/rtbishop/look4sat/data/model/SatTrans.kt index bd360793..b8a330ed 100644 --- a/app/src/main/java/com/rtbishop/look4sat/data/SatTrans.kt +++ b/app/src/main/java/com/rtbishop/look4sat/data/model/SatTrans.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.data +package com.rtbishop.look4sat.data.model import androidx.room.Entity import androidx.room.PrimaryKey diff --git a/app/src/main/java/com/rtbishop/look4sat/data/SelectedSat.kt b/app/src/main/java/com/rtbishop/look4sat/data/model/SelectedSat.kt similarity index 96% rename from app/src/main/java/com/rtbishop/look4sat/data/SelectedSat.kt rename to app/src/main/java/com/rtbishop/look4sat/data/model/SelectedSat.kt index 19eba502..e015d680 100644 --- a/app/src/main/java/com/rtbishop/look4sat/data/SelectedSat.kt +++ b/app/src/main/java/com/rtbishop/look4sat/data/model/SelectedSat.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.data +package com.rtbishop.look4sat.data.model import com.github.amsacode.predict4java.Position import org.osmdroid.views.overlay.Overlay @@ -32,4 +32,4 @@ class SelectedSat( val coverage: Double, val footprint: Overlay, val groundTrack: Overlay -) \ No newline at end of file +) diff --git a/app/src/main/java/com/rtbishop/look4sat/data/TleSource.kt b/app/src/main/java/com/rtbishop/look4sat/data/model/TleSource.kt similarity index 90% rename from app/src/main/java/com/rtbishop/look4sat/data/TleSource.kt rename to app/src/main/java/com/rtbishop/look4sat/data/model/TleSource.kt index 0e81cf9e..58c261df 100644 --- a/app/src/main/java/com/rtbishop/look4sat/data/TleSource.kt +++ b/app/src/main/java/com/rtbishop/look4sat/data/model/TleSource.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.data +package com.rtbishop.look4sat.data.model -class TleSource(var url: String = String()) \ No newline at end of file +class TleSource(var url: String = String()) diff --git a/app/src/main/java/com/rtbishop/look4sat/repository/PrefsRepo.kt b/app/src/main/java/com/rtbishop/look4sat/data/repository/PrefsRepo.kt similarity index 84% rename from app/src/main/java/com/rtbishop/look4sat/repository/PrefsRepo.kt rename to app/src/main/java/com/rtbishop/look4sat/data/repository/PrefsRepo.kt index d8b89c74..4a435723 100644 --- a/app/src/main/java/com/rtbishop/look4sat/repository/PrefsRepo.kt +++ b/app/src/main/java/com/rtbishop/look4sat/data/repository/PrefsRepo.kt @@ -15,13 +15,30 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.rtbishop.look4sat.repository +/* + * 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.data.repository import android.content.SharedPreferences import android.hardware.GeomagneticField import androidx.core.content.edit import com.github.amsacode.predict4java.GroundStationPosition -import com.rtbishop.look4sat.data.TleSource +import com.rtbishop.look4sat.data.model.TleSource import com.squareup.moshi.Moshi import com.squareup.moshi.Types import javax.inject.Inject diff --git a/app/src/main/java/com/rtbishop/look4sat/repository/SatelliteRepo.kt b/app/src/main/java/com/rtbishop/look4sat/data/repository/SatelliteRepo.kt similarity index 82% rename from app/src/main/java/com/rtbishop/look4sat/repository/SatelliteRepo.kt rename to app/src/main/java/com/rtbishop/look4sat/data/repository/SatelliteRepo.kt index fd596f88..592c7058 100644 --- a/app/src/main/java/com/rtbishop/look4sat/repository/SatelliteRepo.kt +++ b/app/src/main/java/com/rtbishop/look4sat/data/repository/SatelliteRepo.kt @@ -15,18 +15,18 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package com.rtbishop.look4sat.repository +package com.rtbishop.look4sat.data.repository import android.content.ContentResolver import android.net.Uri import com.github.amsacode.predict4java.Satellite import com.github.amsacode.predict4java.TLE -import com.rtbishop.look4sat.data.SatEntry -import com.rtbishop.look4sat.data.SatTrans -import com.rtbishop.look4sat.data.TleSource +import com.rtbishop.look4sat.data.model.SatEntry +import com.rtbishop.look4sat.data.model.SatTrans +import com.rtbishop.look4sat.data.model.TleSource import com.rtbishop.look4sat.di.IoDispatcher -import com.rtbishop.look4sat.repository.localData.SatelliteDao -import com.rtbishop.look4sat.repository.remoteData.SatelliteService +import com.rtbishop.look4sat.data.database.SatelliteDao +import com.rtbishop.look4sat.data.api.SatelliteService import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.flow.Flow @@ -45,10 +45,10 @@ class SatelliteRepo @Inject constructor( @IoDispatcher private val ioDispatcher: CoroutineDispatcher ) { - val satDataFlow = satelliteDao.getSatItems() + val satDataFlow = satelliteDao.getAllSatItems() fun getTransmittersForSat(catNum: Int): Flow> { - return satelliteDao.getTransmittersForSat(catNum) + return satelliteDao.getTransmittersByCatNum(catNum) } suspend fun getSelectedSatellites(): List { @@ -56,7 +56,7 @@ class SatelliteRepo @Inject constructor( } suspend fun updateEntriesSelection(catNums: List) { - satelliteDao.updateEntriesSelection(catNums) + satelliteDao.updateSelection(catNums) } suspend fun updateSatDataFromFile(uri: Uri) { @@ -91,13 +91,14 @@ class SatelliteRepo @Inject constructor( private suspend fun getStreamsForSources(sources: List): List { val streams = mutableListOf() sources.forEach { tleSource -> - satelliteService.fetchFile(tleSource.url).body()?.byteStream()?.let { inputStream -> - if (tleSource.url.contains(".zip", true)) { - streams.add(getZipStream(inputStream)) - } else { - streams.add(inputStream) + satelliteService.fetchFileByUrl(tleSource.url).body()?.byteStream() + ?.let { inputStream -> + if (tleSource.url.contains(".zip", true)) { + streams.add(getZipStream(inputStream)) + } else { + streams.add(inputStream) + } } - } } return streams } @@ -127,6 +128,6 @@ class SatelliteRepo @Inject constructor( private suspend fun insertEntriesAndRestoreSelection(entries: List) { val selectedCatNums = satelliteDao.getSelectedCatNums() satelliteDao.insertEntries(entries) - satelliteDao.updateEntriesSelection(selectedCatNums) + satelliteDao.updateSelection(selectedCatNums) } } \ No newline at end of file diff --git a/app/src/main/java/com/rtbishop/look4sat/di/CoroutinesModule.kt b/app/src/main/java/com/rtbishop/look4sat/di/CoroutinesModule.kt index 926c6b4b..fd86bf08 100644 --- a/app/src/main/java/com/rtbishop/look4sat/di/CoroutinesModule.kt +++ b/app/src/main/java/com/rtbishop/look4sat/di/CoroutinesModule.kt @@ -22,19 +22,13 @@ import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent import kotlinx.coroutines.CoroutineDispatcher -import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.SupervisorJob import javax.inject.Qualifier @Module @InstallIn(SingletonComponent::class) object CoroutinesModule { - @Provides - @ExternalScope - fun provideExternalScope(): CoroutineScope = CoroutineScope(SupervisorJob()) - @Provides @DefaultDispatcher fun provideDefaultDispatcher(): CoroutineDispatcher = Dispatchers.Default @@ -48,10 +42,6 @@ object CoroutinesModule { fun provideMainDispatcher(): CoroutineDispatcher = Dispatchers.Main } -@Qualifier -@Retention(AnnotationRetention.BINARY) -annotation class ExternalScope - @Qualifier @Retention(AnnotationRetention.BINARY) annotation class DefaultDispatcher @@ -62,4 +52,4 @@ annotation class IoDispatcher @Qualifier @Retention(AnnotationRetention.BINARY) -annotation class MainDispatcher \ No newline at end of file +annotation class MainDispatcher diff --git a/app/src/main/java/com/rtbishop/look4sat/di/NetworkModule.kt b/app/src/main/java/com/rtbishop/look4sat/di/NetworkModule.kt index e2acf5bb..e4340bdb 100644 --- a/app/src/main/java/com/rtbishop/look4sat/di/NetworkModule.kt +++ b/app/src/main/java/com/rtbishop/look4sat/di/NetworkModule.kt @@ -17,7 +17,7 @@ */ package com.rtbishop.look4sat.di -import com.rtbishop.look4sat.repository.remoteData.SatelliteService +import com.rtbishop.look4sat.data.api.SatelliteService import com.squareup.moshi.Moshi import dagger.Module import dagger.Provides diff --git a/app/src/main/java/com/rtbishop/look4sat/di/RepositoryModule.kt b/app/src/main/java/com/rtbishop/look4sat/di/RepositoryModule.kt index 4296ca32..73191661 100644 --- a/app/src/main/java/com/rtbishop/look4sat/di/RepositoryModule.kt +++ b/app/src/main/java/com/rtbishop/look4sat/di/RepositoryModule.kt @@ -19,10 +19,10 @@ package com.rtbishop.look4sat.di import android.content.Context import androidx.room.Room -import com.rtbishop.look4sat.repository.localData.MIGRATION_1_2 -import com.rtbishop.look4sat.repository.localData.RoomConverters -import com.rtbishop.look4sat.repository.localData.SatelliteDao -import com.rtbishop.look4sat.repository.localData.SatelliteDb +import com.rtbishop.look4sat.data.database.MIGRATION_1_2 +import com.rtbishop.look4sat.data.database.RoomConverters +import com.rtbishop.look4sat.data.database.SatelliteDao +import com.rtbishop.look4sat.data.database.SatelliteDb import com.squareup.moshi.Moshi import dagger.Module import dagger.Provides diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/MainActivity.kt b/app/src/main/java/com/rtbishop/look4sat/ui/MainActivity.kt index 4078a0c2..22335213 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/MainActivity.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/MainActivity.kt @@ -23,7 +23,7 @@ import androidx.navigation.fragment.NavHostFragment import androidx.navigation.ui.setupWithNavController import com.rtbishop.look4sat.R import com.rtbishop.look4sat.databinding.ActivityMainBinding -import com.rtbishop.look4sat.repository.PrefsRepo +import com.rtbishop.look4sat.data.repository.PrefsRepo import dagger.hilt.android.AndroidEntryPoint import javax.inject.Inject diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/SharedViewModel.kt b/app/src/main/java/com/rtbishop/look4sat/ui/SharedViewModel.kt index 8d44adb9..50423beb 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/SharedViewModel.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/SharedViewModel.kt @@ -20,12 +20,12 @@ package com.rtbishop.look4sat.ui import android.net.Uri import androidx.lifecycle.* import com.github.amsacode.predict4java.Satellite -import com.rtbishop.look4sat.data.Result -import com.rtbishop.look4sat.data.SatItem -import com.rtbishop.look4sat.data.SatPass -import com.rtbishop.look4sat.data.TleSource -import com.rtbishop.look4sat.repository.PrefsRepo -import com.rtbishop.look4sat.repository.SatelliteRepo +import com.rtbishop.look4sat.data.model.Result +import com.rtbishop.look4sat.data.model.SatItem +import com.rtbishop.look4sat.data.model.SatPass +import com.rtbishop.look4sat.data.model.TleSource +import com.rtbishop.look4sat.data.repository.PrefsRepo +import com.rtbishop.look4sat.data.repository.SatelliteRepo import com.rtbishop.look4sat.utility.getPredictor import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/entriesScreen/EntriesAdapter.kt b/app/src/main/java/com/rtbishop/look4sat/ui/entriesScreen/EntriesAdapter.kt index 938ca831..53771020 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/entriesScreen/EntriesAdapter.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/entriesScreen/EntriesAdapter.kt @@ -21,7 +21,7 @@ import android.view.LayoutInflater import android.view.ViewGroup import android.widget.SearchView import androidx.recyclerview.widget.RecyclerView -import com.rtbishop.look4sat.data.SatItem +import com.rtbishop.look4sat.data.model.SatItem import com.rtbishop.look4sat.databinding.ItemSatEntryBinding import java.util.* diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/entriesScreen/EntriesFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/entriesScreen/EntriesFragment.kt index 5f3bc20e..a9a9a81c 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/entriesScreen/EntriesFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/entriesScreen/EntriesFragment.kt @@ -27,7 +27,7 @@ import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.LinearLayoutManager import com.google.android.material.snackbar.Snackbar import com.rtbishop.look4sat.R -import com.rtbishop.look4sat.data.Result +import com.rtbishop.look4sat.data.model.Result import com.rtbishop.look4sat.databinding.FragmentEntriesBinding import com.rtbishop.look4sat.ui.SharedViewModel import com.rtbishop.look4sat.utility.RecyclerDivider diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/mapScreen/MapFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/mapScreen/MapFragment.kt index db1d28e2..47ad5d01 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/mapScreen/MapFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/mapScreen/MapFragment.kt @@ -28,13 +28,14 @@ import androidx.fragment.app.activityViewModels import androidx.fragment.app.viewModels import com.github.amsacode.predict4java.Position import com.rtbishop.look4sat.R -import com.rtbishop.look4sat.data.Result -import com.rtbishop.look4sat.data.SatPass -import com.rtbishop.look4sat.data.SelectedSat +import com.rtbishop.look4sat.data.model.Result +import com.rtbishop.look4sat.data.model.SatPass +import com.rtbishop.look4sat.data.model.SelectedSat import com.rtbishop.look4sat.databinding.FragmentMapBinding import com.rtbishop.look4sat.ui.SharedViewModel -import com.rtbishop.look4sat.repository.PrefsRepo +import com.rtbishop.look4sat.data.repository.PrefsRepo import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.FlowPreview import org.osmdroid.config.Configuration import org.osmdroid.tileprovider.tilesource.ITileSource import org.osmdroid.tileprovider.tilesource.TileSourcePolicy @@ -47,6 +48,7 @@ import timber.log.Timber import java.util.* import javax.inject.Inject +@FlowPreview @AndroidEntryPoint class MapFragment : Fragment(R.layout.fragment_map) { diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/mapScreen/MapViewModel.kt b/app/src/main/java/com/rtbishop/look4sat/ui/mapScreen/MapViewModel.kt index 058ca4ab..73637d62 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/mapScreen/MapViewModel.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/mapScreen/MapViewModel.kt @@ -25,9 +25,9 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.github.amsacode.predict4java.Position import com.github.amsacode.predict4java.SatPos -import com.rtbishop.look4sat.data.SatPass -import com.rtbishop.look4sat.data.SelectedSat -import com.rtbishop.look4sat.repository.PrefsRepo +import com.rtbishop.look4sat.data.model.SatPass +import com.rtbishop.look4sat.data.model.SelectedSat +import com.rtbishop.look4sat.data.repository.PrefsRepo import com.rtbishop.look4sat.utility.QthConverter import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/passesScreen/PassesAdapter.kt b/app/src/main/java/com/rtbishop/look4sat/ui/passesScreen/PassesAdapter.kt index 8e8cbbbc..9ac7af06 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/passesScreen/PassesAdapter.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/passesScreen/PassesAdapter.kt @@ -24,7 +24,7 @@ import androidx.core.os.bundleOf import androidx.navigation.findNavController import androidx.recyclerview.widget.RecyclerView import com.rtbishop.look4sat.R -import com.rtbishop.look4sat.data.SatPass +import com.rtbishop.look4sat.data.model.SatPass import com.rtbishop.look4sat.databinding.ItemPassGeoBinding import com.rtbishop.look4sat.databinding.ItemPassLeoBinding import com.rtbishop.look4sat.utility.navigateSafe diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/passesScreen/PassesFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/passesScreen/PassesFragment.kt index 45a595d2..5690f43d 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/passesScreen/PassesFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/passesScreen/PassesFragment.kt @@ -24,17 +24,19 @@ import androidx.fragment.app.activityViewModels import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.SimpleItemAnimator import com.rtbishop.look4sat.R -import com.rtbishop.look4sat.data.Result -import com.rtbishop.look4sat.data.SatPass +import com.rtbishop.look4sat.data.model.Result +import com.rtbishop.look4sat.data.model.SatPass import com.rtbishop.look4sat.databinding.FragmentPassesBinding import com.rtbishop.look4sat.ui.SharedViewModel -import com.rtbishop.look4sat.repository.PrefsRepo +import com.rtbishop.look4sat.data.repository.PrefsRepo import com.rtbishop.look4sat.utility.RecyclerDivider import com.rtbishop.look4sat.utility.formatForTimer import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.FlowPreview import java.util.* import javax.inject.Inject +@FlowPreview @AndroidEntryPoint class PassesFragment : Fragment(R.layout.fragment_passes) { diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/polarScreen/PolarFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/polarScreen/PolarFragment.kt index 97773f41..05bcecbb 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/polarScreen/PolarFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/polarScreen/PolarFragment.kt @@ -30,18 +30,20 @@ import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.SimpleItemAnimator import com.rtbishop.look4sat.R -import com.rtbishop.look4sat.data.Result -import com.rtbishop.look4sat.data.SatPass +import com.rtbishop.look4sat.data.model.Result +import com.rtbishop.look4sat.data.model.SatPass import com.rtbishop.look4sat.databinding.FragmentPolarBinding -import com.rtbishop.look4sat.repository.PrefsRepo +import com.rtbishop.look4sat.data.repository.PrefsRepo import com.rtbishop.look4sat.ui.SharedViewModel import com.rtbishop.look4sat.utility.RecyclerDivider import com.rtbishop.look4sat.utility.formatForTimer import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.FlowPreview import java.util.* import javax.inject.Inject import kotlin.math.round +@FlowPreview @AndroidEntryPoint class PolarFragment : Fragment(R.layout.fragment_polar), SensorEventListener { diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/polarScreen/PolarView.kt b/app/src/main/java/com/rtbishop/look4sat/ui/polarScreen/PolarView.kt index a45bcaed..9339e50e 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/polarScreen/PolarView.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/polarScreen/PolarView.kt @@ -25,7 +25,7 @@ import android.graphics.Path import android.view.View import androidx.core.content.ContextCompat import com.rtbishop.look4sat.R -import com.rtbishop.look4sat.data.SatPass +import com.rtbishop.look4sat.data.model.SatPass import java.util.* import kotlin.math.cos import kotlin.math.sin diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/polarScreen/TransAdapter.kt b/app/src/main/java/com/rtbishop/look4sat/ui/polarScreen/TransAdapter.kt index 3cc9fbc9..3df37cfb 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/polarScreen/TransAdapter.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/polarScreen/TransAdapter.kt @@ -22,8 +22,8 @@ import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.rtbishop.look4sat.R -import com.rtbishop.look4sat.data.SatPass -import com.rtbishop.look4sat.data.SatTrans +import com.rtbishop.look4sat.data.model.SatPass +import com.rtbishop.look4sat.data.model.SatTrans import com.rtbishop.look4sat.databinding.ItemTransBinding import java.util.* diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/prefsScreen/PrefsFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/prefsScreen/PrefsFragment.kt index 3310d3e0..952410cf 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/prefsScreen/PrefsFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/prefsScreen/PrefsFragment.kt @@ -28,7 +28,7 @@ import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import com.google.android.material.snackbar.Snackbar import com.rtbishop.look4sat.R -import com.rtbishop.look4sat.repository.PrefsRepo +import com.rtbishop.look4sat.data.repository.PrefsRepo import com.rtbishop.look4sat.utility.QthConverter import com.rtbishop.look4sat.utility.round import dagger.hilt.android.AndroidEntryPoint diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/sourcesDialog/SourcesAdapter.kt b/app/src/main/java/com/rtbishop/look4sat/ui/sourcesDialog/SourcesAdapter.kt index 2a24cba0..af0ffe01 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/sourcesDialog/SourcesAdapter.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/sourcesDialog/SourcesAdapter.kt @@ -21,7 +21,7 @@ import android.view.LayoutInflater import android.view.ViewGroup import androidx.core.widget.doOnTextChanged import androidx.recyclerview.widget.RecyclerView -import com.rtbishop.look4sat.data.TleSource +import com.rtbishop.look4sat.data.model.TleSource import com.rtbishop.look4sat.databinding.ItemTleSourceBinding class SourcesAdapter : RecyclerView.Adapter() {