Temporarily restored BottomNavigationBar

This commit is contained in:
Arty Bishop committed 2022-01-10 22:15:21 +00:00
1 parent 82032109dd
commit f559c60154
16 files changed
+125 -18

No files matched your search

@@ -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)
}
}
@@ -63,7 +63,7 @@ class EntriesFragment : Fragment(R.layout.fragment_entries) {
viewModel.satData.observe(viewLifecycleOwner, { satData ->
handleSatData(satData, binding, entriesAdapter)
})
getNavResult<List<String>>(R.id.nav_entries, "sources") { sources ->
getNavResult<List<String>>(R.id.nav_satellites, "sources") { sources ->
viewModel.updateDataFromWeb(sources)
}
}
@@ -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)
@@ -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 {
@@ -132,7 +132,7 @@ class SettingsFragment : Fragment(R.layout.fragment_settings) {
binding.prefsData.updateBtnWeb.setOnClickListener {
findNavController().navigateSafe(R.id.action_prefs_to_sources)
}
getNavResult<List<String>>(R.id.nav_prefs, "sources") { sources ->
getNavResult<List<String>>(R.id.nav_settings, "sources") { sources ->
lifecycleScope.launchWhenResumed { dataRepository.updateDataFromWeb(sources) }
}
}
+9
View File
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@color/themeLight"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM11,19.93c-3.95,-0.49 -7,-3.85 -7,-7.93 0,-0.62 0.08,-1.21 0.21,-1.79L9,15v1c0,1.1 0.9,2 2,2v1.93zM17.9,17.39c-0.26,-0.81 -1,-1.39 -1.9,-1.39h-1v-3c0,-0.55 -0.45,-1 -1,-1L8,12v-2h2c0.55,0 1,-0.45 1,-1L11,7h2c1.1,0 2,-0.9 2,-2v-0.41c2.93,1.19 5,4.06 5,7.41 0,2.08 -0.8,3.97 -2.1,5.39z" />
</vector>
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@color/themeLight"
android:pathData="M2,21h19v-3H2v3zM20,8H3c-0.55,0 -1,0.45 -1,1v6c0,0.55 0.45,1 1,1h17c0.55,0 1,-0.45 1,-1V9c0,-0.55 -0.45,-1 -1,-1zM2,3v3h19V3H2z" />
</vector>
@@ -0,0 +1,14 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:width="24dp"
android:height="24dp"
android:viewportWidth="128"
android:viewportHeight="128">
<path
android:fillColor="@color/themeLight"
android:pathData="m96.642,31.504c7.911,7.997 17.143,13.584 25.365,15.581l1.754,-3.997C123.78,43.048 123.786,43.005 123.802,42.965 125.834,38.995 127,34.495 127,29.715 127,13.881 114.379,1 98.867,1c-5.125,0 -9.92,1.429 -14.064,3.884l-3.398,1.598c0.08,0.306 0.133,0.599 0.221,0.91 2.32,8.104 7.652,16.667 15.016,24.112z" />
<path
android:fillColor="@color/themeLight"
android:pathData="M93.876,34.3C86.053,26.391 80.369,17.225 77.87,8.49 77.84,8.385 77.818,8.285 77.788,8.181L2.629,43.513c-1.404,0.66 -2.019,2.358 -1.372,3.791 0.472,1.046 1.485,1.663 2.545,1.663 0.392,0 0.79,-0.084 1.169,-0.263L74.045,16.235c-1.873,3.578 -2.997,7.611 -3.228,11.885L35.566,51.732c-1.294,0.866 -1.653,2.638 -0.805,3.957 0.538,0.836 1.431,1.29 2.344,1.29 0.526,0 1.06,-0.151 1.533,-0.469L71.189,34.707c1.4,8.11 6.135,15.044 12.715,19.285l-54.945,68.337c-0.981,1.22 -0.808,3.021 0.388,4.023 0.521,0.437 1.149,0.649 1.775,0.649 0.809,0 1.611,-0.357 2.166,-1.045L89.056,56.595c3.06,1.168 6.357,1.838 9.811,1.838 4.932,0 9.566,-1.312 13.601,-3.597L84.602,118.323c-0.633,1.44 0,3.131 1.41,3.777 0.372,0.17 0.76,0.25 1.144,0.25 1.07,0 2.092,-0.629 2.556,-1.691L120.402,50.739C111.642,48.416 102.042,42.555 93.876,34.3Z"
tools:ignore="VectorPath" />
</vector>
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@color/themeLight"
android:pathData="M19.1,12.9a2.8,2.8 0,0 0,0.1 -0.9,2.8 2.8,0 0,0 -0.1,-0.9l2.1,-1.6a0.7,0.7 0,0 0,0.1 -0.6L19.4,5.5a0.7,0.7 0,0 0,-0.6 -0.2l-2.4,1a6.5,6.5 0,0 0,-1.6 -0.9l-0.4,-2.6a0.5,0.5 0,0 0,-0.5 -0.4H10.1a0.5,0.5 0,0 0,-0.5 0.4L9.3,5.4a5.6,5.6 0,0 0,-1.7 0.9l-2.4,-1a0.4,0.4 0,0 0,-0.5 0.2l-2,3.4c-0.1,0.2 0,0.4 0.2,0.6l2,1.6a2.8,2.8 0,0 0,-0.1 0.9,2.8 2.8,0 0,0 0.1,0.9L2.8,14.5a0.7,0.7 0,0 0,-0.1 0.6l1.9,3.4a0.7,0.7 0,0 0,0.6 0.2l2.4,-1a6.5,6.5 0,0 0,1.6 0.9l0.4,2.6a0.5,0.5 0,0 0,0.5 0.4h3.8a0.5,0.5 0,0 0,0.5 -0.4l0.3,-2.6a5.6,5.6 0,0 0,1.7 -0.9l2.4,1a0.4,0.4 0,0 0,0.5 -0.2l2,-3.4c0.1,-0.2 0,-0.4 -0.2,-0.6ZM12,15.6A3.6,3.6 0,1 1,15.6 12,3.6 3.6,0 0,1 12,15.6Z" />
</vector>
+30 -6
View File
@@ -1,9 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.fragment.app.FragmentContainerView xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/nav_host"
android:name="androidx.navigation.fragment.NavHostFragment"
android:id="@+id/main_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:navGraph="@navigation/nav_graph" />
android:layout_height="match_parent">
<androidx.fragment.app.FragmentContainerView
android:id="@+id/main_nav_host"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="0dp"
app:defaultNavHost="true"
app:layout_constraintBottom_toTopOf="@+id/main_nav_bottom"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/nav_graph" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/main_nav_bottom"
android:layout_width="match_parent"
android:layout_height="48dp"
android:elevation="8dp"
android:visibility="visible"
app:itemBackground="@color/surfaceToolbar"
app:labelVisibilityMode="labeled"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:menu="@menu/nav_menu" />
</androidx.constraintlayout.widget.ConstraintLayout>
+19
View File
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/nav_satellites"
android:icon="@drawable/ic_nav_satellites"
android:title="@string/menu_satellites" />
<item
android:id="@+id/nav_passes"
android:icon="@drawable/ic_nav_passes"
android:title="@string/menu_passes" />
<item
android:id="@+id/nav_map"
android:icon="@drawable/ic_nav_map"
android:title="@string/menu_map" />
<item
android:id="@+id/nav_settings"
android:icon="@drawable/ic_nav_settings"
android:title="@string/menu_settings" />
</menu>
+4 -4
View File
@@ -5,7 +5,7 @@
android:id="@+id/nav_root"
app:startDestination="@id/nav_passes">
<fragment
android:id="@+id/nav_entries"
android:id="@+id/nav_satellites"
android:name="com.rtbishop.look4sat.presentation.entriesScreen.EntriesFragment"
tools:layout="@layout/fragment_entries">
</fragment>
@@ -15,13 +15,13 @@
tools:layout="@layout/fragment_passes">
<action
android:id="@+id/action_passes_to_entries"
app:destination="@id/nav_entries" />
app:destination="@id/nav_satellites" />
<action
android:id="@+id/action_passes_to_pass_prefs"
app:destination="@id/nav_pass_prefs" />
<action
android:id="@+id/action_passes_to_prefs"
app:destination="@id/nav_prefs" />
app:destination="@id/nav_settings" />
<action
android:id="@+id/action_passes_to_radar"
app:destination="@id/nav_radar" />
@@ -44,7 +44,7 @@
android:name="com.rtbishop.look4sat.presentation.mapScreen.MapFragment"
tools:layout="@layout/fragment_map" />
<fragment
android:id="@+id/nav_prefs"
android:id="@+id/nav_settings"
android:name="com.rtbishop.look4sat.presentation.settingsScreen.SettingsFragment"
tools:layout="@layout/fragment_settings">
<action
+6
View File
@@ -5,6 +5,12 @@
<string name="btn_cancel">Отмена</string>
<string name="btn_accept">Принять</string>
<string name="menu_satellites">Спутники</string>
<string name="menu_passes">Пролеты</string>
<string name="menu_radar">Радар</string>
<string name="menu_map">Карта</string>
<string name="menu_settings">Настройки</string>
<string name="sources_title">Управление TLE</string>
<string name="sources_hint">URL источника</string>
<string name="sources_https">Только протокол HTTPS</string>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<dimen name="fab_padding">48dp</dimen>
<dimen name="design_bottom_navigation_text_size" tools:override="true">12sp</dimen>
<dimen name="design_bottom_navigation_active_text_size" tools:override="true">12sp</dimen>
</resources>
+6
View File
@@ -7,6 +7,12 @@
<string name="btn_cancel">Cancel</string>
<string name="btn_accept">Accept</string>
<string name="menu_satellites">Satellites</string>
<string name="menu_passes">Passes</string>
<string name="menu_radar">Radar</string>
<string name="menu_map">World Map</string>
<string name="menu_settings">Settings</string>
<string name="sources_title">Manage TLE sources</string>
<string name="sources_hint">Source URL</string>
<string name="sources_https">Protocol HTTPS only</string>
+1 -1
View File
@@ -53,7 +53,7 @@
<style name="Toolbar">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">?actionBarSize</item>
<item name="android:layout_height">48dp</item>
<item name="android:elevation">8dp</item>
<item name="cardBackgroundColor">@color/surfaceToolbar</item>
<item name="cardCornerRadius">0dp</item>