mirror of
https://github.com/rt-bishop/Look4Sat.git
synced 2026-10-04 11:57:21 +00:00
Added second recycler for current passes. FAB now initiates passes recalculation. Minor fixes.
This commit is contained in:
1 parent
cc6e486574
commit
1f2832d13e
10 files changed
+59
-69
No files matched your search
@@ -20,7 +20,6 @@ import androidx.drawerlayout.widget.DrawerLayout
|
||||
import androidx.lifecycle.Observer
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.navigation.findNavController
|
||||
import androidx.navigation.ui.AppBarConfiguration
|
||||
import androidx.navigation.ui.navigateUp
|
||||
import androidx.navigation.ui.setupActionBarWithNavController
|
||||
import androidx.navigation.ui.setupWithNavController
|
||||
@@ -37,7 +36,7 @@ class MainActivity : AppCompatActivity() {
|
||||
private val permGranted = PackageManager.PERMISSION_GRANTED
|
||||
private val githubUrl = "https://github.com/rt-bishop/LookingSat"
|
||||
|
||||
private lateinit var appBarConfig: AppBarConfiguration
|
||||
private lateinit var drawerLayout: DrawerLayout
|
||||
private lateinit var viewModel: MainViewModel
|
||||
private lateinit var timerLayout: ConstraintLayout
|
||||
private lateinit var timeToAos: TextView
|
||||
@@ -66,7 +65,7 @@ class MainActivity : AppCompatActivity() {
|
||||
val toolbar: Toolbar = findViewById(R.id.toolbar)
|
||||
setSupportActionBar(toolbar)
|
||||
|
||||
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
|
||||
drawerLayout = findViewById(R.id.drawer_layout)
|
||||
val navView: NavigationView = findViewById(R.id.nav_view)
|
||||
val header = navView.getHeaderView(0)
|
||||
|
||||
@@ -81,13 +80,12 @@ class MainActivity : AppCompatActivity() {
|
||||
drawerBtnExit = header.findViewById(R.id.drawer_btn_exit)
|
||||
|
||||
val navController = findNavController(R.id.nav_host)
|
||||
appBarConfig = AppBarConfiguration(setOf(R.id.nav_sky, R.id.nav_single_sat), drawerLayout)
|
||||
setupActionBarWithNavController(navController, appBarConfig)
|
||||
setupActionBarWithNavController(navController, drawerLayout)
|
||||
navView.setupWithNavController(navController)
|
||||
|
||||
navController.addOnDestinationChangedListener { _, destination, _ ->
|
||||
when (destination.id) {
|
||||
R.id.nav_sky, R.id.nav_single_sat -> {
|
||||
R.id.nav_sky -> {
|
||||
this.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
|
||||
toolbar.visibility = View.VISIBLE
|
||||
timerLayout.visibility = View.VISIBLE
|
||||
@@ -175,6 +173,6 @@ class MainActivity : AppCompatActivity() {
|
||||
|
||||
override fun onSupportNavigateUp(): Boolean {
|
||||
val navController = findNavController(R.id.nav_host)
|
||||
return navController.navigateUp(appBarConfig) || super.onSupportNavigateUp()
|
||||
return navController.navigateUp(drawerLayout) || super.onSupportNavigateUp()
|
||||
}
|
||||
}
|
||||
@@ -23,18 +23,18 @@ import kotlinx.coroutines.launch
|
||||
class SkyFragment : Fragment() {
|
||||
|
||||
private lateinit var viewModel: MainViewModel
|
||||
private lateinit var recView: RecyclerView
|
||||
private lateinit var recAdapter: RecyclerView.Adapter<*>
|
||||
private lateinit var btnRefresh: ImageButton
|
||||
private lateinit var recViewCurrent: RecyclerView
|
||||
private lateinit var recViewFuture: RecyclerView
|
||||
private lateinit var recAdapterCurrent: RecyclerView.Adapter<*>
|
||||
private lateinit var recAdapterFuture: RecyclerView.Adapter<*>
|
||||
private lateinit var btnPassPrefs: ImageButton
|
||||
private lateinit var progressBar: ProgressBar
|
||||
private lateinit var fab: FloatingActionButton
|
||||
|
||||
private var satPassList: List<SatPass> = emptyList()
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
|
||||
): View? {
|
||||
return inflater.inflate(R.layout.fragment_sky, container, false)
|
||||
}
|
||||
@@ -42,27 +42,12 @@ class SkyFragment : Fragment() {
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
viewModel = ViewModelProvider(activity as MainActivity).get(MainViewModel::class.java)
|
||||
btnRefresh = (activity as MainActivity).findViewById(R.id.toolbar_btn_refresh)
|
||||
btnPassPrefs = (activity as MainActivity).findViewById(R.id.toolbar_btn_refresh)
|
||||
progressBar = view.findViewById(R.id.sky_progressbar)
|
||||
recView = view.findViewById(R.id.sky_recycler)
|
||||
recViewFuture = view.findViewById(R.id.sky_recycler_future)
|
||||
fab = view.findViewById(R.id.sky_fab)
|
||||
|
||||
recView.layoutManager = LinearLayoutManager(activity)
|
||||
recView.setHasFixedSize(true)
|
||||
|
||||
btnRefresh.setOnClickListener {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
recView.visibility = View.INVISIBLE
|
||||
progressBar.visibility = View.VISIBLE
|
||||
progressBar.isIndeterminate = true
|
||||
satPassList = viewModel.getPassesForSelectedSatellites()
|
||||
recAdapter = SatPassAdapter(satPassList)
|
||||
recView.adapter = recAdapter
|
||||
progressBar.isIndeterminate = false
|
||||
progressBar.visibility = View.INVISIBLE
|
||||
recView.visibility = View.VISIBLE
|
||||
}
|
||||
}
|
||||
recViewFuture.layoutManager = LinearLayoutManager(activity)
|
||||
|
||||
fab.setOnClickListener { showSelectSatDialog() }
|
||||
}
|
||||
@@ -95,10 +80,12 @@ class SkyFragment : Fragment() {
|
||||
.setPositiveButton("Ok") { _, _ ->
|
||||
for ((tle, value) in selectionMap) {
|
||||
tleSelectedMap[tle] = value
|
||||
calculatePasses()
|
||||
}
|
||||
}
|
||||
.setNeutralButton("Clear All") { _, _ ->
|
||||
tleSelectedMap.clear()
|
||||
calculatePasses()
|
||||
}
|
||||
.setNegativeButton("Cancel") { dialog, _ ->
|
||||
dialog.cancel()
|
||||
@@ -106,4 +93,18 @@ class SkyFragment : Fragment() {
|
||||
.create()
|
||||
.show()
|
||||
}
|
||||
|
||||
private fun calculatePasses() {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
recViewFuture.visibility = View.INVISIBLE
|
||||
progressBar.visibility = View.VISIBLE
|
||||
progressBar.isIndeterminate = true
|
||||
satPassList = viewModel.getPassesForSelectedSatellites()
|
||||
recAdapterFuture = SatPassAdapter(satPassList)
|
||||
recViewFuture.adapter = recAdapterFuture
|
||||
progressBar.isIndeterminate = false
|
||||
progressBar.visibility = View.INVISIBLE
|
||||
recViewFuture.visibility = View.VISIBLE
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user