From a0c6ceef15a4c50630b315899b1870024faec416 Mon Sep 17 00:00:00 2001 From: Arty Bishop Date: Sun, 13 Feb 2022 14:44:16 +0000 Subject: [PATCH] Restored bottom navigation bar for comparison --- .../look4sat/presentation/MainActivity.kt | 8 ++++- .../presentation/mapScreen/MapViewModel.kt | 4 +-- .../passesScreen/PassesFragment.kt | 19 ----------- .../passesScreen/PassesViewModel.kt | 6 ++-- app/src/main/res/layout/activity_main.xml | 33 +++++++++++++++---- app/src/main/res/layout/fragment_passes.xml | 12 ------- app/src/main/res/menu/navigation_menu.xml | 23 +++++++++++++ .../{nav_graph.xml => navigation_graph.xml} | 4 +-- app/src/main/res/values/styles.xml | 7 +++- 9 files changed, 71 insertions(+), 45 deletions(-) create mode 100644 app/src/main/res/menu/navigation_menu.xml rename app/src/main/res/navigation/{nav_graph.xml => navigation_graph.xml} (96%) diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/MainActivity.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/MainActivity.kt index 80066242..62e95517 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/MainActivity.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/MainActivity.kt @@ -23,6 +23,9 @@ import android.os.Bundle import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen +import androidx.navigation.fragment.NavHostFragment +import androidx.navigation.ui.setupWithNavController +import com.rtbishop.look4sat.R import com.rtbishop.look4sat.databinding.ActivityMainBinding import dagger.hilt.android.AndroidEntryPoint @@ -36,7 +39,10 @@ class MainActivity : AppCompatActivity() { requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT installSplashScreen() super.onCreate(savedInstanceState) - setContentView(ActivityMainBinding.inflate(layoutInflater).root) + val binding = ActivityMainBinding.inflate(layoutInflater) + val host = supportFragmentManager.findFragmentById(R.id.navigation_host) as NavHostFragment + setContentView(binding.root) + binding.navigationBar.setupWithNavController(host.navController) mainViewModel.calculatePasses() } } diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapViewModel.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapViewModel.kt index 8e272993..b3b28c19 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapViewModel.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/mapScreen/MapViewModel.kt @@ -74,12 +74,12 @@ class MapViewModel @Inject constructor( } } - fun selectDefaultSatellite(catnum: Int?) { + fun selectDefaultSatellite(catnum: Int) { viewModelScope.launch { dataRepository.getSelectedSatellites().also { satellites -> if (satellites.isNotEmpty()) { allSatList = satellites - if (catnum == null) { + if (catnum == -1) { selectSatellite(satellites.first()) } else { satellites.find { it.params.catnum == catnum }?.let { selectSatellite(it) } diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesFragment.kt index 9e716706..80700f2b 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesFragment.kt @@ -19,13 +19,11 @@ package com.rtbishop.look4sat.presentation.passesScreen import android.os.Bundle import android.view.View -import android.widget.Toast import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.SimpleItemAnimator import com.rtbishop.look4sat.R import com.rtbishop.look4sat.databinding.FragmentPassesBinding @@ -57,12 +55,6 @@ class PassesFragment : Fragment(R.layout.fragment_passes), PassesAdapter.PassesC this.layoutManager = layoutManager addItemDecoration(itemDecoration) (itemAnimator as SimpleItemAnimator).supportsChangeAnimations = false - addOnScrollListener(object : RecyclerView.OnScrollListener() { - override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { - if (dy > 0 && passesFab.visibility == View.VISIBLE) passesFab.hide() - else if (dy < 0 && passesFab.visibility != View.VISIBLE) passesFab.show() - } - }) } passesSwipe.apply { setColorSchemeResources(R.color.surfaceToolbar) @@ -75,17 +67,6 @@ class PassesFragment : Fragment(R.layout.fragment_passes), PassesAdapter.PassesC passesViewModel.passes.observe(viewLifecycleOwner) { passesResult -> handleNewPasses(passesResult, adapter, binding) } - passesViewModel.satellites.observe(viewLifecycleOwner) { satellites -> - satellites?.let { - if (satellites.isEmpty()) { - binding.passesFab.setOnClickListener { - Toast.makeText(requireContext(), "Nothing to show", Toast.LENGTH_SHORT).show() - } - } else { - binding.passesFab.setOnClickListener { findNavController().navigate(R.id.nav_entries) } - } - } - } getNavResult>(R.id.nav_passes, "prefs") { prefs -> passesViewModel.saveCalculationPrefs(prefs.first, prefs.second) passesViewModel.forceCalculation(prefs.first, prefs.second) diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesViewModel.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesViewModel.kt index ae19fe10..95dda417 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesViewModel.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/passesScreen/PassesViewModel.kt @@ -17,7 +17,10 @@ */ package com.rtbishop.look4sat.presentation.passesScreen -import androidx.lifecycle.* +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope import com.rtbishop.look4sat.data.ISettingsHandler import com.rtbishop.look4sat.domain.IDataRepository import com.rtbishop.look4sat.domain.model.DataState @@ -37,7 +40,6 @@ class PassesViewModel @Inject constructor( private var passesProcessing: Job? = null private val _passes = MutableLiveData>>() val passes: LiveData>> = _passes - val satellites = repository.getSatelliteItems().asLiveData() init { viewModelScope.launch { diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 92aad262..a3add922 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,9 +1,30 @@ - \ No newline at end of file + android:layout_height="match_parent"> + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_passes.xml b/app/src/main/res/layout/fragment_passes.xml index eb55fa74..6d643ebd 100644 --- a/app/src/main/res/layout/fragment_passes.xml +++ b/app/src/main/res/layout/fragment_passes.xml @@ -72,16 +72,4 @@ - - \ No newline at end of file diff --git a/app/src/main/res/menu/navigation_menu.xml b/app/src/main/res/menu/navigation_menu.xml new file mode 100644 index 00000000..65d48d70 --- /dev/null +++ b/app/src/main/res/menu/navigation_menu.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/navigation_graph.xml similarity index 96% rename from app/src/main/res/navigation/nav_graph.xml rename to app/src/main/res/navigation/navigation_graph.xml index 5ac2aa9a..76705d6b 100644 --- a/app/src/main/res/navigation/nav_graph.xml +++ b/app/src/main/res/navigation/navigation_graph.xml @@ -26,7 +26,7 @@ tools:layout="@layout/fragment_radar"> @drawable/ic_splash -