mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 19:32:16 +00:00
commit
3b0625c066
@ -119,7 +119,7 @@ dependencies {
|
||||
implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.2'
|
||||
implementation 'io.reactivex.rxjava3:rxjava:3.1.1'
|
||||
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
|
||||
implementation 'com.squareup.picasso:picasso:2.71828'
|
||||
implementation 'com.fasterxml.jackson.core:jackson-core:2.13.0'
|
||||
implementation 'io.coil-kt:coil:1.4.0'
|
||||
implementation 'com.github.topjohnwu.libsu:core:3.1.2'
|
||||
}
|
||||
|
@ -5,24 +5,24 @@ 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.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
|
||||
|
||||
@Suppress("unused")
|
||||
class MainApplication : Application() {
|
||||
class MainApplication : Application(), ImageLoaderFactory {
|
||||
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
@ -34,12 +34,6 @@ class MainApplication : Application() {
|
||||
listenApplications()
|
||||
listenPreferences()
|
||||
|
||||
Picasso.setSingletonInstance(
|
||||
Picasso.Builder(this)
|
||||
.downloader(OkHttp3Downloader(PicassoDownloader.Factory(Cache.getImagesDir(this))))
|
||||
.build()
|
||||
)
|
||||
|
||||
if (databaseUpdated) {
|
||||
forceSyncAll()
|
||||
}
|
||||
@ -181,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,7 +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.PicassoDownloader
|
||||
import com.looker.droidify.network.CoilDownloader
|
||||
import com.looker.droidify.utility.KParcelable
|
||||
import com.looker.droidify.utility.PackageItemResolver
|
||||
import com.looker.droidify.utility.Utils
|
||||
@ -1119,7 +1119,7 @@ class ProductAdapter(private val callbacks: Callbacks, private val columns: Int)
|
||||
if (updateAll) {
|
||||
if (item.product.icon.isNotEmpty() || item.product.metadataIcon.isNotEmpty()) {
|
||||
holder.icon.load(
|
||||
PicassoDownloader.createIconUri(
|
||||
CoilDownloader.createIconUri(
|
||||
holder.icon, item.product.packageName,
|
||||
item.product.icon, item.product.metadataIcon, item.repository
|
||||
)
|
||||
@ -1322,7 +1322,7 @@ class ProductAdapter(private val callbacks: Callbacks, private val columns: Int)
|
||||
val inner = context.resources.sizeScaled(GRID_SPACING_INNER_DP)
|
||||
val cellSize = (screenWidth - 2 * outer - (columns - 1) * inner) / columns
|
||||
holder.image.load(
|
||||
PicassoDownloader.createScreenshotUri(
|
||||
CoilDownloader.createScreenshotUri(
|
||||
item.repository,
|
||||
item.packageName,
|
||||
item.screenshot
|
||||
@ -1330,8 +1330,7 @@ class ProductAdapter(private val callbacks: Callbacks, private val columns: Int)
|
||||
) {
|
||||
placeholder(holder.placeholder)
|
||||
error(holder.placeholder)
|
||||
resize(cellSize, cellSize)
|
||||
centerCrop()
|
||||
size(cellSize)
|
||||
}
|
||||
}
|
||||
ViewType.RELEASE -> {
|
||||
|
@ -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,7 +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.PicassoDownloader
|
||||
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.*
|
||||
@ -256,7 +256,7 @@ class ScreenshotsFragment() : DialogFragment() {
|
||||
if (width > 0 && height > 0) {
|
||||
repository?.let {
|
||||
holder.image.load(
|
||||
PicassoDownloader.createScreenshotUri(
|
||||
CoilDownloader.createScreenshotUri(
|
||||
it,
|
||||
packageName,
|
||||
screenshot
|
||||
@ -264,8 +264,7 @@ class ScreenshotsFragment() : DialogFragment() {
|
||||
) {
|
||||
placeholder(holder.placeholder)
|
||||
error(holder.placeholder)
|
||||
resize(width, height)
|
||||
centerInside()
|
||||
size(width, height)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -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)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user