DispenserFragment: Show info if no dispensers are available
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -36,7 +36,7 @@ class DispenserFragment : Fragment(R.layout.fragment_dispenser),
|
|||||||
findNavController().navigate(R.id.inputDispenserDialog)
|
findNavController().navigate(R.id.inputDispenserDialog)
|
||||||
}
|
}
|
||||||
|
|
||||||
setupRecyclerView()
|
setupDispensers()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
override fun onDestroyView() {
|
||||||
@@ -46,26 +46,34 @@ class DispenserFragment : Fragment(R.layout.fragment_dispenser),
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
|
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
|
||||||
if (key == PREFERENCE_DISPENSER_URLS) setupRecyclerView()
|
if (key == PREFERENCE_DISPENSER_URLS) setupDispensers()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupRecyclerView() {
|
private fun setupDispensers() {
|
||||||
binding.epoxyRecycler.withModels {
|
if (dispensers.isNotEmpty()) {
|
||||||
setFilterDuplicates(true)
|
binding.noDispensersTextView.visibility = View.GONE
|
||||||
dispensers.forEachIndexed { index, url ->
|
|
||||||
add(
|
binding.epoxyRecycler.visibility = View.VISIBLE
|
||||||
DispenserViewModel_()
|
binding.epoxyRecycler.withModels {
|
||||||
.id(index)
|
setFilterDuplicates(true)
|
||||||
.url(url)
|
dispensers.forEachIndexed { index, url ->
|
||||||
.copy { _ -> requireContext().copyToClipBoard(url) }
|
add(
|
||||||
.clear { _ ->
|
DispenserViewModel_()
|
||||||
findNavController().navigate(
|
.id(index)
|
||||||
DispenserFragmentDirections
|
.url(url)
|
||||||
.actionDispenserFragmentToRemoveDispenserDialog(url)
|
.copy { _ -> requireContext().copyToClipBoard(url) }
|
||||||
)
|
.clear { _ ->
|
||||||
}
|
findNavController().navigate(
|
||||||
)
|
DispenserFragmentDirections
|
||||||
|
.actionDispenserFragmentToRemoveDispenserDialog(url)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
binding.epoxyRecycler.visibility = View.GONE
|
||||||
|
binding.noDispensersTextView.visibility = View.VISIBLE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,18 @@
|
|||||||
app:navigationIcon="@drawable/ic_arrow_back"
|
app:navigationIcon="@drawable/ic_arrow_back"
|
||||||
app:title="@string/pref_dispenser_title" />
|
app:title="@string/pref_dispenser_title" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/no_dispensers_text_view"
|
||||||
|
style="@style/AuroraTextStyle.Subtitle"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/no_dispensers_available"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/toolbar" />
|
||||||
|
|
||||||
<com.airbnb.epoxy.EpoxyRecyclerView
|
<com.airbnb.epoxy.EpoxyRecyclerView
|
||||||
android:id="@+id/epoxy_recycler"
|
android:id="@+id/epoxy_recycler"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|||||||
@@ -442,6 +442,7 @@
|
|||||||
<string name="pref_dispenser_summary">View and manage token dispensers for anonymous logins</string>
|
<string name="pref_dispenser_summary">View and manage token dispensers for anonymous logins</string>
|
||||||
|
|
||||||
<!-- DialogDispenserInput-->
|
<!-- DialogDispenserInput-->
|
||||||
|
<string name="no_dispensers_available">No dispensers available</string>
|
||||||
<string name="add_dispenser_title">Add dispenser</string>
|
<string name="add_dispenser_title">Add dispenser</string>
|
||||||
<string name="add_dispenser_summary">Add a token dispenser to Aurora Store. Token dispensers provide account credentials to Aurora Store for logging in anonymously.</string>
|
<string name="add_dispenser_summary">Add a token dispenser to Aurora Store. Token dispensers provide account credentials to Aurora Store for logging in anonymously.</string>
|
||||||
<string name="add_dispenser_error">Invalid URL</string>
|
<string name="add_dispenser_error">Invalid URL</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user