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

View File

@ -32,7 +32,6 @@ 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.PicassoDownloader
import com.looker.droidify.utility.KParcelable
import com.looker.droidify.utility.PackageItemResolver
import com.looker.droidify.utility.Utils
@ -1118,12 +1117,7 @@ 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(
PicassoDownloader.createIconUri(
holder.icon, item.product.packageName,
item.product.icon, item.product.metadataIcon, item.repository
)
) {
holder.icon.load(item.product.icon) {
placeholder(holder.progressIcon)
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 inner = context.resources.sizeScaled(GRID_SPACING_INNER_DP)
val cellSize = (screenWidth - 2 * outer - (columns - 1) * inner) / columns
holder.image.load(
PicassoDownloader.createScreenshotUri(
item.repository,
item.packageName,
item.screenshot
)
) {
holder.image.load(item.screenshot.path) {
placeholder(holder.placeholder)
error(holder.placeholder)
resize(cellSize, cellSize)
centerCrop()
size(cellSize)
}
}
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.Repository
import com.looker.droidify.graphics.PaddingDrawable
import com.looker.droidify.network.PicassoDownloader
import com.looker.droidify.utility.RxUtils
import com.looker.droidify.utility.extension.android.Android
import com.looker.droidify.utility.extension.resources.*
@ -255,17 +254,10 @@ class ScreenshotsFragment() : DialogFragment() {
val (width, height) = size
if (width > 0 && height > 0) {
repository?.let {
holder.image.load(
PicassoDownloader.createScreenshotUri(
it,
packageName,
screenshot
)
) {
holder.image.load(screenshot.path) {
placeholder(holder.placeholder)
error(holder.placeholder)
resize(width, height)
centerInside()
size(width, height)
}
}
} else {

View File

@ -17,9 +17,10 @@ import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
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.squareup.picasso.Picasso
import com.squareup.picasso.RequestCreator
import org.xmlpull.v1.XmlPullParser
import kotlin.math.roundToInt
@ -91,10 +92,14 @@ fun ViewGroup.inflate(layoutResId: Int): View {
return LayoutInflater.from(context).inflate(layoutResId, this, false)
}
fun ImageView.load(uri: Uri, builder: RequestCreator.() -> Unit) {
Picasso.get().load(uri).noFade().apply(builder).into(this)
fun ImageView.load(uri: String, builder: ImageRequest.Builder.() -> Unit = {}) {
this.load(uri = uri, builder = builder)
}
fun ImageView.load(uri: Uri, builder: ImageRequest.Builder.() -> Unit = {}) {
this.load(uri = uri, builder = builder)
}
fun ImageView.clear() {
Picasso.get().cancelRequest(this)
CoilUtils.clear(this)
}