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,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="13dp"/>
|
||||
<corners android:radius="13dp" />
|
||||
<size
|
||||
android:height="25dp"
|
||||
android:width="25dp" />
|
||||
<solid android:color="@color/material_red_900"/>
|
||||
</shape>
|
||||
android:width="25dp"
|
||||
android:height="25dp" />
|
||||
<solid android:color="?attr/colorError" />
|
||||
</shape>
|
||||
|
@ -1,17 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/textView"
|
||||
android:id="@+id/badge"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Caption"
|
||||
android:background="@drawable/round_textview_background"
|
||||
android:textColor="#FFFFFF"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_marginBottom="12dp"
|
||||
android:gravity="center"
|
||||
android:padding="3dp"
|
||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Badge"
|
||||
android:textStyle="bold"
|
||||
tools:text="3"
|
||||
android:layout_marginStart="12dp"
|
||||
android:paddingStart="3dp"
|
||||
android:paddingEnd="3dp"/>
|
||||
tools:text="3" />
|
Loading…
Reference in new issue