mirror of
https://github.com/atsunatsu/Look4Sat.git
synced 2026-10-02 03:15:37 +00:00
Renamed and moved several classes and interfaces
This commit is contained in:
1 parent
84240c94c6
commit
b6d019ace7
24 files changed
+155
-153
No files matched your search
+1
-1
@@ -24,7 +24,7 @@ import android.hardware.SensorManager
|
||||
import javax.inject.Inject
|
||||
import kotlin.math.round
|
||||
|
||||
class OrientationProvider @Inject constructor(private val sensorManager: SensorManager) :
|
||||
class OrientationSource @Inject constructor(private val sensorManager: SensorManager) :
|
||||
SensorEventListener {
|
||||
|
||||
interface OrientationListener {
|
||||
+3
-3
@@ -21,7 +21,7 @@ import android.content.SharedPreferences
|
||||
import android.hardware.GeomagneticField
|
||||
import android.location.LocationManager
|
||||
import androidx.core.content.edit
|
||||
import com.rtbishop.look4sat.data.PreferencesSource
|
||||
import com.rtbishop.look4sat.data.Preferences
|
||||
import com.rtbishop.look4sat.domain.GeoPos
|
||||
import com.rtbishop.look4sat.domain.QthConverter
|
||||
import com.rtbishop.look4sat.utility.round
|
||||
@@ -29,11 +29,11 @@ import com.squareup.moshi.Moshi
|
||||
import com.squareup.moshi.Types
|
||||
import javax.inject.Inject
|
||||
|
||||
class PreferencesProvider @Inject constructor(
|
||||
class PreferencesSource @Inject constructor(
|
||||
moshi: Moshi,
|
||||
private val locationManager: LocationManager,
|
||||
private val preferences: SharedPreferences
|
||||
) : PreferencesSource {
|
||||
) : Preferences {
|
||||
|
||||
private val sourcesType = Types.newParameterizedType(List::class.java, String::class.java)
|
||||
private val sourcesAdapter = moshi.adapter<List<String>>(sourcesType)
|
||||
+5
-5
@@ -17,18 +17,18 @@
|
||||
*/
|
||||
package com.rtbishop.look4sat.framework.api
|
||||
|
||||
import com.rtbishop.look4sat.data.RemoteDataSource
|
||||
import com.rtbishop.look4sat.data.RemoteSource
|
||||
import com.rtbishop.look4sat.domain.Transmitter
|
||||
import com.rtbishop.look4sat.utility.DataMapper
|
||||
import java.io.InputStream
|
||||
|
||||
class RemoteSource(private val api: SatelliteService) : RemoteDataSource {
|
||||
class RemoteDataSource(private val satelliteApi: SatelliteApi) : RemoteSource {
|
||||
|
||||
override suspend fun fetchDataStream(url: String): InputStream? {
|
||||
return api.fetchFileByUrl(url).body()?.byteStream()
|
||||
override suspend fun fetchFileStream(url: String): InputStream? {
|
||||
return satelliteApi.fetchFileStream(url).body()?.byteStream()
|
||||
}
|
||||
|
||||
override suspend fun fetchTransmitters(): List<Transmitter> {
|
||||
return DataMapper.satTransListToDomainTransList(api.fetchTransmitters())
|
||||
return DataMapper.satTransListToDomainTransList(satelliteApi.fetchTransmitters())
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -24,11 +24,11 @@ import retrofit2.http.GET
|
||||
import retrofit2.http.Streaming
|
||||
import retrofit2.http.Url
|
||||
|
||||
interface SatelliteService {
|
||||
interface SatelliteApi {
|
||||
|
||||
@Streaming
|
||||
@GET
|
||||
suspend fun fetchFileByUrl(@Url url: String): Response<ResponseBody>
|
||||
suspend fun fetchFileStream(@Url url: String): Response<ResponseBody>
|
||||
|
||||
@GET("transmitters/")
|
||||
suspend fun fetchTransmitters(): List<Transmitter>
|
||||
+7
-7
@@ -17,18 +17,18 @@
|
||||
*/
|
||||
package com.rtbishop.look4sat.framework.db
|
||||
|
||||
import com.rtbishop.look4sat.data.LocalDataSource
|
||||
import com.rtbishop.look4sat.data.LocalSource
|
||||
import com.rtbishop.look4sat.data.SatEntry
|
||||
import com.rtbishop.look4sat.data.SatItem
|
||||
import com.rtbishop.look4sat.domain.Transmitter
|
||||
import com.rtbishop.look4sat.domain.Satellite
|
||||
import com.rtbishop.look4sat.domain.Transmitter
|
||||
import com.rtbishop.look4sat.utility.DataMapper
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.map
|
||||
|
||||
class LocalSource(private val satelliteDao: SatelliteDao) : LocalDataSource {
|
||||
class LocalDataSource(private val satelliteDao: SatelliteDao) : LocalSource {
|
||||
|
||||
override fun getSatItems(): Flow<List<SatItem>> {
|
||||
override fun getEntriesWithModes(): Flow<List<SatItem>> {
|
||||
return satelliteDao.getSatItems()
|
||||
.map { satItems -> DataMapper.satItemsToDomainItems(satItems) }
|
||||
}
|
||||
@@ -46,13 +46,13 @@ class LocalSource(private val satelliteDao: SatelliteDao) : LocalDataSource {
|
||||
satelliteDao.updateEntriesSelection(catNums, isSelected)
|
||||
}
|
||||
|
||||
override fun getSatTransmitters(catNum: Int): Flow<List<Transmitter>> {
|
||||
override fun getTransmitters(catNum: Int): Flow<List<Transmitter>> {
|
||||
return satelliteDao.getSatTransmitters(catNum)
|
||||
.map { satTransList -> DataMapper.satTransListToDomainTransList(satTransList) }
|
||||
}
|
||||
|
||||
override suspend fun updateTransmitters(satelliteTrans: List<Transmitter>) {
|
||||
val satTransList = DataMapper.domainTransListToSatTransList(satelliteTrans)
|
||||
override suspend fun updateTransmitters(transmitters: List<Transmitter>) {
|
||||
val satTransList = DataMapper.domainTransListToSatTransList(transmitters)
|
||||
satelliteDao.updateTransmitters(satTransList)
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -23,7 +23,7 @@ import com.rtbishop.look4sat.domain.TLE
|
||||
import com.squareup.moshi.JsonAdapter
|
||||
import com.squareup.moshi.Moshi
|
||||
|
||||
object Converters {
|
||||
object RoomConverters {
|
||||
|
||||
private lateinit var paramsAdapter: JsonAdapter<TLE>
|
||||
|
||||
@@ -26,7 +26,7 @@ import com.rtbishop.look4sat.framework.model.SatEntry
|
||||
import com.rtbishop.look4sat.framework.model.Transmitter
|
||||
|
||||
@Database(entities = [SatEntry::class, Transmitter::class], version = 2, exportSchema = true)
|
||||
@TypeConverters(Converters::class)
|
||||
@TypeConverters(RoomConverters::class)
|
||||
abstract class SatelliteDb : RoomDatabase() {
|
||||
|
||||
abstract fun satelliteDao(): SatelliteDao
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ import dagger.hilt.components.SingletonComponent
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
object ApplicationModule {
|
||||
object AndroidModule {
|
||||
|
||||
@Provides
|
||||
fun provideContentResolver(@ApplicationContext context: Context): ContentResolver {
|
||||
+21
-18
@@ -21,12 +21,15 @@ import android.content.Context
|
||||
import android.content.SharedPreferences
|
||||
import android.location.LocationManager
|
||||
import androidx.room.Room
|
||||
import com.rtbishop.look4sat.data.*
|
||||
import com.rtbishop.look4sat.data.LocalSource
|
||||
import com.rtbishop.look4sat.data.Preferences
|
||||
import com.rtbishop.look4sat.data.RemoteSource
|
||||
import com.rtbishop.look4sat.data.SatelliteRepo
|
||||
import com.rtbishop.look4sat.domain.PassReporter
|
||||
import com.rtbishop.look4sat.domain.Predictor
|
||||
import com.rtbishop.look4sat.framework.PreferencesProvider
|
||||
import com.rtbishop.look4sat.framework.api.RemoteSource
|
||||
import com.rtbishop.look4sat.framework.api.SatelliteService
|
||||
import com.rtbishop.look4sat.framework.PreferencesSource
|
||||
import com.rtbishop.look4sat.framework.api.RemoteDataSource
|
||||
import com.rtbishop.look4sat.framework.api.SatelliteApi
|
||||
import com.rtbishop.look4sat.framework.db.*
|
||||
import com.squareup.moshi.Moshi
|
||||
import dagger.Module
|
||||
@@ -41,7 +44,7 @@ import javax.inject.Singleton
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
object SatelliteDataModule {
|
||||
object DataModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
@@ -55,8 +58,8 @@ object SatelliteDataModule {
|
||||
moshi: Moshi,
|
||||
locationManager: LocationManager,
|
||||
preferences: SharedPreferences
|
||||
): PreferencesSource {
|
||||
return PreferencesProvider(moshi, locationManager, preferences)
|
||||
): Preferences {
|
||||
return PreferencesSource(moshi, locationManager, preferences)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@@ -68,17 +71,17 @@ object SatelliteDataModule {
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideSatelliteRepo(
|
||||
preferencesSource: PreferencesSource,
|
||||
localDataSource: LocalDataSource,
|
||||
remoteDataSource: RemoteDataSource,
|
||||
preferences: Preferences,
|
||||
localSource: LocalSource,
|
||||
remoteSource: RemoteSource,
|
||||
@IoDispatcher dispatcher: CoroutineDispatcher
|
||||
): SatelliteRepo {
|
||||
return SatelliteRepo(preferencesSource, localDataSource, remoteDataSource, dispatcher)
|
||||
return SatelliteRepo(preferences, localSource, remoteSource, dispatcher)
|
||||
}
|
||||
|
||||
@Provides
|
||||
fun provideLocalDataSource(satelliteDao: SatelliteDao): LocalDataSource {
|
||||
return LocalSource(satelliteDao)
|
||||
fun provideLocalDataSource(satelliteDao: SatelliteDao): LocalSource {
|
||||
return LocalDataSource(satelliteDao)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@@ -90,24 +93,24 @@ object SatelliteDataModule {
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideSatelliteDb(@ApplicationContext context: Context, moshi: Moshi): SatelliteDb {
|
||||
Converters.initialize(moshi)
|
||||
RoomConverters.initialize(moshi)
|
||||
return Room.databaseBuilder(context, SatelliteDb::class.java, "SatelliteDb")
|
||||
.addMigrations(MIGRATION_1_2).build()
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideRemoteDataSource(satelliteService: SatelliteService): RemoteDataSource {
|
||||
return RemoteSource(satelliteService)
|
||||
fun provideRemoteDataSource(satelliteApi: SatelliteApi): RemoteSource {
|
||||
return RemoteDataSource(satelliteApi)
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideSatelliteService(): SatelliteService {
|
||||
fun provideSatelliteService(): SatelliteApi {
|
||||
return Retrofit.Builder()
|
||||
.baseUrl("https://db.satnogs.org/api/")
|
||||
.addConverterFactory(MoshiConverterFactory.create())
|
||||
.build().create(SatelliteService::class.java)
|
||||
.build().create(SatelliteApi::class.java)
|
||||
}
|
||||
|
||||
@Provides
|
||||
File renamed without changes.
+3
-3
@@ -21,7 +21,7 @@ import android.content.ContentResolver
|
||||
import android.net.Uri
|
||||
import android.widget.SearchView
|
||||
import androidx.lifecycle.*
|
||||
import com.rtbishop.look4sat.data.PreferencesSource
|
||||
import com.rtbishop.look4sat.data.Preferences
|
||||
import com.rtbishop.look4sat.data.SatelliteRepo
|
||||
import com.rtbishop.look4sat.data.SatItem
|
||||
import com.rtbishop.look4sat.framework.model.Result
|
||||
@@ -33,7 +33,7 @@ import javax.inject.Inject
|
||||
|
||||
@HiltViewModel
|
||||
class EntriesViewModel @Inject constructor(
|
||||
private val preferencesSource: PreferencesSource,
|
||||
private val preferences: Preferences,
|
||||
private val resolver: ContentResolver,
|
||||
private val satelliteRepo: SatelliteRepo,
|
||||
) : ViewModel(), EntriesAdapter.EntriesClickListener, SearchView.OnQueryTextListener {
|
||||
@@ -67,7 +67,7 @@ class EntriesViewModel @Inject constructor(
|
||||
viewModelScope.launch {
|
||||
_satData.value = Result.InProgress
|
||||
try {
|
||||
preferencesSource.saveTleSources(sources)
|
||||
preferences.saveTleSources(sources)
|
||||
satelliteRepo.updateEntriesFromWeb(sources)
|
||||
} catch (exception: Exception) {
|
||||
_satData.value = Result.Error(exception)
|
||||
|
||||
@@ -19,7 +19,7 @@ package com.rtbishop.look4sat.presentation.mapScreen
|
||||
|
||||
import androidx.lifecycle.*
|
||||
import com.rtbishop.look4sat.domain.Predictor
|
||||
import com.rtbishop.look4sat.data.PreferencesSource
|
||||
import com.rtbishop.look4sat.data.Preferences
|
||||
import com.rtbishop.look4sat.data.SatelliteRepo
|
||||
import com.rtbishop.look4sat.domain.*
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
@@ -33,7 +33,7 @@ import kotlin.math.min
|
||||
class MapViewModel @Inject constructor(
|
||||
private val satelliteRepo: SatelliteRepo,
|
||||
private val predictor: Predictor,
|
||||
private val preferences: PreferencesSource,
|
||||
private val preferences: Preferences,
|
||||
) : ViewModel() {
|
||||
|
||||
private val stationPos = preferences.loadStationPosition()
|
||||
|
||||
+16
-16
@@ -21,7 +21,7 @@ import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.rtbishop.look4sat.data.PreferencesSource
|
||||
import com.rtbishop.look4sat.data.Preferences
|
||||
import com.rtbishop.look4sat.data.SatelliteRepo
|
||||
import com.rtbishop.look4sat.domain.Predictor
|
||||
import com.rtbishop.look4sat.domain.SatPass
|
||||
@@ -36,7 +36,7 @@ import javax.inject.Inject
|
||||
class PassesViewModel @Inject constructor(
|
||||
private val satelliteRepo: SatelliteRepo,
|
||||
private val predictor: Predictor,
|
||||
private val preferencesSource: PreferencesSource
|
||||
private val preferences: Preferences
|
||||
) : ViewModel() {
|
||||
|
||||
private val _passes = MutableLiveData<Result<List<SatPass>>>(Result.InProgress)
|
||||
@@ -46,14 +46,14 @@ class PassesViewModel @Inject constructor(
|
||||
val isFirstLaunchDone: LiveData<Boolean> = _isFirstLaunchDone
|
||||
|
||||
init {
|
||||
if (preferencesSource.isSetupDone()) {
|
||||
if (preferences.isSetupDone()) {
|
||||
viewModelScope.launch {
|
||||
_passes.postValue(Result.InProgress)
|
||||
val dateNow = Date()
|
||||
val satellites = satelliteRepo.getSelectedSatellites()
|
||||
val stationPos = preferencesSource.loadStationPosition()
|
||||
val hoursAhead = preferencesSource.getHoursAhead()
|
||||
val minElev = preferencesSource.getMinElevation()
|
||||
val stationPos = preferences.loadStationPosition()
|
||||
val hoursAhead = preferences.getHoursAhead()
|
||||
val minElev = preferences.getMinElevation()
|
||||
predictor.triggerCalculation(satellites, stationPos, dateNow, hoursAhead, minElev)
|
||||
}
|
||||
} else {
|
||||
@@ -68,19 +68,19 @@ class PassesViewModel @Inject constructor(
|
||||
}
|
||||
|
||||
fun triggerInitialSetup() {
|
||||
preferencesSource.updatePositionFromGPS()
|
||||
preferences.updatePositionFromGPS()
|
||||
viewModelScope.launch {
|
||||
_passes.postValue(Result.InProgress)
|
||||
val defaultCatNums = listOf(43700, 25544, 25338, 28654, 33591, 40069, 27607, 24278)
|
||||
val dateNow = Date()
|
||||
val satellites = satelliteRepo.getSelectedSatellites()
|
||||
val stationPos = preferencesSource.loadStationPosition()
|
||||
val hoursAhead = preferencesSource.getHoursAhead()
|
||||
val minElev = preferencesSource.getMinElevation()
|
||||
satelliteRepo.updateEntriesFromWeb(preferencesSource.loadDefaultSources())
|
||||
val stationPos = preferences.loadStationPosition()
|
||||
val hoursAhead = preferences.getHoursAhead()
|
||||
val minElev = preferences.getMinElevation()
|
||||
satelliteRepo.updateEntriesFromWeb(preferences.loadDefaultSources())
|
||||
satelliteRepo.updateEntriesSelection(defaultCatNums, true)
|
||||
predictor.forceCalculation(satellites, stationPos, dateNow, hoursAhead, minElev)
|
||||
preferencesSource.setSetupDone()
|
||||
preferences.setSetupDone()
|
||||
_isFirstLaunchDone.value = true
|
||||
}
|
||||
}
|
||||
@@ -91,15 +91,15 @@ class PassesViewModel @Inject constructor(
|
||||
passesProcessing?.cancelAndJoin()
|
||||
val dateNow = Date()
|
||||
val satellites = satelliteRepo.getSelectedSatellites()
|
||||
val stationPos = preferencesSource.loadStationPosition()
|
||||
val hoursAhead = preferencesSource.getHoursAhead()
|
||||
val minElev = preferencesSource.getMinElevation()
|
||||
val stationPos = preferences.loadStationPosition()
|
||||
val hoursAhead = preferences.getHoursAhead()
|
||||
val minElev = preferences.getMinElevation()
|
||||
predictor.forceCalculation(satellites, stationPos, dateNow, hoursAhead, minElev)
|
||||
}
|
||||
}
|
||||
|
||||
fun shouldUseUTC(): Boolean {
|
||||
return preferencesSource.shouldUseUTC()
|
||||
return preferences.shouldUseUTC()
|
||||
}
|
||||
|
||||
private suspend fun tickPasses(passes: List<SatPass>) = withContext(Dispatchers.Default) {
|
||||
|
||||
@@ -25,7 +25,7 @@ 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.PreferencesSource
|
||||
import com.rtbishop.look4sat.data.Preferences
|
||||
import com.rtbishop.look4sat.databinding.FragmentRadarBinding
|
||||
import com.rtbishop.look4sat.domain.SatPass
|
||||
import com.rtbishop.look4sat.domain.SatPos
|
||||
@@ -39,7 +39,7 @@ import javax.inject.Inject
|
||||
class RadarFragment : Fragment(R.layout.fragment_radar) {
|
||||
|
||||
@Inject
|
||||
lateinit var preferences: PreferencesSource
|
||||
lateinit var preferences: Preferences
|
||||
private val viewModel: RadarViewModel by viewModels()
|
||||
private var radarView: RadarView? = null
|
||||
|
||||
|
||||
@@ -19,13 +19,13 @@ package com.rtbishop.look4sat.presentation.radarScreen
|
||||
|
||||
import androidx.lifecycle.*
|
||||
import com.rtbishop.look4sat.domain.PassReporter
|
||||
import com.rtbishop.look4sat.data.PreferencesSource
|
||||
import com.rtbishop.look4sat.data.Preferences
|
||||
import com.rtbishop.look4sat.data.SatelliteRepo
|
||||
import com.rtbishop.look4sat.domain.Predictor
|
||||
import com.rtbishop.look4sat.domain.SatPass
|
||||
import com.rtbishop.look4sat.domain.SatPos
|
||||
import com.rtbishop.look4sat.domain.Transmitter
|
||||
import com.rtbishop.look4sat.framework.OrientationProvider
|
||||
import com.rtbishop.look4sat.framework.OrientationSource
|
||||
import com.rtbishop.look4sat.utility.round
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import kotlinx.coroutines.delay
|
||||
@@ -37,12 +37,12 @@ import javax.inject.Inject
|
||||
|
||||
@HiltViewModel
|
||||
class RadarViewModel @Inject constructor(
|
||||
private val orientationProvider: OrientationProvider,
|
||||
private val preferences: PreferencesSource,
|
||||
private val orientationSource: OrientationSource,
|
||||
private val preferences: Preferences,
|
||||
private val predictor: Predictor,
|
||||
private val satelliteRepo: SatelliteRepo,
|
||||
private val passReporter: PassReporter
|
||||
) : ViewModel(), OrientationProvider.OrientationListener {
|
||||
) : ViewModel(), OrientationSource.OrientationListener {
|
||||
|
||||
private val stationPos = preferences.loadStationPosition()
|
||||
private val _passData = MutableLiveData<RadarData>()
|
||||
@@ -64,11 +64,11 @@ class RadarViewModel @Inject constructor(
|
||||
}
|
||||
|
||||
fun enableSensor() {
|
||||
if (preferences.shouldUseCompass()) orientationProvider.startListening(this)
|
||||
if (preferences.shouldUseCompass()) orientationSource.startListening(this)
|
||||
}
|
||||
|
||||
fun disableSensor() {
|
||||
if (preferences.shouldUseCompass()) orientationProvider.stopListening()
|
||||
if (preferences.shouldUseCompass()) orientationSource.stopListening()
|
||||
}
|
||||
|
||||
override fun onOrientationChanged(azimuth: Float, pitch: Float, roll: Float) {
|
||||
|
||||
+9
-9
@@ -29,8 +29,8 @@ import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import com.rtbishop.look4sat.R
|
||||
import com.rtbishop.look4sat.data.PreferencesSource
|
||||
import com.rtbishop.look4sat.framework.PreferencesProvider
|
||||
import com.rtbishop.look4sat.data.Preferences
|
||||
import com.rtbishop.look4sat.framework.PreferencesSource
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import javax.inject.Inject
|
||||
|
||||
@@ -38,7 +38,7 @@ import javax.inject.Inject
|
||||
class SettingsFragment : PreferenceFragmentCompat() {
|
||||
|
||||
@Inject
|
||||
lateinit var preferencesSource: PreferencesSource
|
||||
lateinit var preferences: Preferences
|
||||
|
||||
private val requestPermissionLauncher =
|
||||
registerForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
|
||||
@@ -56,20 +56,20 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
findPreference<Preference>(PreferencesProvider.keyPositionGPS)?.apply {
|
||||
findPreference<Preference>(PreferencesSource.keyPositionGPS)?.apply {
|
||||
setOnPreferenceClickListener {
|
||||
updatePositionFromGPS()
|
||||
return@setOnPreferenceClickListener true
|
||||
}
|
||||
}
|
||||
|
||||
findPreference<Preference>(PreferencesProvider.keyPositionQTH)?.apply {
|
||||
findPreference<Preference>(PreferencesSource.keyPositionQTH)?.apply {
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
updatePositionFromQth(newValue.toString())
|
||||
}
|
||||
}
|
||||
|
||||
findPreference<EditTextPreference>(PreferencesProvider.keyRotatorAddress)?.apply {
|
||||
findPreference<EditTextPreference>(PreferencesSource.keyRotatorAddress)?.apply {
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
val ip4 = "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\.(?!\$)|\$)){4}\$"
|
||||
if (newValue.toString().matches(ip4.toRegex())) {
|
||||
@@ -81,7 +81,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
||||
}
|
||||
}
|
||||
|
||||
findPreference<EditTextPreference>(PreferencesProvider.keyRotatorPort)?.apply {
|
||||
findPreference<EditTextPreference>(PreferencesSource.keyRotatorPort)?.apply {
|
||||
setOnBindEditTextListener { it.inputType = InputType.TYPE_CLASS_NUMBER }
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
val portValue = newValue.toString()
|
||||
@@ -96,7 +96,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
||||
}
|
||||
|
||||
private fun updatePositionFromQth(qthString: String): Boolean {
|
||||
return if (preferencesSource.updatePositionFromQTH(qthString)) {
|
||||
return if (preferences.updatePositionFromQTH(qthString)) {
|
||||
showSnack(getString(R.string.pref_pos_success))
|
||||
true
|
||||
} else {
|
||||
@@ -109,7 +109,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
||||
val locPermString = Manifest.permission.ACCESS_FINE_LOCATION
|
||||
val locPermResult = ContextCompat.checkSelfPermission(requireContext(), locPermString)
|
||||
if (locPermResult == PackageManager.PERMISSION_GRANTED) {
|
||||
if (preferencesSource.updatePositionFromGPS()) {
|
||||
if (preferences.updatePositionFromGPS()) {
|
||||
showSnack(getString(R.string.pref_pos_success))
|
||||
} else {
|
||||
showSnack(getString(R.string.pref_pos_gps_null))
|
||||
|
||||
@@ -25,7 +25,7 @@ import android.view.WindowManager
|
||||
import androidx.appcompat.app.AppCompatDialogFragment
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.rtbishop.look4sat.R
|
||||
import com.rtbishop.look4sat.data.PreferencesSource
|
||||
import com.rtbishop.look4sat.data.Preferences
|
||||
import com.rtbishop.look4sat.databinding.DialogSourcesBinding
|
||||
import com.rtbishop.look4sat.utility.setNavResult
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
@@ -35,7 +35,7 @@ import javax.inject.Inject
|
||||
class SourcesDialog : AppCompatDialogFragment() {
|
||||
|
||||
@Inject
|
||||
lateinit var prefsManager: PreferencesSource
|
||||
lateinit var prefsManager: Preferences
|
||||
|
||||
override fun onCreateView(inflater: LayoutInflater, group: ViewGroup?, state: Bundle?): View? {
|
||||
return inflater.inflate(R.layout.dialog_sources, group, false)
|
||||
|
||||
Reference in new issue
Block a user