Basic conversion from Picasso to Coil (Not working yet)

This commit is contained in:
LooKeR 2021-10-13 09:15:13 +05:30
parent 29e312d94f
commit d66f8ebee4
4 changed files with 15 additions and 40 deletions

View File

@ -11,13 +11,10 @@ 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.Downloader import com.looker.droidify.network.Downloader
import com.looker.droidify.network.PicassoDownloader
import com.looker.droidify.service.Connection import com.looker.droidify.service.Connection
import com.looker.droidify.service.SyncService import com.looker.droidify.service.SyncService
import com.looker.droidify.utility.Utils.toInstalledItem import com.looker.droidify.utility.Utils.toInstalledItem
import com.looker.droidify.utility.extension.android.Android import com.looker.droidify.utility.extension.android.Android
import com.squareup.picasso.OkHttp3Downloader
import com.squareup.picasso.Picasso
import java.net.InetSocketAddress import java.net.InetSocketAddress
import java.net.Proxy import java.net.Proxy
@ -34,12 +31,6 @@ class MainApplication : Application() {
listenApplications() listenApplications()
listenPreferences() listenPreferences()
Picasso.setSingletonInstance(
Picasso.Builder(this)
.downloader(OkHttp3Downloader(PicassoDownloader.Factory(Cache.getImagesDir(this))))
.build()
)
if (databaseUpdated) { if (databaseUpdated) {
forceSyncAll() forceSyncAll()
} }

View File

@ -32,7 +32,6 @@ 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.PicassoDownloader
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
@ -1118,12 +1117,7 @@ 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( holder.icon.load(item.product.icon) {
PicassoDownloader.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)
} }
@ -1321,17 +1315,10 @@ 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( holder.image.load(item.screenshot.path) {
PicassoDownloader.createScreenshotUri(
item.repository,
item.packageName,
item.screenshot
)
) {
placeholder(holder.placeholder) placeholder(holder.placeholder)
error(holder.placeholder) error(holder.placeholder)
resize(cellSize, cellSize) size(cellSize)
centerCrop()
} }
} }
ViewType.RELEASE -> { ViewType.RELEASE -> {

View File

@ -22,7 +22,6 @@ 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.PicassoDownloader
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.*
@ -255,17 +254,10 @@ 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( holder.image.load(screenshot.path) {
PicassoDownloader.createScreenshotUri(
it,
packageName,
screenshot
)
) {
placeholder(holder.placeholder) placeholder(holder.placeholder)
error(holder.placeholder) error(holder.placeholder)
resize(width, height) size(width, height)
centerInside()
} }
} }
} else { } else {

View File

@ -17,9 +17,10 @@ import android.view.ViewGroup
import android.widget.ImageView import android.widget.ImageView
import android.widget.TextView import android.widget.TextView
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import coil.load
import coil.request.ImageRequest
import coil.util.CoilUtils
import com.looker.droidify.utility.extension.android.Android import com.looker.droidify.utility.extension.android.Android
import com.squareup.picasso.Picasso
import com.squareup.picasso.RequestCreator
import org.xmlpull.v1.XmlPullParser import org.xmlpull.v1.XmlPullParser
import kotlin.math.roundToInt import kotlin.math.roundToInt
@ -91,10 +92,14 @@ fun ViewGroup.inflate(layoutResId: Int): View {
return LayoutInflater.from(context).inflate(layoutResId, this, false) return LayoutInflater.from(context).inflate(layoutResId, this, false)
} }
fun ImageView.load(uri: Uri, builder: RequestCreator.() -> Unit) { fun ImageView.load(uri: String, builder: ImageRequest.Builder.() -> Unit = {}) {
Picasso.get().load(uri).noFade().apply(builder).into(this) this.load(uri = uri, builder = builder)
}
fun ImageView.load(uri: Uri, builder: ImageRequest.Builder.() -> Unit = {}) {
this.load(uri = uri, builder = builder)
} }
fun ImageView.clear() { fun ImageView.clear() {
Picasso.get().cancelRequest(this) CoilUtils.clear(this)
} }