diff --git a/app/src/main/java/com/aurora/store/view/ui/dispenser/DispenserFragment.kt b/app/src/main/java/com/aurora/store/view/ui/dispenser/DispenserFragment.kt index 776685437..c0cbd87cb 100644 --- a/app/src/main/java/com/aurora/store/view/ui/dispenser/DispenserFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/dispenser/DispenserFragment.kt @@ -36,7 +36,7 @@ class DispenserFragment : Fragment(R.layout.fragment_dispenser), findNavController().navigate(R.id.inputDispenserDialog) } - setupRecyclerView() + setupDispensers() } override fun onDestroyView() { @@ -46,26 +46,34 @@ class DispenserFragment : Fragment(R.layout.fragment_dispenser), } override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) { - if (key == PREFERENCE_DISPENSER_URLS) setupRecyclerView() + if (key == PREFERENCE_DISPENSER_URLS) setupDispensers() } - private fun setupRecyclerView() { - binding.epoxyRecycler.withModels { - setFilterDuplicates(true) - dispensers.forEachIndexed { index, url -> - add( - DispenserViewModel_() - .id(index) - .url(url) - .copy { _ -> requireContext().copyToClipBoard(url) } - .clear { _ -> - findNavController().navigate( - DispenserFragmentDirections - .actionDispenserFragmentToRemoveDispenserDialog(url) - ) - } - ) + private fun setupDispensers() { + if (dispensers.isNotEmpty()) { + binding.noDispensersTextView.visibility = View.GONE + + binding.epoxyRecycler.visibility = View.VISIBLE + binding.epoxyRecycler.withModels { + setFilterDuplicates(true) + dispensers.forEachIndexed { index, url -> + add( + DispenserViewModel_() + .id(index) + .url(url) + .copy { _ -> requireContext().copyToClipBoard(url) } + .clear { _ -> + findNavController().navigate( + DispenserFragmentDirections + .actionDispenserFragmentToRemoveDispenserDialog(url) + ) + } + ) + } } + } else { + binding.epoxyRecycler.visibility = View.GONE + binding.noDispensersTextView.visibility = View.VISIBLE } } } diff --git a/app/src/main/res/layout/fragment_dispenser.xml b/app/src/main/res/layout/fragment_dispenser.xml index 802d69e9b..00fcff0ea 100644 --- a/app/src/main/res/layout/fragment_dispenser.xml +++ b/app/src/main/res/layout/fragment_dispenser.xml @@ -18,6 +18,18 @@ app:navigationIcon="@drawable/ic_arrow_back" app:title="@string/pref_dispenser_title" /> + + View and manage token dispensers for anonymous logins + No dispensers available Add dispenser Add a token dispenser to Aurora Store. Token dispensers provide account credentials to Aurora Store for logging in anonymously. Invalid URL