Use more Compat utilities (#5786)
* Use ActivityCompat.recreate * Use more KTX extensions * Use PackageInfoCompat.getLongVersionCode * Remove unnecessary compat usages
This commit is contained in:
@@ -3,6 +3,7 @@ package eu.kanade.tachiyomi.ui.browse.source.filter
|
||||
import android.view.View
|
||||
import android.widget.CheckedTextView
|
||||
import androidx.appcompat.content.res.AppCompatResources
|
||||
import androidx.core.view.updatePadding
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.google.android.material.R
|
||||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
||||
@@ -72,7 +73,7 @@ open class TriStateItem(val filter: Filter.TriState) : AbstractFlexibleItem<TriS
|
||||
|
||||
init {
|
||||
// Align with native checkbox
|
||||
text.setPadding(4.dpToPx, 0, 0, 0)
|
||||
text.updatePadding(left = 4.dpToPx)
|
||||
text.compoundDrawablePadding = 20.dpToPx
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@ import android.view.MenuItem
|
||||
import android.view.View
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.appcompat.view.ActionMode
|
||||
import androidx.core.graphics.drawable.DrawableCompat
|
||||
import androidx.core.view.isVisible
|
||||
import com.bluelinelabs.conductor.ControllerChangeHandler
|
||||
import com.bluelinelabs.conductor.ControllerChangeType
|
||||
@@ -417,7 +416,7 @@ class LibraryController(
|
||||
// Tint icon if there's a filter active
|
||||
if (settingsSheet.filters.hasActiveFilters()) {
|
||||
val filterColor = activity!!.getResourceColor(R.attr.colorFilterActive)
|
||||
DrawableCompat.setTint(filterItem.icon, filterColor)
|
||||
filterItem.icon.setTint(filterColor)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-2
@@ -3,7 +3,6 @@ package eu.kanade.tachiyomi.ui.manga.chapter
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.graphics.drawable.DrawableCompat
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.databinding.MangaChaptersHeaderBinding
|
||||
@@ -60,7 +59,7 @@ class MangaChaptersHeaderAdapter(
|
||||
} else {
|
||||
view.context.getResourceColor(R.attr.colorOnBackground)
|
||||
}
|
||||
DrawableCompat.setTint(binding.btnChaptersFilter.drawable, filterColor)
|
||||
binding.btnChaptersFilter.drawable.setTint(filterColor)
|
||||
|
||||
merge(view.clicks(), binding.btnChaptersFilter.clicks())
|
||||
.onEach { controller.showSettingsSheet() }
|
||||
|
||||
@@ -8,7 +8,7 @@ import android.util.AttributeSet
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.ViewPropertyAnimator
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.graphics.withSave
|
||||
import androidx.core.view.isVisible
|
||||
import eu.kanade.tachiyomi.ui.reader.viewer.ViewerNavigation
|
||||
import kotlin.math.abs
|
||||
@@ -62,30 +62,27 @@ class ReaderNavigationOverlayView(context: Context, attributeSet: AttributeSet)
|
||||
navigation?.regions?.forEach { region ->
|
||||
val rect = region.rectF
|
||||
|
||||
canvas?.save()
|
||||
|
||||
// Scale rect from 1f,1f to screen width and height
|
||||
canvas?.scale(width.toFloat(), height.toFloat())
|
||||
regionPaint.color = ContextCompat.getColor(context, region.type.colorRes)
|
||||
canvas?.drawRect(rect, regionPaint)
|
||||
|
||||
canvas?.restore()
|
||||
canvas?.withSave {
|
||||
// Scale rect from 1f,1f to screen width and height
|
||||
scale(width.toFloat(), height.toFloat())
|
||||
regionPaint.color = context.getColor(region.type.colorRes)
|
||||
drawRect(rect, regionPaint)
|
||||
}
|
||||
// Don't want scale anymore because it messes with drawText
|
||||
canvas?.save()
|
||||
canvas?.withSave {
|
||||
|
||||
// Translate origin to rect start (left, top)
|
||||
canvas?.translate((width * rect.left), (height * rect.top))
|
||||
// Translate origin to rect start (left, top)
|
||||
translate((width * rect.left), (height * rect.top))
|
||||
|
||||
// Calculate center of rect width on screen
|
||||
val x = width * (abs(rect.left - rect.right) / 2)
|
||||
// Calculate center of rect width on screen
|
||||
val x = width * (abs(rect.left - rect.right) / 2)
|
||||
|
||||
// Calculate center of rect height on screen
|
||||
val y = height * (abs(rect.top - rect.bottom) / 2)
|
||||
// Calculate center of rect height on screen
|
||||
val y = height * (abs(rect.top - rect.bottom) / 2)
|
||||
|
||||
canvas?.drawText(context.getString(region.type.nameRes), x, y, textBorderPaint)
|
||||
canvas?.drawText(context.getString(region.type.nameRes), x, y, textPaint)
|
||||
|
||||
canvas?.restore()
|
||||
drawText(context.getString(region.type.nameRes), x, y, textBorderPaint)
|
||||
drawText(context.getString(region.type.nameRes), x, y, textPaint)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -6,6 +6,7 @@ import android.os.Looper
|
||||
import android.view.GestureDetector
|
||||
import android.view.MotionEvent
|
||||
import android.view.ViewConfiguration
|
||||
import androidx.core.os.postDelayed
|
||||
import kotlin.math.abs
|
||||
|
||||
/**
|
||||
@@ -43,7 +44,7 @@ open class GestureDetectorWithLongTap(
|
||||
if (ev.downTime - lastUp > doubleTapTime) {
|
||||
downX = ev.rawX
|
||||
downY = ev.rawY
|
||||
handler.postDelayed(longTapFn, longTapTime)
|
||||
handler.postDelayed(longTapTime) { longTapFn }
|
||||
}
|
||||
}
|
||||
MotionEvent.ACTION_MOVE -> {
|
||||
|
||||
@@ -16,6 +16,7 @@ import android.widget.ImageView
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.TextView
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.core.view.setMargins
|
||||
import androidx.core.view.updateLayoutParams
|
||||
import coil.imageLoader
|
||||
import coil.request.CachePolicy
|
||||
@@ -457,7 +458,7 @@ class PagerPageHolder(
|
||||
|
||||
TextView(context).apply {
|
||||
layoutParams = LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT).apply {
|
||||
setMargins(margins, margins, margins, margins)
|
||||
setMargins(margins)
|
||||
}
|
||||
gravity = Gravity.CENTER
|
||||
setText(R.string.decode_image_error)
|
||||
@@ -467,7 +468,7 @@ class PagerPageHolder(
|
||||
|
||||
PagerButton(context, viewer).apply {
|
||||
layoutParams = LayoutParams(WRAP_CONTENT, WRAP_CONTENT).apply {
|
||||
setMargins(margins, margins, margins, margins)
|
||||
setMargins(margins)
|
||||
}
|
||||
setText(R.string.action_retry)
|
||||
setOnClickListener {
|
||||
@@ -481,7 +482,7 @@ class PagerPageHolder(
|
||||
if (imageUrl.orEmpty().startsWith("http", true)) {
|
||||
PagerButton(context, viewer).apply {
|
||||
layoutParams = LayoutParams(WRAP_CONTENT, WRAP_CONTENT).apply {
|
||||
setMargins(margins, margins, margins, margins)
|
||||
setMargins(margins)
|
||||
}
|
||||
setText(R.string.action_open_in_web_view)
|
||||
setOnClickListener {
|
||||
|
||||
@@ -6,6 +6,7 @@ import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
|
||||
import androidx.core.app.ActivityCompat
|
||||
import androidx.core.view.isGone
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
@@ -139,7 +140,7 @@ class WebtoonViewer(val activity: ReaderActivity, val isContinuous: Boolean = tr
|
||||
}
|
||||
|
||||
config.themeChangedListener = {
|
||||
activity.recreate()
|
||||
ActivityCompat.recreate(activity)
|
||||
}
|
||||
|
||||
config.navigationModeChangedListener = {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package eu.kanade.tachiyomi.ui.setting
|
||||
|
||||
import android.os.Build
|
||||
import androidx.core.app.ActivityCompat
|
||||
import androidx.preference.PreferenceScreen
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.preference.asImmediateFlow
|
||||
@@ -74,7 +75,7 @@ class SettingsAppearanceController : SettingsController() {
|
||||
defaultValue = appThemes[0].name
|
||||
|
||||
onChange {
|
||||
activity?.recreate()
|
||||
activity?.let { ActivityCompat.recreate(it) }
|
||||
true
|
||||
}
|
||||
}
|
||||
@@ -87,7 +88,7 @@ class SettingsAppearanceController : SettingsController() {
|
||||
.launchIn(viewScope)
|
||||
|
||||
onChange {
|
||||
activity?.recreate()
|
||||
activity?.let { ActivityCompat.recreate(it) }
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user