From f559c601540948509493defd33067b5f25509088 Mon Sep 17 00:00:00 2001 From: Arty Bishop Date: Mon, 10 Jan 2022 22:15:21 +0000 Subject: [PATCH] Temporarily restored BottomNavigationBar --- .../look4sat/presentation/Look4SatActivity.kt | 8 ++++- .../entriesScreen/EntriesFragment.kt | 2 +- .../passesScreen/PassesFragment.kt | 4 +-- .../presentation/radarScreen/RadarFragment.kt | 3 +- .../settingsScreen/SettingsFragment.kt | 2 +- app/src/main/res/drawable/ic_nav_map.xml | 9 +++++ app/src/main/res/drawable/ic_nav_passes.xml | 9 +++++ .../main/res/drawable/ic_nav_satellites.xml | 14 ++++++++ app/src/main/res/drawable/ic_nav_settings.xml | 9 +++++ app/src/main/res/layout/activity_main.xml | 36 +++++++++++++++---- app/src/main/res/menu/nav_menu.xml | 19 ++++++++++ app/src/main/res/navigation/nav_graph.xml | 8 ++--- app/src/main/res/values-ru/strings.xml | 6 ++++ app/src/main/res/values/dimens.xml | 6 ++++ app/src/main/res/values/strings.xml | 6 ++++ app/src/main/res/values/styles.xml | 2 +- 16 files changed, 125 insertions(+), 18 deletions(-) create mode 100644 app/src/main/res/drawable/ic_nav_map.xml create mode 100644 app/src/main/res/drawable/ic_nav_passes.xml create mode 100644 app/src/main/res/drawable/ic_nav_satellites.xml create mode 100644 app/src/main/res/drawable/ic_nav_settings.xml create mode 100644 app/src/main/res/menu/nav_menu.xml create mode 100644 app/src/main/res/values/dimens.xml diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/Look4SatActivity.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/Look4SatActivity.kt index 8d4ed819..2d8bc996 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/Look4SatActivity.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/Look4SatActivity.kt @@ -22,6 +22,9 @@ import android.content.pm.ActivityInfo import android.os.Bundle 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 @@ -33,6 +36,9 @@ class Look4SatActivity : AppCompatActivity() { requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT super.onCreate(savedInstanceState) installSplashScreen() - setContentView(ActivityMainBinding.inflate(layoutInflater).root) + val binding = ActivityMainBinding.inflate(layoutInflater) + setContentView(binding.root) + val navHost = supportFragmentManager.findFragmentById(R.id.main_nav_host) as NavHostFragment + binding.mainNavBottom.setupWithNavController(navHost.navController) } } diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesFragment.kt index 8b64ae3d..96b1449b 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/entriesScreen/EntriesFragment.kt @@ -63,7 +63,7 @@ class EntriesFragment : Fragment(R.layout.fragment_entries) { viewModel.satData.observe(viewLifecycleOwner, { satData -> handleSatData(satData, binding, entriesAdapter) }) - getNavResult>(R.id.nav_entries, "sources") { sources -> + getNavResult>(R.id.nav_satellites, "sources") { sources -> viewModel.updateDataFromWeb(sources) } } 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 1c7f8681..249ef554 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 @@ -79,8 +79,8 @@ class PassesFragment : Fragment(R.layout.fragment_passes), PassesAdapter.PassesC setOnRefreshListener { passesViewModel.forceCalculation() } } passesFilter.setOnClickListener { findNavController().navigate(R.id.nav_pass_prefs) } - passesSettings.setOnClickListener { findNavController().navigate(R.id.nav_prefs) } - passesFab.setOnClickListener { findNavController().navigate(R.id.nav_entries) } + passesSettings.setOnClickListener { findNavController().navigate(R.id.nav_settings) } + passesFab.setOnClickListener { findNavController().navigate(R.id.nav_satellites) } } passesViewModel.passes.observe(viewLifecycleOwner, { passesResult -> handleNewPasses(passesResult, passesAdapter, binding) diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt index a62f369f..b56349e1 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt @@ -133,8 +133,7 @@ class RadarFragment : Fragment(R.layout.fragment_radar) { binding.radarTimer.text = millisBeforeEnd.toTimerString() if (timeNow > satPass.losTime) { binding.radarTimer.text = 0L.toTimerString() -// findNavController().navigateSafe(R.id.action_radar_to_passes) - findNavController().popBackStack(R.id.nav_passes, true) + findNavController().navigateUp() } } } else { diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/settingsScreen/SettingsFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/settingsScreen/SettingsFragment.kt index e4975ec8..cf1c3a5b 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/settingsScreen/SettingsFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/settingsScreen/SettingsFragment.kt @@ -132,7 +132,7 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) { binding.prefsData.updateBtnWeb.setOnClickListener { findNavController().navigateSafe(R.id.action_prefs_to_sources) } - getNavResult>(R.id.nav_prefs, "sources") { sources -> + getNavResult>(R.id.nav_settings, "sources") { sources -> lifecycleScope.launchWhenResumed { dataRepository.updateDataFromWeb(sources) } } } diff --git a/app/src/main/res/drawable/ic_nav_map.xml b/app/src/main/res/drawable/ic_nav_map.xml new file mode 100644 index 00000000..e5ce2807 --- /dev/null +++ b/app/src/main/res/drawable/ic_nav_map.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_nav_passes.xml b/app/src/main/res/drawable/ic_nav_passes.xml new file mode 100644 index 00000000..4d11d334 --- /dev/null +++ b/app/src/main/res/drawable/ic_nav_passes.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_nav_satellites.xml b/app/src/main/res/drawable/ic_nav_satellites.xml new file mode 100644 index 00000000..f4153d46 --- /dev/null +++ b/app/src/main/res/drawable/ic_nav_satellites.xml @@ -0,0 +1,14 @@ + + + + diff --git a/app/src/main/res/drawable/ic_nav_settings.xml b/app/src/main/res/drawable/ic_nav_settings.xml new file mode 100644 index 00000000..9e35f67f --- /dev/null +++ b/app/src/main/res/drawable/ic_nav_settings.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 0274daed..9665de75 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,9 +1,33 @@ - + android:layout_height="match_parent"> + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/nav_menu.xml b/app/src/main/res/menu/nav_menu.xml new file mode 100644 index 00000000..d695c43d --- /dev/null +++ b/app/src/main/res/menu/nav_menu.xml @@ -0,0 +1,19 @@ + + + + + + + \ 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 1d28eec1..3d1f3c3f 100644 --- a/app/src/main/res/navigation/nav_graph.xml +++ b/app/src/main/res/navigation/nav_graph.xml @@ -5,7 +5,7 @@ android:id="@+id/nav_root" app:startDestination="@id/nav_passes"> @@ -15,13 +15,13 @@ tools:layout="@layout/fragment_passes"> + app:destination="@id/nav_satellites" /> + app:destination="@id/nav_settings" /> @@ -44,7 +44,7 @@ android:name="com.rtbishop.look4sat.presentation.mapScreen.MapFragment" tools:layout="@layout/fragment_map" /> Отмена Принять + Спутники + Пролеты + Радар + Карта + Настройки + Управление TLE URL источника Только протокол HTTPS diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml new file mode 100644 index 00000000..bc49b13f --- /dev/null +++ b/app/src/main/res/values/dimens.xml @@ -0,0 +1,6 @@ + + + 48dp + 12sp + 12sp + \ 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 dcf2496c..a5ca82e2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -7,6 +7,12 @@ Cancel Accept + Satellites + Passes + Radar + World Map + Settings + Manage TLE sources Source URL Protocol HTTPS only diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index addce1a7..37601c42 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -53,7 +53,7 @@