mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 06:17:57 +01:00 
			
		
		
		
	Remove usage of alpha color selectors (fixes #2957)
Doesn't work properly in API < 23
This commit is contained in:
		| @@ -1,7 +1,6 @@ | ||||
| package eu.kanade.tachiyomi.ui.manga.chapter | ||||
|  | ||||
| import android.content.Context | ||||
| import androidx.core.content.ContextCompat | ||||
| import eu.davidea.flexibleadapter.FlexibleAdapter | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| @@ -21,7 +20,7 @@ class ChaptersAdapter( | ||||
|  | ||||
|     var items: List<ChapterItem> = emptyList() | ||||
|  | ||||
|     val readColor = ContextCompat.getColor(context, R.color.material_on_surface_disabled) | ||||
|     val readColor = context.getResourceColor(R.attr.colorOnSurface, 0.38f) | ||||
|     val unreadColor = context.getResourceColor(R.attr.colorOnSurface) | ||||
|  | ||||
|     val bookmarkedColor = context.getResourceColor(R.attr.colorAccent) | ||||
|   | ||||
| @@ -1,7 +1,6 @@ | ||||
| package eu.kanade.tachiyomi.ui.recent.updates | ||||
|  | ||||
| import android.view.View | ||||
| import androidx.core.content.ContextCompat | ||||
| import com.bumptech.glide.load.engine.DiskCacheStrategy | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.download.model.Download | ||||
| @@ -27,7 +26,7 @@ import kotlinx.android.synthetic.main.updates_item.manga_title | ||||
| class UpdatesHolder(private val view: View, private val adapter: UpdatesAdapter) : | ||||
|     BaseFlexibleViewHolder(view, adapter) { | ||||
|  | ||||
|     private var readColor = ContextCompat.getColor(view.context, R.color.material_on_surface_disabled) | ||||
|     private var readColor = view.context.getResourceColor(R.attr.colorOnSurface, 0.38f) | ||||
|     private var unreadColor = view.context.getResourceColor(R.attr.colorOnSurface) | ||||
|  | ||||
|     /** | ||||
|   | ||||
| @@ -1,7 +1,6 @@ | ||||
| package eu.kanade.tachiyomi.ui.source.browse | ||||
|  | ||||
| import android.view.View | ||||
| import androidx.core.content.ContextCompat | ||||
| import com.bumptech.glide.load.engine.DiskCacheStrategy | ||||
| import eu.davidea.flexibleadapter.FlexibleAdapter | ||||
| import eu.kanade.tachiyomi.R | ||||
| @@ -23,7 +22,7 @@ import kotlinx.android.synthetic.main.source_list_item.title | ||||
| class SourceListHolder(private val view: View, adapter: FlexibleAdapter<*>) : | ||||
|     SourceHolder(view, adapter) { | ||||
|  | ||||
|     private val favoriteColor = ContextCompat.getColor(view.context, R.color.material_on_surface_disabled) | ||||
|     private val favoriteColor = view.context.getResourceColor(R.attr.colorOnSurface, 0.38f) | ||||
|     private val unfavoriteColor = view.context.getResourceColor(R.attr.colorOnSurface) | ||||
|  | ||||
|     /** | ||||
|   | ||||
| @@ -2,7 +2,6 @@ package eu.kanade.tachiyomi.ui.source.filter | ||||
|  | ||||
| import android.view.View | ||||
| import android.widget.CheckedTextView | ||||
| import androidx.core.content.ContextCompat | ||||
| import androidx.recyclerview.widget.RecyclerView | ||||
| import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat | ||||
| import com.google.android.material.R | ||||
| @@ -46,7 +45,7 @@ open class TriStateItem(val filter: Filter.TriState) : AbstractFlexibleItem<TriS | ||||
|             val color = if (filter.state == Filter.TriState.STATE_INCLUDE) { | ||||
|                 view.context.getResourceColor(R.attr.colorAccent) | ||||
|             } else { | ||||
|                 ContextCompat.getColor(view.context, R.color.material_on_background_disabled) | ||||
|                 view.context.getResourceColor(R.attr.colorOnBackground, 0.38f) | ||||
|             } | ||||
|  | ||||
|             setTint(color) | ||||
|   | ||||
| @@ -9,11 +9,13 @@ import android.content.Intent | ||||
| import android.content.IntentFilter | ||||
| import android.content.pm.PackageManager | ||||
| import android.content.res.Resources | ||||
| import android.graphics.Color | ||||
| import android.net.ConnectivityManager | ||||
| import android.net.Uri | ||||
| import android.os.PowerManager | ||||
| import android.widget.Toast | ||||
| import androidx.annotation.AttrRes | ||||
| import androidx.annotation.ColorInt | ||||
| import androidx.annotation.StringRes | ||||
| import androidx.browser.customtabs.CustomTabsIntent | ||||
| import androidx.core.app.NotificationCompat | ||||
| @@ -22,6 +24,7 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager | ||||
| import com.nononsenseapps.filepicker.FilePickerActivity | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.widget.CustomLayoutPickerActivity | ||||
| import kotlin.math.roundToInt | ||||
|  | ||||
| /** | ||||
|  * Display a toast in this context. | ||||
| @@ -96,12 +99,22 @@ fun Context.hasPermission(permission: String) = ContextCompat.checkSelfPermissio | ||||
|  * Returns the color for the given attribute. | ||||
|  * | ||||
|  * @param resource the attribute. | ||||
|  * @param alphaFactor the alpha number [0,1]. | ||||
|  */ | ||||
| fun Context.getResourceColor(@AttrRes resource: Int): Int { | ||||
| @ColorInt fun Context.getResourceColor(@AttrRes resource: Int, alphaFactor: Float = 1f): Int { | ||||
|     val typedArray = obtainStyledAttributes(intArrayOf(resource)) | ||||
|     val attrValue = typedArray.getColor(0, 0) | ||||
|     val color = typedArray.getColor(0, 0) | ||||
|     typedArray.recycle() | ||||
|     return attrValue | ||||
|  | ||||
|     if (alphaFactor < 1f) { | ||||
|         val alpha = (Color.alpha(color) * alphaFactor).roundToInt() | ||||
|         val red = Color.red(color) | ||||
|         val green = Color.green(color) | ||||
|         val blue = Color.blue(color) | ||||
|         return Color.argb(alpha, red, green, blue) | ||||
|     } | ||||
|  | ||||
|     return color | ||||
| } | ||||
|  | ||||
| /** | ||||
|   | ||||
| @@ -4,11 +4,11 @@ import android.graphics.drawable.Drawable | ||||
| import android.view.View | ||||
| import android.widget.ImageView | ||||
| import android.widget.ImageView.ScaleType | ||||
| import androidx.core.content.ContextCompat | ||||
| import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat | ||||
| import com.bumptech.glide.request.target.ImageViewTarget | ||||
| import com.bumptech.glide.request.transition.Transition | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.util.system.getResourceColor | ||||
| import eu.kanade.tachiyomi.util.view.gone | ||||
| import eu.kanade.tachiyomi.util.view.visible | ||||
|  | ||||
| @@ -46,7 +46,7 @@ class StateImageViewTarget( | ||||
|         view.scaleType = errorScaleType | ||||
|  | ||||
|         val vector = VectorDrawableCompat.create(view.context.resources, errorDrawableRes, null) | ||||
|         vector?.setTint(ContextCompat.getColor(view.context, com.google.android.material.R.color.material_on_background_disabled)) | ||||
|         vector?.setTint(view.context.getResourceColor(R.attr.colorOnBackground, 0.38f)) | ||||
|         view.setImageDrawable(vector) | ||||
|     } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user