Skip to content

Commit

Permalink
Did you know there's a coil3?
Browse files Browse the repository at this point in the history
  • Loading branch information
pyamsoft committed Feb 7, 2025
1 parent bf639ab commit 9de7a47
Show file tree
Hide file tree
Showing 16 changed files with 34 additions and 33 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ subprojects {

artifactId project.name
groupId "com.github.pyamsoft.pydroid"
version "27.2.1"
version "27.3.0"
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion ui/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ dependencies {
implementation("androidx.activity:activity-compose:${rootProject.extra["activity"]}")

// Compose Image loading
implementation("io.coil-kt:coil-compose-base:2.7.0")
implementation("io.coil-kt.coil3:coil-compose-core:3.1.0")

implementation("androidx.core:core-ktx:${rootProject.extra["core"]}")

Expand Down
2 changes: 1 addition & 1 deletion ui/src/main/java/com/pyamsoft/pydroid/ui/ModuleProvider.kt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
package com.pyamsoft.pydroid.ui

import androidx.annotation.CheckResult
import coil.ImageLoader
import coil3.ImageLoader
import com.pyamsoft.pydroid.core.ThreadEnforcer
import com.pyamsoft.pydroid.ui.debug.InAppDebugStatus
import com.pyamsoft.pydroid.ui.theme.Theming
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ package com.pyamsoft.pydroid.ui
import android.app.Application
import android.content.Context
import androidx.annotation.CheckResult
import coil.ImageLoader
import coil3.ImageLoader
import com.pyamsoft.pydroid.bootstrap.about.AboutModule
import com.pyamsoft.pydroid.bootstrap.changelog.ChangeLogModule
import com.pyamsoft.pydroid.bootstrap.datapolicy.DataPolicyModule
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ package com.pyamsoft.pydroid.ui.internal.app
import android.content.Context
import androidx.activity.ComponentActivity
import androidx.annotation.CheckResult
import coil.ImageLoader
import coil3.ImageLoader
import com.pyamsoft.pydroid.billing.BillingModule
import com.pyamsoft.pydroid.bootstrap.changelog.ChangeLogModule
import com.pyamsoft.pydroid.bootstrap.datapolicy.DataPolicyModule
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import coil.ImageLoader
import coil.compose.AsyncImage
import coil3.ImageLoader
import coil3.compose.AsyncImage
import com.pyamsoft.pydroid.theme.keylines
import com.pyamsoft.pydroid.ui.defaults.ImageDefaults
import com.pyamsoft.pydroid.ui.internal.test.createNewTestImageLoader
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import androidx.lifecycle.Lifecycle
import androidx.lifecycle.compose.LifecycleEventEffect
import androidx.lifecycle.compose.LocalLifecycleOwner
import androidx.lifecycle.lifecycleScope
import coil.ImageLoader
import coil3.ImageLoader
import com.pyamsoft.pydroid.billing.BillingLauncher
import com.pyamsoft.pydroid.core.Logger
import com.pyamsoft.pydroid.theme.keylines
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
package com.pyamsoft.pydroid.ui.internal.billing.dialog

import androidx.annotation.CheckResult
import coil.ImageLoader
import coil3.ImageLoader
import com.pyamsoft.pydroid.billing.BillingModule
import com.pyamsoft.pydroid.bootstrap.changelog.ChangeLogModule
import com.pyamsoft.pydroid.ui.app.AppProvider
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import coil.ImageLoader
import coil3.ImageLoader
import com.pyamsoft.pydroid.billing.BillingSku
import com.pyamsoft.pydroid.billing.BillingState
import com.pyamsoft.pydroid.theme.keylines
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.window.Dialog
import coil.ImageLoader
import coil3.ImageLoader
import com.pyamsoft.pydroid.theme.keylines
import com.pyamsoft.pydroid.ui.app.rememberDialogProperties
import com.pyamsoft.pydroid.ui.changelog.ChangeLogProvider
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
package com.pyamsoft.pydroid.ui.internal.changelog.dialog

import androidx.annotation.CheckResult
import coil.ImageLoader
import coil3.ImageLoader
import com.pyamsoft.pydroid.bootstrap.changelog.ChangeLogModule
import com.pyamsoft.pydroid.ui.changelog.ChangeLogProvider

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import coil.ImageLoader
import coil3.ImageLoader
import com.pyamsoft.pydroid.theme.keylines
import com.pyamsoft.pydroid.ui.R
import com.pyamsoft.pydroid.ui.defaults.TypographyDefaults
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
package com.pyamsoft.pydroid.ui.internal.datapolicy.dialog

import androidx.annotation.CheckResult
import coil.ImageLoader
import coil3.ImageLoader
import com.pyamsoft.pydroid.bootstrap.datapolicy.DataPolicyModule
import com.pyamsoft.pydroid.ui.app.AppProvider

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.ui.Modifier
import androidx.compose.ui.window.Dialog
import coil.ImageLoader
import coil3.ImageLoader
import com.pyamsoft.pydroid.theme.keylines
import com.pyamsoft.pydroid.ui.app.rememberDialogProperties
import com.pyamsoft.pydroid.ui.changelog.ChangeLogProvider
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import coil.ImageLoader
import coil3.ImageLoader
import com.pyamsoft.pydroid.theme.keylines
import com.pyamsoft.pydroid.ui.R
import com.pyamsoft.pydroid.ui.haptics.LocalHapticManager
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,18 @@ import android.graphics.drawable.ColorDrawable
import androidx.annotation.CheckResult
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
import coil.ComponentRegistry
import coil.ImageLoader
import coil.decode.DataSource.MEMORY
import coil.disk.DiskCache
import coil.memory.MemoryCache
import coil.request.DefaultRequestOptions
import coil.request.Disposable
import coil.request.ErrorResult
import coil.request.ImageRequest
import coil.request.ImageResult
import coil.request.SuccessResult
import coil3.ComponentRegistry
import coil3.ImageLoader
import coil3.asImage
import coil3.decode.DataSource.MEMORY
import coil3.disk.DiskCache
import coil3.memory.MemoryCache
import coil3.request.Disposable
import coil3.request.ErrorResult
import coil3.request.ImageRequest
import coil3.request.ImageRequest.Defaults
import coil3.request.ImageResult
import coil3.request.SuccessResult
import kotlinx.coroutines.Deferred
import kotlinx.coroutines.MainScope
import kotlinx.coroutines.async
Expand All @@ -51,7 +52,7 @@ private class TestImageLoader(context: Context) : ImageLoader {
override val job: Deferred<ImageResult> =
MainScope().async<ImageResult> {
ErrorResult(
drawable = null,
image = null,
request = ImageRequest.Builder(context).build(),
throwable = RuntimeException("Test"),
)
Expand All @@ -60,25 +61,25 @@ private class TestImageLoader(context: Context) : ImageLoader {
override fun dispose() {}
}

override val components: ComponentRegistry = ComponentRegistry()
override val components = ComponentRegistry()

override val defaults: DefaultRequestOptions = DefaultRequestOptions()
override val defaults = Defaults()

override val diskCache: DiskCache? = null

override val memoryCache: MemoryCache? = null

override fun enqueue(request: ImageRequest): Disposable {
request.apply {
target?.onStart(placeholder = loadingDrawable)
target?.onSuccess(result = successDrawable)
target?.onStart(placeholder = loadingDrawable.asImage())
target?.onSuccess(result = successDrawable.asImage())
}
return disposable
}

override suspend fun execute(request: ImageRequest): ImageResult {
return SuccessResult(
drawable = successDrawable,
image = successDrawable.asImage(),
request = request,
dataSource = MEMORY,
)
Expand Down

0 comments on commit 9de7a47

Please sign in to comment.