Update tracker services logo layout (closes #5625)

This commit is contained in:
arkon
2021-08-22 16:48:08 -04:00
parent 0f41e56a24
commit 7094fef37f
8 changed files with 100 additions and 48 deletions

View File

@@ -1,32 +0,0 @@
package eu.kanade.tachiyomi.widget.preference
import android.content.Context
import android.util.AttributeSet
import android.widget.ImageView
import androidx.preference.Preference
import androidx.preference.PreferenceViewHolder
import eu.kanade.tachiyomi.R
class LoginPreference @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
Preference(context, attrs) {
init {
widgetLayoutResource = R.layout.pref_widget_imageview
}
override fun onBindViewHolder(holder: PreferenceViewHolder) {
super.onBindViewHolder(holder)
(holder.findViewById(R.id.image_view) as ImageView).setImageResource(
if (getPersistedString("").isNullOrEmpty()) {
android.R.color.transparent
} else {
R.drawable.ic_done_green_24dp
}
)
}
public override fun notifyChanged() {
super.notifyChanged()
}
}

View File

@@ -0,0 +1,41 @@
package eu.kanade.tachiyomi.widget.preference
import android.content.Context
import android.graphics.Color
import android.util.AttributeSet
import android.widget.ImageView
import androidx.annotation.ColorInt
import androidx.core.view.isVisible
import androidx.preference.Preference
import androidx.preference.PreferenceViewHolder
import com.google.android.material.card.MaterialCardView
import eu.kanade.tachiyomi.R
class TrackerPreference @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
Preference(context, attrs) {
init {
layoutResource = R.layout.pref_tracker_item
}
override fun onBindViewHolder(holder: PreferenceViewHolder) {
super.onBindViewHolder(holder)
val logoContainer = holder.findViewById(R.id.logo_container) as MaterialCardView
val checkedIcon = holder.findViewById(R.id.checked_icon) as ImageView
logoContainer.setCardBackgroundColor(iconColor)
checkedIcon.isVisible = !getPersistedString("").isNullOrEmpty()
}
@ColorInt
var iconColor: Int = Color.TRANSPARENT
set(value) {
field = value
notifyChanged()
}
public override fun notifyChanged() {
super.notifyChanged()
}
}