From cdbc18e54d021964d7b82c23f3e5a6fee49a81b2 Mon Sep 17 00:00:00 2001 From: Uwe Trottmann Date: Fri, 17 Nov 2023 10:31:14 +0100 Subject: [PATCH 1/4] Add dialog: buttons on top, horizontal. --- .../search/discover/AddShowDialogFragment.kt | 7 +- .../seriesguide/streaming/StreamingSearch.kt | 14 +- app/src/main/res/layout/dialog_addshow.xml | 141 +++++++++--------- app/src/main/res/values/styles.xml | 12 +- 4 files changed, 88 insertions(+), 86 deletions(-) diff --git a/app/src/main/java/com/battlelancer/seriesguide/shows/search/discover/AddShowDialogFragment.kt b/app/src/main/java/com/battlelancer/seriesguide/shows/search/discover/AddShowDialogFragment.kt index 908e483f48..17632419eb 100644 --- a/app/src/main/java/com/battlelancer/seriesguide/shows/search/discover/AddShowDialogFragment.kt +++ b/app/src/main/java/com/battlelancer/seriesguide/shows/search/discover/AddShowDialogFragment.kt @@ -98,7 +98,6 @@ class AddShowDialogFragment : AppCompatDialogFragment() { StreamingSearch.initButtons( buttonAddStreamingSearch, buttonAddStreamingSearchInfo, parentFragmentManager ) - textViewAddStreamingSearch.isGone = true buttonNegative.apply { setText(R.string.dismiss) setOnClickListener { dismiss() } @@ -166,11 +165,7 @@ class AddShowDialogFragment : AppCompatDialogFragment() { } model.watchProvider.observe(this) { watchInfo -> this.binding?.buttonAddStreamingSearch?.let { - val providerInfo = StreamingSearch.configureButton(it, watchInfo, false) - this.binding?.textViewAddStreamingSearch?.apply { - text = providerInfo - isGone = providerInfo == null - } + StreamingSearch.configureButton(it, watchInfo, true) } } } diff --git a/app/src/main/java/com/battlelancer/seriesguide/streaming/StreamingSearch.kt b/app/src/main/java/com/battlelancer/seriesguide/streaming/StreamingSearch.kt index 4c81d725db..4a681bb674 100644 --- a/app/src/main/java/com/battlelancer/seriesguide/streaming/StreamingSearch.kt +++ b/app/src/main/java/com/battlelancer/seriesguide/streaming/StreamingSearch.kt @@ -219,13 +219,17 @@ object StreamingSearch { } } + /** + * Set [replaceButtonText] to instead of appending on a new line replace button text with + * watch provider info. + */ @SuppressLint("SetTextI18n") @JvmStatic fun configureButton( button: Button, watchInfo: TmdbTools2.WatchInfo, - addToButtonText: Boolean = true - ): String? { + replaceButtonText: Boolean = false + ) { val context = button.context val urlOrNull = watchInfo.url if (urlOrNull != null) { @@ -240,14 +244,14 @@ object StreamingSearch { " + " + context.getString(R.string.more, watchInfo.countMore) } else "" val providerText = (providerOrNull.provider_name ?: "") + moreText - if (addToButtonText) { + if (replaceButtonText) { + button.text = providerText + } else { button.text = context.getString(R.string.action_stream) + "\n" + providerText } - providerText } else { button.setText(R.string.action_stream) - null } } diff --git a/app/src/main/res/layout/dialog_addshow.xml b/app/src/main/res/layout/dialog_addshow.xml index cf1b40d7dc..405751a4be 100644 --- a/app/src/main/res/layout/dialog_addshow.xml +++ b/app/src/main/res/layout/dialog_addshow.xml @@ -80,27 +80,82 @@ -