From fe29e013116cecb4bd610f2691cd2ef6e1566d02 Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Sun, 8 Aug 2021 18:06:25 -0600 Subject: [PATCH] loading: redesign ui Redesign the loading UI to be in line with the rest of Auxio and the upcoming Android 12 splash screen [sort of]. This also updates the header and button designs so that the layout heirarchy is better/more information dense. --- .../oxycblt/auxio/loading/LoadingFragment.kt | 37 ++++-- app/src/main/res/layout/fragment_loading.xml | 108 +++++++++++------- .../main/res/layout/item_artist_header.xml | 2 +- app/src/main/res/layout/view_fast_scroll.xml | 2 +- app/src/main/res/values-large/styles_ui.xml | 15 --- app/src/main/res/values/dimens.xml | 9 +- app/src/main/res/values/styles_android.xml | 2 +- app/src/main/res/values/styles_ui.xml | 11 +- 8 files changed, 101 insertions(+), 85 deletions(-) delete mode 100644 app/src/main/res/values-large/styles_ui.xml 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"> -