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