Added an empty list message to the Radar screen

This commit is contained in:
Arty Bishop committed 2022-03-01 18:49:32 +00:00
1 parent 20306ec83e
commit 3b761f9589
7 files changed
+40 -20

No files matched your search

@@ -141,12 +141,8 @@ class PassesFragment : Fragment(R.layout.fragment_passes), PassesAdapter.PassesC
tickMainTimer(state.data) tickMainTimer(state.data)
if (state.data.isNotEmpty()) { // show new passes list if (state.data.isNotEmpty()) { // show new passes list
passesEmpty.visibility = View.INVISIBLE passesEmpty.visibility = View.INVISIBLE
passesBtnRefresh.isEnabled = true
refreshAnimator?.cancel()
} else { // show no passes message } else { // show no passes message
passesEmpty.visibility = View.VISIBLE passesEmpty.visibility = View.VISIBLE
passesBtnRefresh.isEnabled = true
refreshAnimator?.cancel()
} }
} }
is DataState.Loading -> { is DataState.Loading -> {
@@ -175,6 +171,8 @@ class PassesFragment : Fragment(R.layout.fragment_passes), PassesAdapter.PassesC
} else { } else {
passesTimer.text = 0L.toTimerString() passesTimer.text = 0L.toTimerString()
} }
passesBtnRefresh.isEnabled = true
refreshAnimator?.cancel()
} }
} }
} }
@@ -89,9 +89,10 @@ class RadarFragment : Fragment(R.layout.fragment_radar) {
viewModel.transmitters.observe(viewLifecycleOwner) { list -> viewModel.transmitters.observe(viewLifecycleOwner) { list ->
if (list.isNotEmpty()) { if (list.isNotEmpty()) {
radioAdapter.submitList(list) radioAdapter.submitList(list)
radarEmptyMsg.text = getString(R.string.radio_data) radarProgress.visibility = View.INVISIBLE
} else { } else {
radarEmptyMsg.text = getString(R.string.radio_no_data) radarProgress.visibility = View.INVISIBLE
radarEmptyLayout.visibility = View.VISIBLE
} }
radarView?.invalidate() radarView?.invalidate()
} }
@@ -111,6 +111,7 @@ class RadarViewModel @Inject constructor(
private fun processTransmitters(pass: SatPass) { private fun processTransmitters(pass: SatPass) {
viewModelScope.launch { viewModelScope.launch {
delay(125)
val transmitters = repository.getRadiosWithId(pass.catNum) val transmitters = repository.getRadiosWithId(pass.catNum)
while (isActive) { while (isActive) {
val time = System.currentTimeMillis() val time = System.currentTimeMillis()
+1 -1
View File
@@ -77,7 +77,7 @@
android:layout_width="@dimen/button_width_max" android:layout_width="@dimen/button_width_max"
android:layout_marginEnd="@dimen/button_margin_side" android:layout_marginEnd="@dimen/button_margin_side"
android:layout_gravity="end|center_vertical" android:layout_gravity="end|center_vertical"
android:text="@string/btn_clear" /> android:text="@string/btn_clear_all" />
</com.google.android.material.bottomappbar.BottomAppBar> </com.google.android.material.bottomappbar.BottomAppBar>
+29 -10
View File
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:transitionGroup="true" android:transitionGroup="true"
@@ -144,19 +145,37 @@
<ProgressBar <ProgressBar
android:id="@+id/radar_progress" android:id="@+id/radar_progress"
style="@style/RecyclerProgress" style="@style/RecyclerProgress" />
android:visibility="invisible" />
<TextView <LinearLayout
android:id="@+id/radar_empty_msg" android:id="@+id/radar_empty_layout"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:gravity="center" android:orientation="vertical"
android:includeFontPadding="false" android:visibility="invisible"
android:text="@string/radio_no_data" tools:ignore="UseCompoundDrawables">
android:textSize="@dimen/text_size_medium"
android:visibility="invisible" /> <ImageView
android:id="@+id/radar_empty_img"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_gravity="center"
android:layout_marginBottom="24dp"
android:contentDescription="@string/radio_no_data"
android:src="@drawable/ic_modes" />
<TextView
android:id="@+id/radar_empty_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:includeFontPadding="false"
android:text="@string/radio_no_data"
android:textSize="@dimen/text_size_mediumLarge" />
</LinearLayout>
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
+1 -1
View File
@@ -90,7 +90,7 @@
<string name="radio_link_low">%.4f</string> <string name="radio_link_low">%.4f</string>
<string name="radio_link_lowHigh">%.4f - %.4f</string> <string name="radio_link_lowHigh">%.4f - %.4f</string>
<string name="radio_data">Трансиверы спутника:</string> <string name="radio_data">Трансиверы спутника:</string>
<string name="radio_no_data">Не найдены трансиверы для этого спутника</string> <string name="radio_no_data">У этого спутника нет трансиверов</string>
<string name="radio_string_yes">Да</string> <string name="radio_string_yes">Да</string>
<string name="radio_string_no">Нет</string> <string name="radio_string_no">Нет</string>
<string name="radio_downlink">Даунлинк</string> <string name="radio_downlink">Даунлинк</string>
+3 -2
View File
@@ -12,9 +12,10 @@
<string name="btn_cancel">Cancel</string> <string name="btn_cancel">Cancel</string>
<string name="btn_back">Back</string> <string name="btn_back">Back</string>
<string name="btn_modes">Modes</string> <string name="btn_modes">Modes</string>
<string name="btn_select">Select</string> <string name="btn_select">Select all</string>
<string name="btn_done">Done</string> <string name="btn_done">Done</string>
<string name="btn_clear">Clear</string> <string name="btn_clear">Clear</string>
<string name="btn_clear_all">Clear all</string>
<string name="btn_refresh">Refresh</string> <string name="btn_refresh">Refresh</string>
<string name="btn_map">Map</string> <string name="btn_map">Map</string>
<string name="btn_filter">Filter</string> <string name="btn_filter">Filter</string>
@@ -90,7 +91,7 @@
<string name="radio_link_low">%.4f</string> <string name="radio_link_low">%.4f</string>
<string name="radio_link_lowHigh">%.4f - %.4f</string> <string name="radio_link_lowHigh">%.4f - %.4f</string>
<string name="radio_data">Satellite transceivers:</string> <string name="radio_data">Satellite transceivers:</string>
<string name="radio_no_data">No transceivers found for this satellite</string> <string name="radio_no_data">This satellite has no transceivers</string>
<string name="radio_string_yes">Yes</string> <string name="radio_string_yes">Yes</string>
<string name="radio_string_no">No</string> <string name="radio_string_no">No</string>
<string name="radio_downlink">Downlink</string> <string name="radio_downlink">Downlink</string>