mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 03:12:15 +00:00
Complete Migration to Coil
This commit is contained in:
parent
d66f8ebee4
commit
34c67c66bb
@ -5,11 +5,14 @@ import android.app.Application
|
||||
import android.app.job.JobInfo
|
||||
import android.app.job.JobScheduler
|
||||
import android.content.*
|
||||
import coil.ImageLoader
|
||||
import coil.ImageLoaderFactory
|
||||
import com.looker.droidify.content.Cache
|
||||
import com.looker.droidify.content.Preferences
|
||||
import com.looker.droidify.content.ProductPreferences
|
||||
import com.looker.droidify.database.Database
|
||||
import com.looker.droidify.index.RepositoryUpdater
|
||||
import com.looker.droidify.network.CoilDownloader
|
||||
import com.looker.droidify.network.Downloader
|
||||
import com.looker.droidify.service.Connection
|
||||
import com.looker.droidify.service.SyncService
|
||||
@ -19,7 +22,7 @@ import java.net.InetSocketAddress
|
||||
import java.net.Proxy
|
||||
|
||||
@Suppress("unused")
|
||||
class MainApplication : Application() {
|
||||
class MainApplication : Application(), ImageLoaderFactory {
|
||||
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
@ -172,4 +175,11 @@ class MainApplication : Application() {
|
||||
@SuppressLint("UnsafeProtectedBroadcastReceiver")
|
||||
override fun onReceive(context: Context, intent: Intent) = Unit
|
||||
}
|
||||
|
||||
override fun newImageLoader(): ImageLoader {
|
||||
return ImageLoader.Builder(this)
|
||||
.callFactory(CoilDownloader.Factory(Cache.getImagesDir(this)))
|
||||
.crossfade(true)
|
||||
.build()
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ import java.io.File
|
||||
import kotlin.math.min
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
object PicassoDownloader {
|
||||
object CoilDownloader {
|
||||
private const val HOST_ICON = "icon"
|
||||
private const val HOST_SCREENSHOT = "screenshot"
|
||||
private const val QUERY_ADDRESS = "address"
|
@ -32,6 +32,7 @@ import com.looker.droidify.content.Preferences
|
||||
import com.looker.droidify.content.ProductPreferences
|
||||
import com.looker.droidify.entity.*
|
||||
import com.looker.droidify.graphics.PaddingDrawable
|
||||
import com.looker.droidify.network.CoilDownloader
|
||||
import com.looker.droidify.utility.KParcelable
|
||||
import com.looker.droidify.utility.PackageItemResolver
|
||||
import com.looker.droidify.utility.Utils
|
||||
@ -1117,7 +1118,12 @@ class ProductAdapter(private val callbacks: Callbacks, private val columns: Int)
|
||||
val updateAll = !updateStatus
|
||||
if (updateAll) {
|
||||
if (item.product.icon.isNotEmpty() || item.product.metadataIcon.isNotEmpty()) {
|
||||
holder.icon.load(item.product.icon) {
|
||||
holder.icon.load(
|
||||
CoilDownloader.createIconUri(
|
||||
holder.icon, item.product.packageName,
|
||||
item.product.icon, item.product.metadataIcon, item.repository
|
||||
)
|
||||
) {
|
||||
placeholder(holder.progressIcon)
|
||||
error(holder.defaultIcon)
|
||||
}
|
||||
@ -1315,7 +1321,13 @@ class ProductAdapter(private val callbacks: Callbacks, private val columns: Int)
|
||||
val outer = context.resources.sizeScaled(GRID_SPACING_OUTER_DP)
|
||||
val inner = context.resources.sizeScaled(GRID_SPACING_INNER_DP)
|
||||
val cellSize = (screenWidth - 2 * outer - (columns - 1) * inner) / columns
|
||||
holder.image.load(item.screenshot.path) {
|
||||
holder.image.load(
|
||||
CoilDownloader.createScreenshotUri(
|
||||
item.repository,
|
||||
item.packageName,
|
||||
item.screenshot
|
||||
)
|
||||
) {
|
||||
placeholder(holder.placeholder)
|
||||
error(holder.placeholder)
|
||||
size(cellSize)
|
||||
|
@ -15,7 +15,7 @@ import com.looker.droidify.R
|
||||
import com.looker.droidify.database.Database
|
||||
import com.looker.droidify.entity.ProductItem
|
||||
import com.looker.droidify.entity.Repository
|
||||
import com.looker.droidify.network.PicassoDownloader
|
||||
import com.looker.droidify.network.CoilDownloader
|
||||
import com.looker.droidify.utility.Utils
|
||||
import com.looker.droidify.utility.extension.resources.*
|
||||
import com.looker.droidify.utility.extension.text.nullIfEmpty
|
||||
@ -138,7 +138,7 @@ class ProductsAdapter(private val onClick: (ProductItem) -> Unit) :
|
||||
val repository: Repository? = repositories[productItem.repositoryId]
|
||||
if ((productItem.icon.isNotEmpty() || productItem.metadataIcon.isNotEmpty()) && repository != null) {
|
||||
holder.icon.load(
|
||||
PicassoDownloader.createIconUri(
|
||||
CoilDownloader.createIconUri(
|
||||
holder.icon, productItem.packageName,
|
||||
productItem.icon, productItem.metadataIcon, repository
|
||||
)
|
||||
|
@ -22,6 +22,7 @@ import com.looker.droidify.database.Database
|
||||
import com.looker.droidify.entity.Product
|
||||
import com.looker.droidify.entity.Repository
|
||||
import com.looker.droidify.graphics.PaddingDrawable
|
||||
import com.looker.droidify.network.CoilDownloader
|
||||
import com.looker.droidify.utility.RxUtils
|
||||
import com.looker.droidify.utility.extension.android.Android
|
||||
import com.looker.droidify.utility.extension.resources.*
|
||||
@ -254,7 +255,13 @@ class ScreenshotsFragment() : DialogFragment() {
|
||||
val (width, height) = size
|
||||
if (width > 0 && height > 0) {
|
||||
repository?.let {
|
||||
holder.image.load(screenshot.path) {
|
||||
holder.image.load(
|
||||
CoilDownloader.createScreenshotUri(
|
||||
it,
|
||||
packageName,
|
||||
screenshot
|
||||
)
|
||||
) {
|
||||
placeholder(holder.placeholder)
|
||||
error(holder.placeholder)
|
||||
size(width, height)
|
||||
|
Loading…
x
Reference in New Issue
Block a user