diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 41f85254f6..c766c9b538 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -7,8 +7,9 @@ androidx-compose-ui = "1.5.4" jbCompose = "1.5.11" lint = "31.2.0" zipline = "1.7.0" -coil = "2.5.0" +coil = "3.0.0-alpha01" okio = "3.7.0" +ktor = "2.3.7" [libraries] kotlin-compiler = { module = "org.jetbrains.kotlin:kotlin-compiler", version.ref = "kotlin" } @@ -75,8 +76,10 @@ zipline-gradlePlugin = { module = "app.cash.zipline:zipline-gradle-plugin", vers zipline-loader = { module = "app.cash.zipline:zipline-loader", version.ref = "zipline" } paparazzi-gradlePlugin = { module = "app.cash.paparazzi:paparazzi-gradle-plugin", version = "1.3.1" } jimfs = "com.google.jimfs:jimfs:1.3.0" -coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" } -coil-core = { module = "io.coil-kt:coil", version.ref = "coil" } +coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" } +coil-core = { module = "io.coil-kt.coil3:coil", version.ref = "coil" } +coil-network = { module = "io.coil-kt.coil3:coil-network", version.ref = "coil" } +ktor-engine-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" } turbine = "app.cash.turbine:turbine:1.0.0" ktlint = "com.pinterest.ktlint:ktlint-cli:1.1.0" googleJavaFormat = "com.google.googlejavaformat:google-java-format:1.19.1" diff --git a/samples/emoji-search/android-composeui/build.gradle b/samples/emoji-search/android-composeui/build.gradle index 68b98557a8..a42a66c8a0 100644 --- a/samples/emoji-search/android-composeui/build.gradle +++ b/samples/emoji-search/android-composeui/build.gradle @@ -21,6 +21,8 @@ android { dependencies { implementation libs.coil.compose + implementation libs.coil.network + implementation libs.ktor.engine.okhttp implementation libs.google.material implementation libs.kotlinx.coroutines.android implementation projects.samples.emojiSearch.launcher diff --git a/samples/emoji-search/android-composeui/src/main/AndroidManifest.xml b/samples/emoji-search/android-composeui/src/main/AndroidManifest.xml index 46143f4f27..2f7f8fd4ed 100644 --- a/samples/emoji-search/android-composeui/src/main/AndroidManifest.xml +++ b/samples/emoji-search/android-composeui/src/main/AndroidManifest.xml @@ -6,6 +6,7 @@ Unit> { diff --git a/samples/emoji-search/android-composeui/src/main/kotlin/com/example/redwood/emojisearch/android/composeui/EmojiSearchApplication.kt b/samples/emoji-search/android-composeui/src/main/kotlin/com/example/redwood/emojisearch/android/composeui/EmojiSearchApplication.kt new file mode 100644 index 0000000000..73fad3907f --- /dev/null +++ b/samples/emoji-search/android-composeui/src/main/kotlin/com/example/redwood/emojisearch/android/composeui/EmojiSearchApplication.kt @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2024 Square, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.example.redwood.emojisearch.android.composeui + +import android.app.Application +import coil3.ImageLoader +import coil3.PlatformContext +import coil3.SingletonImageLoader +import coil3.fetch.NetworkFetcher + +class EmojiSearchApplication : Application(), SingletonImageLoader.Factory { + override fun newImageLoader(context: PlatformContext): ImageLoader { + return ImageLoader.Builder(context) + .components { + add(NetworkFetcher.Factory()) + } + .build() + } +} diff --git a/samples/emoji-search/android-views/build.gradle b/samples/emoji-search/android-views/build.gradle index 19e4017b33..d691b9cb49 100644 --- a/samples/emoji-search/android-views/build.gradle +++ b/samples/emoji-search/android-views/build.gradle @@ -20,6 +20,8 @@ android { dependencies { implementation libs.coil.core + implementation libs.coil.network + implementation libs.ktor.engine.okhttp implementation libs.google.material implementation libs.kotlinx.coroutines.android implementation projects.samples.emojiSearch.launcher diff --git a/samples/emoji-search/android-views/src/main/AndroidManifest.xml b/samples/emoji-search/android-views/src/main/AndroidManifest.xml index 4a1469c40b..2d61af955c 100644 --- a/samples/emoji-search/android-views/src/main/AndroidManifest.xml +++ b/samples/emoji-search/android-views/src/main/AndroidManifest.xml @@ -22,6 +22,7 @@