diff --git a/app/src/androidTest/java/com/rtbishop/lookingsat/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/rtbishop/lookingsat/ExampleInstrumentedTest.kt deleted file mode 100644 index 972991c8..00000000 --- a/app/src/androidTest/java/com/rtbishop/lookingsat/ExampleInstrumentedTest.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.rtbishop.lookingsat - -import androidx.test.ext.junit.runners.AndroidJUnit4 -import androidx.test.platform.app.InstrumentationRegistry -import org.junit.Assert.assertEquals -import org.junit.Test -import org.junit.runner.RunWith - -/** - * Instrumented test, which will execute on an Android device. - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -@RunWith(AndroidJUnit4::class) -class ExampleInstrumentedTest { - @Test - fun useAppContext() { - // Context of the app under test. - val appContext = InstrumentationRegistry.getInstrumentation().targetContext - assertEquals("com.rtbishop.lookingsat", appContext.packageName) - } -} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e5ae2df8..c90d39d5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,13 +1,13 @@ + package="com.rtbishop.look4sat"> diff --git a/app/src/main/java/com/rtbishop/lookingsat/LookingSatApp.kt b/app/src/main/java/com/rtbishop/look4sat/Look4SatApp.kt similarity index 85% rename from app/src/main/java/com/rtbishop/lookingsat/LookingSatApp.kt rename to app/src/main/java/com/rtbishop/look4sat/Look4SatApp.kt index d6358ec4..f163c7d8 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/LookingSatApp.kt +++ b/app/src/main/java/com/rtbishop/look4sat/Look4SatApp.kt @@ -17,13 +17,13 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat +package com.rtbishop.look4sat import android.app.Application -import com.rtbishop.lookingsat.di.AppComponent -import com.rtbishop.lookingsat.di.DaggerAppComponent +import com.rtbishop.look4sat.di.AppComponent +import com.rtbishop.look4sat.di.DaggerAppComponent -class LookingSatApp : Application() { +class Look4SatApp : Application() { val appComponent: AppComponent by lazy { DaggerAppComponent.factory().create(applicationContext) diff --git a/app/src/main/java/com/rtbishop/lookingsat/MainViewModel.kt b/app/src/main/java/com/rtbishop/look4sat/MainViewModel.kt similarity index 80% rename from app/src/main/java/com/rtbishop/lookingsat/MainViewModel.kt rename to app/src/main/java/com/rtbishop/look4sat/MainViewModel.kt index 1aa201b6..57f5ff08 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/MainViewModel.kt +++ b/app/src/main/java/com/rtbishop/look4sat/MainViewModel.kt @@ -17,7 +17,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat +package com.rtbishop.look4sat import android.app.Application import android.content.Context @@ -25,6 +25,7 @@ import android.content.SharedPreferences import android.location.Location import androidx.core.content.edit import androidx.lifecycle.AndroidViewModel +import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.viewModelScope import com.github.amsacode.predict4java.GroundStationPosition @@ -32,10 +33,9 @@ import com.github.amsacode.predict4java.PassPredictor import com.github.amsacode.predict4java.SatNotFoundException import com.github.amsacode.predict4java.TLE import com.google.android.gms.location.FusedLocationProviderClient -import com.rtbishop.lookingsat.repo.Repository -import com.rtbishop.lookingsat.repo.SatPass -import com.rtbishop.lookingsat.repo.SatPassPrefs -import com.rtbishop.lookingsat.repo.Transmitter +import com.rtbishop.look4sat.repo.Repository +import com.rtbishop.look4sat.repo.SatPass +import com.rtbishop.look4sat.repo.Transmitter import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @@ -70,42 +70,40 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { lateinit var repository: Repository init { - (app as LookingSatApp).appComponent.inject(this) + (app as Look4SatApp).appComponent.inject(this) } private var passPrefs = SatPassPrefs( preferences.getString(keyHours, defValueHours)!!.toInt(), preferences.getString(keyMinEl, defValueMinEl)!!.toDouble() ) - val debugMessage = MutableLiveData("") - val gsp = MutableLiveData( + + private val _debugMessage = MutableLiveData() + val debugMessage: LiveData = _debugMessage + + private val _gsp = MutableLiveData( GroundStationPosition( preferences.getString(keyLat, defValueLoc)!!.toDouble(), preferences.getString(keyLon, defValueLoc)!!.toDouble(), preferences.getString(keyAlt, defValueLoc)!!.toDouble() ) ) + val gsp: LiveData = _gsp + var satPassList = emptyList() var tleMainList = loadTwoLineElementFile() var selectionList = loadSelectionList() - val updateFreq + val updateFreq: Long get() = preferences.getString(keyUpdateFreq, defValueUpdateFreq)!!.toLong() fun updateGsp() { val lat = preferences.getString(keyLat, defValueLoc)!!.toDouble() val lon = preferences.getString(keyLon, defValueLoc)!!.toDouble() val alt = preferences.getString(keyAlt, defValueLoc)!!.toDouble() - gsp.postValue(GroundStationPosition(lat, lon, alt)) + _gsp.postValue(GroundStationPosition(lat, lon, alt)) } - fun updatePassPref() { - passPrefs = SatPassPrefs( - preferences.getString(keyHours, defValueHours)!!.toInt(), - preferences.getString(keyMinEl, defValueMinEl)!!.toDouble() - ) - } - - fun updateLocation() { + fun getCurrentLocation() { locationClient.lastLocation.addOnSuccessListener { location: Location? -> val lat = location?.latitude ?: 0.0 val lon = location?.longitude ?: 0.0 @@ -117,8 +115,8 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { putString(keyAlt, alt.toString()) apply() } - gsp.postValue(GroundStationPosition(lat, lon, alt)) - debugMessage.postValue("Location was updated") + _gsp.postValue(GroundStationPosition(lat, lon, alt)) + _debugMessage.postValue("Location was updated") } } @@ -134,9 +132,10 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { close() } tleMainList = tleList - debugMessage.postValue("TLE file was updated") + selectionList = mutableListOf() + _debugMessage.postValue("TLE file was updated") } catch (exception: IOException) { - debugMessage.postValue("Couldn't update TLE file") + _debugMessage.postValue("Couldn't update TLE file") } } } @@ -145,9 +144,9 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { viewModelScope.launch(Dispatchers.IO) { try { repository.updateTransmittersDatabase() - debugMessage.postValue("Transmitters were updated") + _debugMessage.postValue("Transmitters were updated") } catch (exception: IOException) { - debugMessage.postValue("Couldn't update transmitters") + _debugMessage.postValue("Couldn't update transmitters") } } } @@ -162,26 +161,28 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { close() } } catch (exception: IOException) { - debugMessage.postValue(exception.toString()) + _debugMessage.postValue(exception.toString()) } } suspend fun getPasses() { + val hoursAhead = preferences.getString(keyHours, defValueHours)!!.toInt() + val minEl = preferences.getString(keyMinEl, defValueMinEl)!!.toDouble() val passList = mutableListOf() withContext(Dispatchers.Default) { selectionList.forEach { indexOfSelection -> val tle = tleMainList[indexOfSelection] try { val predictor = PassPredictor(tle, gsp.value) - val passes = predictor.getPasses(Date(), passPrefs.hoursAhead, true) + val passes = predictor.getPasses(Date(), hoursAhead, true) passes.forEach { passList.add(SatPass(tle, predictor, it)) } } catch (exception: IllegalArgumentException) { - debugMessage.postValue("There was a problem with ${tle.name}") + _debugMessage.postValue("There was a problem with ${tle.name}") } catch (exception: SatNotFoundException) { - debugMessage.postValue("${tle.name} shall not pass") + _debugMessage.postValue("${tle.name} shall not pass") } } - passList.retainAll { it.pass.maxEl >= passPrefs.maxEl } + passList.retainAll { it.pass.maxEl >= minEl } passList.sortBy { it.pass.startTime } } satPassList = passList @@ -198,9 +199,9 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { val tleList = ObjectInputStream(fileInputStream).readObject() return tleList as List } catch (exception: FileNotFoundException) { - debugMessage.postValue("TLE file wasn't found") + _debugMessage.postValue("TLE file wasn't found") } catch (exception: IOException) { - debugMessage.postValue(exception.toString()) + _debugMessage.postValue(exception.toString()) } return emptyList() } @@ -212,9 +213,9 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { val selectionList = ObjectInputStream(fileInputStream).readObject() return selectionList as MutableList } catch (exception: FileNotFoundException) { - debugMessage.postValue("Selection file wasn't found") + _debugMessage.postValue("Selection file wasn't found") } catch (exception: IOException) { - debugMessage.postValue(exception.toString()) + _debugMessage.postValue(exception.toString()) } return mutableListOf() } diff --git a/app/src/main/java/com/rtbishop/lookingsat/di/AndroidModule.kt b/app/src/main/java/com/rtbishop/look4sat/di/AndroidModule.kt similarity index 97% rename from app/src/main/java/com/rtbishop/lookingsat/di/AndroidModule.kt rename to app/src/main/java/com/rtbishop/look4sat/di/AndroidModule.kt index f72eda52..6b38200e 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/di/AndroidModule.kt +++ b/app/src/main/java/com/rtbishop/look4sat/di/AndroidModule.kt @@ -17,7 +17,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.di +package com.rtbishop.look4sat.di import android.content.Context import android.content.SharedPreferences diff --git a/app/src/main/java/com/rtbishop/lookingsat/di/AppComponent.kt b/app/src/main/java/com/rtbishop/look4sat/di/AppComponent.kt similarity index 93% rename from app/src/main/java/com/rtbishop/lookingsat/di/AppComponent.kt rename to app/src/main/java/com/rtbishop/look4sat/di/AppComponent.kt index 8c7129bc..1fe7b891 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/di/AppComponent.kt +++ b/app/src/main/java/com/rtbishop/look4sat/di/AppComponent.kt @@ -17,10 +17,10 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.di +package com.rtbishop.look4sat.di import android.content.Context -import com.rtbishop.lookingsat.MainViewModel +import com.rtbishop.look4sat.MainViewModel import dagger.BindsInstance import dagger.Component import javax.inject.Singleton diff --git a/app/src/main/java/com/rtbishop/lookingsat/di/NetworkModule.kt b/app/src/main/java/com/rtbishop/look4sat/di/NetworkModule.kt similarity index 94% rename from app/src/main/java/com/rtbishop/lookingsat/di/NetworkModule.kt rename to app/src/main/java/com/rtbishop/look4sat/di/NetworkModule.kt index b77c6783..ed33db22 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/di/NetworkModule.kt +++ b/app/src/main/java/com/rtbishop/look4sat/di/NetworkModule.kt @@ -17,9 +17,9 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.di +package com.rtbishop.look4sat.di -import com.rtbishop.lookingsat.network.TransmittersApi +import com.rtbishop.look4sat.network.TransmittersApi import dagger.Module import dagger.Provides import okhttp3.OkHttpClient diff --git a/app/src/main/java/com/rtbishop/lookingsat/di/StorageModule.kt b/app/src/main/java/com/rtbishop/look4sat/di/StorageModule.kt similarity index 90% rename from app/src/main/java/com/rtbishop/lookingsat/di/StorageModule.kt rename to app/src/main/java/com/rtbishop/look4sat/di/StorageModule.kt index 59bbd961..34d2d5e3 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/di/StorageModule.kt +++ b/app/src/main/java/com/rtbishop/look4sat/di/StorageModule.kt @@ -17,12 +17,12 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.di +package com.rtbishop.look4sat.di import android.content.Context import androidx.room.Room -import com.rtbishop.lookingsat.storage.TransmittersDao -import com.rtbishop.lookingsat.storage.TransmittersDb +import com.rtbishop.look4sat.storage.TransmittersDao +import com.rtbishop.look4sat.storage.TransmittersDb import dagger.Module import dagger.Provides import javax.inject.Singleton diff --git a/app/src/main/java/com/rtbishop/lookingsat/network/RemoteDataSource.kt b/app/src/main/java/com/rtbishop/look4sat/network/RemoteDataSource.kt similarity index 90% rename from app/src/main/java/com/rtbishop/lookingsat/network/RemoteDataSource.kt rename to app/src/main/java/com/rtbishop/look4sat/network/RemoteDataSource.kt index 1afc5b38..6c60dbb2 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/network/RemoteDataSource.kt +++ b/app/src/main/java/com/rtbishop/look4sat/network/RemoteDataSource.kt @@ -17,13 +17,16 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.network +package com.rtbishop.look4sat.network -import com.rtbishop.lookingsat.repo.Transmitter +import com.rtbishop.look4sat.repo.Transmitter +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext import okhttp3.OkHttpClient import okhttp3.Request import java.io.InputStream import java.io.SequenceInputStream +import java.util.* import javax.inject.Inject class RemoteDataSource @Inject constructor( diff --git a/app/src/main/java/com/rtbishop/lookingsat/network/TransmittersApi.kt b/app/src/main/java/com/rtbishop/look4sat/network/TransmittersApi.kt similarity index 91% rename from app/src/main/java/com/rtbishop/lookingsat/network/TransmittersApi.kt rename to app/src/main/java/com/rtbishop/look4sat/network/TransmittersApi.kt index fcc350b5..871ea115 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/network/TransmittersApi.kt +++ b/app/src/main/java/com/rtbishop/look4sat/network/TransmittersApi.kt @@ -17,9 +17,9 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.network +package com.rtbishop.look4sat.network -import com.rtbishop.lookingsat.repo.Transmitter +import com.rtbishop.look4sat.repo.Transmitter import retrofit2.http.GET interface TransmittersApi { diff --git a/app/src/main/java/com/rtbishop/lookingsat/repo/Repository.kt b/app/src/main/java/com/rtbishop/look4sat/repo/Repository.kt similarity index 90% rename from app/src/main/java/com/rtbishop/lookingsat/repo/Repository.kt rename to app/src/main/java/com/rtbishop/look4sat/repo/Repository.kt index 6c1fccae..9baf63a2 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/repo/Repository.kt +++ b/app/src/main/java/com/rtbishop/look4sat/repo/Repository.kt @@ -17,10 +17,10 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.repo +package com.rtbishop.look4sat.repo -import com.rtbishop.lookingsat.network.RemoteDataSource -import com.rtbishop.lookingsat.storage.LocalDataSource +import com.rtbishop.look4sat.network.RemoteDataSource +import com.rtbishop.look4sat.storage.LocalDataSource import java.io.InputStream import javax.inject.Inject diff --git a/app/src/main/java/com/rtbishop/lookingsat/repo/SatPass.kt b/app/src/main/java/com/rtbishop/look4sat/repo/SatPass.kt similarity index 96% rename from app/src/main/java/com/rtbishop/lookingsat/repo/SatPass.kt rename to app/src/main/java/com/rtbishop/look4sat/repo/SatPass.kt index ae286a2d..c4fcc872 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/repo/SatPass.kt +++ b/app/src/main/java/com/rtbishop/look4sat/repo/SatPass.kt @@ -17,7 +17,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.repo +package com.rtbishop.look4sat.repo import android.os.Parcelable import com.github.amsacode.predict4java.PassPredictor diff --git a/app/src/main/java/com/rtbishop/lookingsat/repo/Transmitter.kt b/app/src/main/java/com/rtbishop/look4sat/repo/Transmitter.kt similarity index 97% rename from app/src/main/java/com/rtbishop/lookingsat/repo/Transmitter.kt rename to app/src/main/java/com/rtbishop/look4sat/repo/Transmitter.kt index 54ca2b19..8f8db457 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/repo/Transmitter.kt +++ b/app/src/main/java/com/rtbishop/look4sat/repo/Transmitter.kt @@ -17,7 +17,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.repo +package com.rtbishop.look4sat.repo import androidx.room.Entity import androidx.room.PrimaryKey diff --git a/app/src/main/java/com/rtbishop/lookingsat/storage/LocalDataSource.kt b/app/src/main/java/com/rtbishop/look4sat/storage/LocalDataSource.kt similarity index 93% rename from app/src/main/java/com/rtbishop/lookingsat/storage/LocalDataSource.kt rename to app/src/main/java/com/rtbishop/look4sat/storage/LocalDataSource.kt index 99fc828e..e4e26a76 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/storage/LocalDataSource.kt +++ b/app/src/main/java/com/rtbishop/look4sat/storage/LocalDataSource.kt @@ -17,9 +17,9 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.storage +package com.rtbishop.look4sat.storage -import com.rtbishop.lookingsat.repo.Transmitter +import com.rtbishop.look4sat.repo.Transmitter import javax.inject.Inject class LocalDataSource @Inject constructor(private val transmittersDao: TransmittersDao) { diff --git a/app/src/main/java/com/rtbishop/lookingsat/storage/TransmittersDao.kt b/app/src/main/java/com/rtbishop/look4sat/storage/TransmittersDao.kt similarity index 93% rename from app/src/main/java/com/rtbishop/lookingsat/storage/TransmittersDao.kt rename to app/src/main/java/com/rtbishop/look4sat/storage/TransmittersDao.kt index a611cae0..0e87cc78 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/storage/TransmittersDao.kt +++ b/app/src/main/java/com/rtbishop/look4sat/storage/TransmittersDao.kt @@ -17,13 +17,13 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.storage +package com.rtbishop.look4sat.storage import androidx.room.Dao import androidx.room.Insert import androidx.room.OnConflictStrategy import androidx.room.Query -import com.rtbishop.lookingsat.repo.Transmitter +import com.rtbishop.look4sat.repo.Transmitter @Dao interface TransmittersDao { diff --git a/app/src/main/java/com/rtbishop/lookingsat/storage/TransmittersDb.kt b/app/src/main/java/com/rtbishop/look4sat/storage/TransmittersDb.kt similarity index 92% rename from app/src/main/java/com/rtbishop/lookingsat/storage/TransmittersDb.kt rename to app/src/main/java/com/rtbishop/look4sat/storage/TransmittersDb.kt index 25b44e4a..17df677b 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/storage/TransmittersDb.kt +++ b/app/src/main/java/com/rtbishop/look4sat/storage/TransmittersDb.kt @@ -17,11 +17,11 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.storage +package com.rtbishop.look4sat.storage import androidx.room.Database import androidx.room.RoomDatabase -import com.rtbishop.lookingsat.repo.Transmitter +import com.rtbishop.look4sat.repo.Transmitter @Database(entities = [Transmitter::class], version = 1, exportSchema = false) abstract class TransmittersDb : RoomDatabase() { diff --git a/app/src/main/java/com/rtbishop/lookingsat/ui/CreditsFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/CreditsFragment.kt similarity index 94% rename from app/src/main/java/com/rtbishop/lookingsat/ui/CreditsFragment.kt rename to app/src/main/java/com/rtbishop/look4sat/ui/CreditsFragment.kt index 0482102d..570fd145 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/ui/CreditsFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/CreditsFragment.kt @@ -17,14 +17,14 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.ui +package com.rtbishop.look4sat.ui import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment -import com.rtbishop.lookingsat.R +import com.rtbishop.look4sat.R class CreditsFragment : Fragment() { diff --git a/app/src/main/java/com/rtbishop/lookingsat/ui/MainActivity.kt b/app/src/main/java/com/rtbishop/look4sat/ui/MainActivity.kt similarity index 89% rename from app/src/main/java/com/rtbishop/lookingsat/ui/MainActivity.kt rename to app/src/main/java/com/rtbishop/look4sat/ui/MainActivity.kt index 78afa06b..9b7dc195 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/ui/MainActivity.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/MainActivity.kt @@ -17,7 +17,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.ui +package com.rtbishop.look4sat.ui import android.Manifest import android.content.Intent @@ -43,8 +43,8 @@ import androidx.navigation.ui.navigateUp import androidx.navigation.ui.setupActionBarWithNavController import androidx.navigation.ui.setupWithNavController import com.google.android.material.navigation.NavigationView -import com.rtbishop.lookingsat.MainViewModel -import com.rtbishop.lookingsat.R +import com.rtbishop.look4sat.MainViewModel +import com.rtbishop.look4sat.R class MainActivity : AppCompatActivity() { @@ -69,24 +69,23 @@ class MainActivity : AppCompatActivity() { setTheme(R.style.AppTheme) super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) + viewModel = ViewModelProvider(this).get(MainViewModel::class.java) setupComponents() + setupObservers() setupDrawer() } private fun setupComponents() { + val navController = findNavController(R.id.nav_host) val navView: NavigationView = findViewById(R.id.nav_view) val header = navView.getHeaderView(0) val toolbar: Toolbar = findViewById(R.id.toolbar) setSupportActionBar(toolbar) - viewModel = ViewModelProvider(this).get(MainViewModel::class.java) - timerLayout = findViewById(R.id.toolbar_layout_timer) drawerLayout = findViewById(R.id.drawer_layout) - drawerLat = header.findViewById(R.id.drawer_lat_value) drawerLon = header.findViewById(R.id.drawer_lon_value) - drawerBtnLoc = header.findViewById(R.id.drawer_btn_loc) drawerBtnTle = header.findViewById(R.id.drawer_btn_tle) drawerBtnTrans = header.findViewById(R.id.drawer_btn_trans) @@ -98,7 +97,6 @@ class MainActivity : AppCompatActivity() { drawerLayout ) - val navController = findNavController(R.id.nav_host) setupActionBarWithNavController(navController, appBarConfig) navView.setupWithNavController(navController) @@ -122,19 +120,19 @@ class MainActivity : AppCompatActivity() { } } - private fun setupDrawer() { + private fun setupObservers() { viewModel.debugMessage.observe(this, Observer { debug_message -> - if (debug_message != "") { - Toast.makeText(this, debug_message, Toast.LENGTH_SHORT).show() - } + Toast.makeText(this, debug_message, Toast.LENGTH_SHORT).show() }) viewModel.gsp.observe(this, Observer { gsp -> - drawerLat.text = String.format("%.4f", gsp.latitude) - drawerLon.text = String.format("%.4f", gsp.longitude) + drawerLat.text = String.format(getString(R.string.pattern_lat), gsp.latitude) + drawerLon.text = String.format(getString(R.string.pattern_lon), gsp.longitude) }) + } - drawerBtnLoc.setOnClickListener { updateLocation() } + private fun setupDrawer() { + drawerBtnLoc.setOnClickListener { requestLocationUpdate() } drawerBtnTle.setOnClickListener { viewModel.updateAndSaveTleFile() } drawerBtnTrans.setOnClickListener { viewModel.updateTransmittersDatabase() } drawerBtnGithub.setOnClickListener { @@ -143,15 +141,15 @@ class MainActivity : AppCompatActivity() { drawerBtnExit.setOnClickListener { finish() } } - private fun updateLocation() { + private fun requestLocationUpdate() { if (ContextCompat.checkSelfPermission(this, permLocation) != permGranted) { if (ActivityCompat.shouldShowRequestPermissionRationale(this, permLocation)) { - Toast.makeText(this, "Missing permissions", Toast.LENGTH_LONG).show() + Toast.makeText(this, getString(R.string.no_permissions), Toast.LENGTH_LONG).show() } else { ActivityCompat.requestPermissions(this, arrayOf(permLocation), permLocationCode) } } else { - viewModel.updateLocation() + viewModel.getCurrentLocation() } } @@ -159,7 +157,7 @@ class MainActivity : AppCompatActivity() { when (reqCode) { permLocationCode -> { if (res.isNotEmpty() && res[0] == permGranted) { - viewModel.updateLocation() + viewModel.getCurrentLocation() } } } diff --git a/app/src/main/java/com/rtbishop/lookingsat/ui/RadarFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/RadarFragment.kt similarity index 98% rename from app/src/main/java/com/rtbishop/lookingsat/ui/RadarFragment.kt rename to app/src/main/java/com/rtbishop/look4sat/ui/RadarFragment.kt index 81c8eec7..ee94dfa6 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/ui/RadarFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/RadarFragment.kt @@ -17,7 +17,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.ui +package com.rtbishop.look4sat.ui import android.content.Context import android.graphics.Canvas @@ -35,9 +35,9 @@ import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.github.amsacode.predict4java.SatPos -import com.rtbishop.lookingsat.MainViewModel -import com.rtbishop.lookingsat.R -import com.rtbishop.lookingsat.repo.SatPass +import com.rtbishop.look4sat.MainViewModel +import com.rtbishop.look4sat.R +import com.rtbishop.look4sat.repo.SatPass import kotlinx.coroutines.launch import java.util.* import java.util.concurrent.Executors diff --git a/app/src/main/java/com/rtbishop/lookingsat/ui/SatPassAdapter.kt b/app/src/main/java/com/rtbishop/look4sat/ui/SatPassAdapter.kt similarity index 96% rename from app/src/main/java/com/rtbishop/lookingsat/ui/SatPassAdapter.kt rename to app/src/main/java/com/rtbishop/look4sat/ui/SatPassAdapter.kt index a7476b18..51fc2da4 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/ui/SatPassAdapter.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/SatPassAdapter.kt @@ -17,7 +17,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.ui +package com.rtbishop.look4sat.ui import android.view.LayoutInflater import android.view.View @@ -26,8 +26,8 @@ import android.widget.TextView import androidx.core.os.bundleOf import androidx.navigation.findNavController import androidx.recyclerview.widget.RecyclerView -import com.rtbishop.lookingsat.R -import com.rtbishop.lookingsat.repo.SatPass +import com.rtbishop.look4sat.R +import com.rtbishop.look4sat.repo.SatPass import java.text.SimpleDateFormat import java.util.* diff --git a/app/src/main/java/com/rtbishop/lookingsat/ui/SettingsFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/SettingsFragment.kt similarity index 87% rename from app/src/main/java/com/rtbishop/lookingsat/ui/SettingsFragment.kt rename to app/src/main/java/com/rtbishop/look4sat/ui/SettingsFragment.kt index c92d3057..709453da 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/ui/SettingsFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/SettingsFragment.kt @@ -17,15 +17,15 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.ui +package com.rtbishop.look4sat.ui import android.content.SharedPreferences import android.os.Bundle import androidx.lifecycle.ViewModelProvider import androidx.preference.EditTextPreference import androidx.preference.PreferenceFragmentCompat -import com.rtbishop.lookingsat.MainViewModel -import com.rtbishop.lookingsat.R +import com.rtbishop.look4sat.MainViewModel +import com.rtbishop.look4sat.R class SettingsFragment : PreferenceFragmentCompat(), SharedPreferences.OnSharedPreferenceChangeListener { @@ -51,14 +51,7 @@ class SettingsFragment : PreferenceFragmentCompat(), if (key == context!!.getText(R.string.key_lat) || key == context!!.getText(R.string.key_lon) || key == context!!.getText(R.string.key_alt) - ) { - viewModel.updateGsp() - } - if (key == context!!.getText(R.string.key_hours_ahead) || - key == context!!.getText(R.string.key_min_el) - ) { - viewModel.updatePassPref() - } + ) viewModel.updateGsp() } override fun onResume() { diff --git a/app/src/main/java/com/rtbishop/lookingsat/ui/SkyFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/SkyFragment.kt similarity index 97% rename from app/src/main/java/com/rtbishop/lookingsat/ui/SkyFragment.kt rename to app/src/main/java/com/rtbishop/look4sat/ui/SkyFragment.kt index be8a09a9..68c66604 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/ui/SkyFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/SkyFragment.kt @@ -17,7 +17,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.ui +package com.rtbishop.look4sat.ui import android.os.Bundle import android.os.CountDownTimer @@ -36,9 +36,9 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.github.amsacode.predict4java.TLE import com.google.android.material.floatingactionbutton.FloatingActionButton -import com.rtbishop.lookingsat.MainViewModel -import com.rtbishop.lookingsat.R -import com.rtbishop.lookingsat.repo.SatPass +import com.rtbishop.look4sat.MainViewModel +import com.rtbishop.look4sat.R +import com.rtbishop.look4sat.repo.SatPass import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import java.util.concurrent.TimeUnit diff --git a/app/src/main/java/com/rtbishop/lookingsat/ui/TransAdapter.kt b/app/src/main/java/com/rtbishop/look4sat/ui/TransAdapter.kt similarity index 97% rename from app/src/main/java/com/rtbishop/lookingsat/ui/TransAdapter.kt rename to app/src/main/java/com/rtbishop/look4sat/ui/TransAdapter.kt index 4c8ebd2e..b3714b6c 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/ui/TransAdapter.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/TransAdapter.kt @@ -17,15 +17,15 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.ui +package com.rtbishop.look4sat.ui import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView import androidx.recyclerview.widget.RecyclerView -import com.rtbishop.lookingsat.R -import com.rtbishop.lookingsat.repo.Transmitter +import com.rtbishop.look4sat.R +import com.rtbishop.look4sat.repo.Transmitter class TransAdapter : RecyclerView.Adapter() { diff --git a/app/src/main/java/com/rtbishop/lookingsat/ui/WorldMapFragment.kt b/app/src/main/java/com/rtbishop/look4sat/ui/WorldMapFragment.kt similarity index 98% rename from app/src/main/java/com/rtbishop/lookingsat/ui/WorldMapFragment.kt rename to app/src/main/java/com/rtbishop/look4sat/ui/WorldMapFragment.kt index bb1045d3..1b4f6407 100644 --- a/app/src/main/java/com/rtbishop/lookingsat/ui/WorldMapFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/WorldMapFragment.kt @@ -17,7 +17,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -package com.rtbishop.lookingsat.ui +package com.rtbishop.look4sat.ui import android.content.Context import android.graphics.* @@ -35,8 +35,8 @@ import com.github.amsacode.predict4java.Position import com.github.amsacode.predict4java.SatPos import com.github.amsacode.predict4java.TLE import com.google.android.material.floatingactionbutton.FloatingActionButton -import com.rtbishop.lookingsat.MainViewModel -import com.rtbishop.lookingsat.R +import com.rtbishop.look4sat.MainViewModel +import com.rtbishop.look4sat.R import java.util.* import java.util.concurrent.Executors import java.util.concurrent.TimeUnit diff --git a/app/src/main/java/com/rtbishop/lookingsat/repo/SatPassPrefs.kt b/app/src/main/java/com/rtbishop/lookingsat/repo/SatPassPrefs.kt deleted file mode 100644 index 982ecd59..00000000 --- a/app/src/main/java/com/rtbishop/lookingsat/repo/SatPassPrefs.kt +++ /dev/null @@ -1,22 +0,0 @@ -/* - * LookingSat. Amateur radio & weather satellite tracker and passes calculator. - * Copyright (C) 2019 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 2 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, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -package com.rtbishop.lookingsat.repo - -data class SatPassPrefs(val hoursAhead: Int, val maxEl: Double) \ No newline at end of file diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml index 1783d10b..83a65ee7 100644 --- a/app/src/main/res/navigation/nav_graph.xml +++ b/app/src/main/res/navigation/nav_graph.xml @@ -7,7 +7,7 @@ \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d6326adc..19767c40 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -71,6 +71,7 @@ Mode: Null Uplink: Null Downlink: Null + Missing permissions No transmitters found for this Satellite No satellites were shortlisted @@ -81,6 +82,8 @@ Inverted: Yes Transmitters: + %.4f + %.4f AOS -%02d:%02d:%02d Mode: %s Inverted: %s diff --git a/app/src/test/java/com/rtbishop/lookingsat/ExampleUnitTest.kt b/app/src/test/java/com/rtbishop/lookingsat/ExampleUnitTest.kt deleted file mode 100644 index 264f2da1..00000000 --- a/app/src/test/java/com/rtbishop/lookingsat/ExampleUnitTest.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.rtbishop.lookingsat - -import org.junit.Assert.assertEquals -import org.junit.Test - -/** - * Example local unit test, which will execute on the development machine (host). - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -class ExampleUnitTest { - @Test - fun addition_isCorrect() { - assertEquals(4, 2 + 2) - } -}