diff --git a/app/src/main/java/org/oxycblt/auxio/loading/LoadingFragment.kt b/app/src/main/java/org/oxycblt/auxio/loading/LoadingFragment.kt index 37bba7918..4e2eb89da 100644 --- a/app/src/main/java/org/oxycblt/auxio/loading/LoadingFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/loading/LoadingFragment.kt @@ -141,10 +141,9 @@ class LoadingFragment : Fragment() { */ private fun showLoading(binding: FragmentLoadingBinding) { binding.apply { - loadingErrorIcon.visibility = View.GONE - loadingErrorText.visibility = View.GONE - loadingRetryButton.visibility = View.GONE - loadingGrantButton.visibility = View.GONE + loadingErrorIcon.visibility = View.INVISIBLE + loadingErrorText.visibility = View.INVISIBLE + loadingActionButton.visibility = View.INVISIBLE loadingCircle.visibility = View.VISIBLE } } @@ -158,21 +157,37 @@ class LoadingFragment : Fragment() { binding.loadingCircle.visibility = View.GONE binding.loadingErrorIcon.visibility = View.VISIBLE binding.loadingErrorText.visibility = View.VISIBLE + binding.loadingActionButton.visibility = View.VISIBLE when (error) { MusicStore.Response.NO_MUSIC -> { - binding.loadingRetryButton.visibility = View.VISIBLE binding.loadingErrorText.text = getString(R.string.err_no_music) - } - - MusicStore.Response.NO_PERMS -> { - binding.loadingGrantButton.visibility = View.VISIBLE - binding.loadingErrorText.text = getString(R.string.err_no_perms) + binding.loadingActionButton.apply { + setText(R.string.lbl_retry) + setOnClickListener { + loadingModel.load(context) + } + } } MusicStore.Response.FAILED -> { - binding.loadingRetryButton.visibility = View.VISIBLE binding.loadingErrorText.text = getString(R.string.err_load_failed) + binding.loadingActionButton.apply { + setText(R.string.lbl_retry) + setOnClickListener { + loadingModel.load(context) + } + } + } + + MusicStore.Response.NO_PERMS -> { + binding.loadingErrorText.text = getString(R.string.err_no_perms) + binding.loadingActionButton.apply { + setText(R.string.lbl_grant) + setOnClickListener { + loadingModel.grant() + } + } } else -> {} diff --git a/app/src/main/res/layout/fragment_loading.xml b/app/src/main/res/layout/fragment_loading.xml index 0ec9cc8dc..24032b656 100644 --- a/app/src/main/res/layout/fragment_loading.xml +++ b/app/src/main/res/layout/fragment_loading.xml @@ -1,5 +1,6 @@ @@ -9,61 +10,80 @@ type="org.oxycblt.auxio.loading.LoadingViewModel" /> - + android:orientation="vertical"> - + + android:id="@+id/loading_splash" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:contentDescription="@string/desc_auxio_icon" + android:scaleType="fitCenter" + android:src="@drawable/ic_launcher_foreground" /> - + android:layout_margin="@dimen/spacing_large" + android:animateLayoutChanges="true" + android:layout_gravity="bottom" + android:fitsSystemWindows="true" + android:gravity="center" + android:orientation="vertical"> -