From 57abbd6eda351355b94f8f32bb30849cdfb054d8 Mon Sep 17 00:00:00 2001 From: Jays2Kings Date: Mon, 29 Mar 2021 02:14:47 -0400 Subject: [PATCH] Reader Spinner Binding + rename to MaterialSpinnerView (sorry arkon) --- .../ui/reader/PageIndicatorTextView.kt | 3 +-- .../MaterialSpinnerView.kt} | 17 ++++++++++------- app/src/main/res/layout/manga_list_item.xml | 2 +- ...preference.xml => material_spinner_view.xml} | 4 ++-- app/src/main/res/layout/reader_color_filter.xml | 9 +-------- .../main/res/layout/reader_general_layout.xml | 6 +++--- app/src/main/res/layout/reader_paged_layout.xml | 16 ++++++++-------- app/src/main/res/layout/recent_manga_item.xml | 2 +- 8 files changed, 27 insertions(+), 32 deletions(-) rename app/src/main/java/eu/kanade/tachiyomi/{ui/reader/settings/ReaderSpinnerView.kt => widget/MaterialSpinnerView.kt} (91%) rename app/src/main/res/layout/{reader_preference.xml => material_spinner_view.xml} (96%) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/PageIndicatorTextView.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/PageIndicatorTextView.kt index df6dca5e05..d3f4db747c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/PageIndicatorTextView.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/PageIndicatorTextView.kt @@ -7,7 +7,6 @@ import android.text.Spannable import android.text.SpannableString import android.text.style.ScaleXSpan import android.util.AttributeSet -import android.widget.TextView import androidx.appcompat.widget.AppCompatTextView import eu.kanade.tachiyomi.widget.OutlineSpan @@ -39,7 +38,7 @@ class PageIndicatorTextView( } } - super.setText(finalText, TextView.BufferType.SPANNABLE) + super.setText(finalText, BufferType.SPANNABLE) } private companion object { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/settings/ReaderSpinnerView.kt b/app/src/main/java/eu/kanade/tachiyomi/widget/MaterialSpinnerView.kt similarity index 91% rename from app/src/main/java/eu/kanade/tachiyomi/ui/reader/settings/ReaderSpinnerView.kt rename to app/src/main/java/eu/kanade/tachiyomi/widget/MaterialSpinnerView.kt index b70d4fbba6..271a965b31 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/settings/ReaderSpinnerView.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/widget/MaterialSpinnerView.kt @@ -1,8 +1,9 @@ -package eu.kanade.tachiyomi.ui.reader.settings +package eu.kanade.tachiyomi.widget import android.content.Context import android.util.AttributeSet import android.view.Gravity +import android.view.LayoutInflater import android.view.MenuItem import android.widget.FrameLayout import androidx.annotation.ArrayRes @@ -10,9 +11,9 @@ import androidx.appcompat.widget.PopupMenu import androidx.core.view.get import com.tfcporciuncula.flow.Preference import eu.kanade.tachiyomi.R -import kotlinx.android.synthetic.main.reader_preference.view.* +import eu.kanade.tachiyomi.databinding.MaterialSpinnerViewBinding -class ReaderSpinnerView @JvmOverloads constructor(context: Context, attrs: AttributeSet?) : +class MaterialSpinnerView @JvmOverloads constructor(context: Context, attrs: AttributeSet?) : FrameLayout(context, attrs) { private var entries = emptyList() @@ -33,17 +34,19 @@ class ReaderSpinnerView @JvmOverloads constructor(context: Context, attrs: Attri } } + private val binding = MaterialSpinnerViewBinding.inflate(LayoutInflater.from(context), this, false) + init { - inflate(context, R.layout.reader_preference, this) + addView(binding.root) val a = context.obtainStyledAttributes(attrs, R.styleable.ReaderSpinnerView, 0, 0) val str = a.getString(R.styleable.ReaderSpinnerView_title) ?: "" - title_view.text = str + binding.titleView.text = str val entries = (a.getTextArray(R.styleable.ReaderSpinnerView_android_entries) ?: emptyArray()).map { it.toString() } this.entries = entries - detail_view.text = entries.firstOrNull().orEmpty() + binding.detailView.text = entries.firstOrNull().orEmpty() a.recycle() } @@ -52,7 +55,7 @@ class ReaderSpinnerView @JvmOverloads constructor(context: Context, attrs: Attri popup?.menu?.get(selectedPosition)?.isCheckable = false popup?.menu?.get(selectedPosition)?.isChecked = false selectedPosition = selection - detail_view.text = entries.getOrNull(selection).orEmpty() + binding.detailView.text = entries.getOrNull(selection).orEmpty() popup?.menu?.get(selectedPosition)?.isCheckable = true popup?.menu?.get(selectedPosition)?.isChecked = true } diff --git a/app/src/main/res/layout/manga_list_item.xml b/app/src/main/res/layout/manga_list_item.xml index 3136cc2030..2816c24a7e 100644 --- a/app/src/main/res/layout/manga_list_item.xml +++ b/app/src/main/res/layout/manga_list_item.xml @@ -115,5 +115,5 @@ android:layout_width="0dp" android:layout_height="6dp" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintTop_toBottomOf="@+id/bottom_line" /> + app:layout_constraintTop_toBottomOf="@id/bottom_line" /> diff --git a/app/src/main/res/layout/reader_preference.xml b/app/src/main/res/layout/material_spinner_view.xml similarity index 96% rename from app/src/main/res/layout/reader_preference.xml rename to app/src/main/res/layout/material_spinner_view.xml index ea741c14d5..9793c2fde0 100644 --- a/app/src/main/res/layout/reader_preference.xml +++ b/app/src/main/res/layout/material_spinner_view.xml @@ -51,10 +51,10 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" app:barrierDirection="right" - app:constraint_referenced_ids="bottom_line,title_view" /> + app:constraint_referenced_ids="halfway_point,title_view" /> - - - \ No newline at end of file diff --git a/app/src/main/res/layout/reader_general_layout.xml b/app/src/main/res/layout/reader_general_layout.xml index fd1add65ee..44f68017e1 100644 --- a/app/src/main/res/layout/reader_general_layout.xml +++ b/app/src/main/res/layout/reader_general_layout.xml @@ -21,7 +21,7 @@ android:paddingTop="0dp" android:paddingEnd="@dimen/material_component_dialogs_padding_around_content_area"> - - - - - - - - - - - + app:layout_constraintTop_toBottomOf="@id/bottom_line" /> \ No newline at end of file