add some ContextExtensions to wrap ContextCompat.getDrawable and ContextCompat.getColor

This commit is contained in:
CarlosEsco 2020-04-22 12:57:03 -04:00
parent ca633b1f95
commit c035745b94
2 changed files with 24 additions and 4 deletions

View file

@ -13,6 +13,7 @@ import com.mikepenz.fastadapter.items.AbstractItem
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Chapter
import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.util.system.contextCompatDrawable
import eu.kanade.tachiyomi.util.system.getResourceColor
import java.text.DecimalFormat
import java.text.DecimalFormatSymbols
@ -53,10 +54,8 @@ class ReaderChapterItem(val chapter: Chapter, val manga: Manga, val isCurrent: B
private var unreadColor = view.context.getResourceColor(android.R.attr.textColorPrimary)
private var activeColor = view.context.getResourceColor(android.R.attr.colorAccent)
private var unbookmark = ContextCompat.getDrawable(view.context, R.drawable
.ic_bookmark_border_24dp)
private var bookmark = ContextCompat.getDrawable(view.context, R.drawable
.ic_bookmark_24dp)
private var unbookmark = view.context.contextCompatDrawable(R.drawable.ic_bookmark_border_24dp)
private var bookmark = view.context.contextCompatDrawable(R.drawable.ic_bookmark_24dp)
override fun bindView(item: ReaderChapterItem, payloads: List<Any>) {
val chapter = item.chapter

View file

@ -9,11 +9,14 @@ import android.content.Intent
import android.content.IntentFilter
import android.content.pm.PackageManager
import android.content.res.Resources
import android.graphics.drawable.Drawable
import android.net.ConnectivityManager
import android.net.Uri
import android.os.PowerManager
import android.widget.Toast
import androidx.annotation.AttrRes
import androidx.annotation.ColorRes
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
import androidx.browser.customtabs.CustomTabsIntent
import androidx.core.app.NotificationCompat
@ -89,6 +92,24 @@ fun Context.getResourceColor(@AttrRes resource: Int): Int {
return attrValue
}
/**
* Returns the color from ContextCompat
*
* @param resource the color.
*/
fun Context.contextCompatColor(@ColorRes resource: Int): Int {
return ContextCompat.getColor(this, resource)
}
/**
* Returns the color from ContextCompat
*
* @param resource the color.
*/
fun Context.contextCompatDrawable(@DrawableRes resource: Int): Drawable? {
return ContextCompat.getDrawable(this, resource)
}
/**
* Converts to dp.
*/