parent
9585f9a1a6
commit
6da350aee6
@ -0,0 +1,37 @@
|
|||||||
|
package eu.kanade.tachiyomi.widget.preference
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.util.AttributeSet
|
||||||
|
import androidx.preference.Preference
|
||||||
|
import androidx.preference.PreferenceViewHolder
|
||||||
|
import eu.kanade.tachiyomi.R
|
||||||
|
import eu.kanade.tachiyomi.util.view.gone
|
||||||
|
import eu.kanade.tachiyomi.util.view.visible
|
||||||
|
import kotlinx.android.synthetic.main.pref_badge.view.badge
|
||||||
|
|
||||||
|
class BadgePreference @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
|
||||||
|
Preference(context, attrs) {
|
||||||
|
|
||||||
|
private var badgeNumber: Int = 0
|
||||||
|
|
||||||
|
init {
|
||||||
|
widgetLayoutResource = R.layout.pref_badge
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onBindViewHolder(holder: PreferenceViewHolder) {
|
||||||
|
super.onBindViewHolder(holder)
|
||||||
|
|
||||||
|
if (badgeNumber > 0) {
|
||||||
|
holder.itemView.badge.text = badgeNumber.toString()
|
||||||
|
holder.itemView.badge.visible()
|
||||||
|
} else {
|
||||||
|
holder.itemView.badge.text = null
|
||||||
|
holder.itemView.badge.gone()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun setBadge(number: Int) {
|
||||||
|
this.badgeNumber = number
|
||||||
|
notifyChanged()
|
||||||
|
}
|
||||||
|
}
|
@ -1,37 +0,0 @@
|
|||||||
package eu.kanade.tachiyomi.widget.preference
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.util.AttributeSet
|
|
||||||
import androidx.preference.Preference
|
|
||||||
import androidx.preference.PreferenceViewHolder
|
|
||||||
import eu.kanade.tachiyomi.R
|
|
||||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
|
||||||
import eu.kanade.tachiyomi.data.preference.getOrDefault
|
|
||||||
import eu.kanade.tachiyomi.util.view.gone
|
|
||||||
import eu.kanade.tachiyomi.util.view.visible
|
|
||||||
import kotlinx.android.synthetic.main.preference_update_text.view.*
|
|
||||||
import uy.kohesive.injekt.Injekt
|
|
||||||
import uy.kohesive.injekt.api.get
|
|
||||||
|
|
||||||
class ExtensionPreference @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
|
|
||||||
Preference(context, attrs) {
|
|
||||||
|
|
||||||
init {
|
|
||||||
widgetLayoutResource = R.layout.preference_update_text
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onBindViewHolder(holder: PreferenceViewHolder) {
|
|
||||||
super.onBindViewHolder(holder)
|
|
||||||
|
|
||||||
val extUpdateText = holder.itemView.textView
|
|
||||||
|
|
||||||
val updates = Injekt.get<PreferencesHelper>().extensionUpdatesCount().getOrDefault()
|
|
||||||
if (updates > 0) {
|
|
||||||
extUpdateText.text = updates.toString()
|
|
||||||
extUpdateText.visible()
|
|
||||||
} else {
|
|
||||||
extUpdateText.text = null
|
|
||||||
extUpdateText.gone()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,17 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
|
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@+id/textView"
|
android:id="@+id/badge"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center"
|
|
||||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Caption"
|
|
||||||
android:background="@drawable/round_textview_background"
|
android:background="@drawable/round_textview_background"
|
||||||
android:textColor="#FFFFFF"
|
android:gravity="center"
|
||||||
android:layout_marginTop="12dp"
|
android:padding="3dp"
|
||||||
android:layout_marginBottom="12dp"
|
android:textAppearance="@style/TextAppearance.MaterialComponents.Badge"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
tools:text="3"
|
tools:text="3" />
|
||||||
android:layout_marginStart="12dp"
|
|
||||||
android:paddingStart="3dp"
|
|
||||||
android:paddingEnd="3dp"/>
|
|
Loading…
Reference in new issue