Skip to content

Commit

Permalink
Merge pull request #87 from stslex/dev
Browse files Browse the repository at this point in the history
update libs, refactor images
  • Loading branch information
stslex authored Feb 21, 2025
2 parents 435dcf8 + 7210ac9 commit 3a35b90
Show file tree
Hide file tree
Showing 12 changed files with 76 additions and 44 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/android_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
build:

runs-on: ubuntu-latest
timeout-minutes: 15
timeout-minutes: 30

steps:

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ local.properties
play_config.*
keystore.*
Gemfile.lock
build
12 changes: 12 additions & 0 deletions core/image/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
plugins {
alias(libs.plugins.convention.library)
alias(libs.plugins.convention.library.compose)
}

dependencies {
implementation(project(":core:core"))

implementation(libs.bundles.ktor)
implementation(libs.bundles.okhttp)
implementation(libs.coil.ktor)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package st.slex.scplashscreen.core.image

import android.content.Context
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.platform.LocalContext
import coil3.request.CachePolicy
import coil3.request.ImageRequest

object AppImageRequest {

@Composable
fun createImageRequestBuilder(url: String): ImageRequest.Builder {
val context = LocalContext.current
return remember {
createImageRequestBuilder(context, url)
.placeholderMemoryCacheKey(url)
}
}

fun createImageRequestBuilder(
context: Context,
url: String
): ImageRequest.Builder = ImageRequest
.Builder(context)
.data(url)
.networkCachePolicy(CachePolicy.ENABLED)
.diskCachePolicy(CachePolicy.ENABLED)
.memoryCachePolicy(CachePolicy.ENABLED)
.diskCacheKey(url)
.memoryCacheKey(url)
}
1 change: 1 addition & 0 deletions core/ui/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ dependencies {
implementation(project(":core:core"))
implementation(project(":core:navigation"))
implementation(project(":core:network"))
implementation(project(":core:image"))
api(libs.androidx.compose.navigation)

implementation(libs.androidx.paging.runtime)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ package st.slex.csplashscreen.core.ui.components
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import coil.compose.AsyncImage
import coil.request.CachePolicy
import coil.request.ImageRequest
import coil3.compose.AsyncImage
import coil3.request.crossfade
import st.slex.scplashscreen.core.image.AppImageRequest.createImageRequestBuilder

@Composable
fun ImageComponent(
Expand All @@ -16,14 +15,7 @@ fun ImageComponent(
) {
AsyncImage(
modifier = modifier,
model = ImageRequest.Builder(LocalContext.current)
.data(url)
.placeholderMemoryCacheKey(url)
.memoryCacheKey(url)
.diskCacheKey(url)
.networkCachePolicy(CachePolicy.ENABLED)
.diskCachePolicy(CachePolicy.ENABLED)
.memoryCachePolicy(CachePolicy.ENABLED)
model = createImageRequestBuilder(url)
.crossfade(true)
.build(),
contentDescription = null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ fun <T : Any> PhotosBaseLazyList(
vertical = Dimen.large
),
) {

items(
count = items.itemCount,
key = items.itemKey(key),
Expand Down
6 changes: 3 additions & 3 deletions fastlane/report.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@



<testcase classname="fastlane.lanes" name="0: default_platform" time="0.000280664">
<testcase classname="fastlane.lanes" name="0: default_platform" time="0.000275576">

</testcase>


<testcase classname="fastlane.lanes" name="1: clean bundle" time="363.120756488">
<testcase classname="fastlane.lanes" name="1: clean bundle" time="677.542868698">

</testcase>


<testcase classname="fastlane.lanes" name="2: upload_to_play_store" time="29.558597256">
<testcase classname="fastlane.lanes" name="2: upload_to_play_store" time="35.738331201">

</testcase>

Expand Down
1 change: 1 addition & 0 deletions feature/photo-detail/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ dependencies {
implementation(project(":core:network"))
implementation(project(":core:photos"))
implementation(project(":core:favourite"))
implementation(project(":core:image"))
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,23 @@ package st.slex.csplashscreen.feature.photo_detail.ui.utils

import android.app.WallpaperManager
import android.content.Context
import androidx.core.graphics.drawable.toBitmap
import coil.ImageLoader
import coil.request.CachePolicy
import coil.request.ImageRequest
import coil3.SingletonImageLoader
import coil3.toBitmap
import st.slex.scplashscreen.core.image.AppImageRequest

class WallpaperSetUseCaseImpl(
private val context: Context,
) : WallpaperSetUseCase {

override operator fun invoke(url: String) {
val imageLoader = ImageLoader(context)
val imageRequest = ImageRequest.Builder(context)
.data(url)
.diskCacheKey(url)
.memoryCacheKey(url)
.placeholderMemoryCacheKey(url)
.diskCachePolicy(CachePolicy.READ_ONLY)
.diskCachePolicy(CachePolicy.READ_ONLY)
.diskCachePolicy(CachePolicy.READ_ONLY)
val request = AppImageRequest
.createImageRequestBuilder(context, url)
.listener { _, result ->
WallpaperManager
.getInstance(context)
.setBitmap(result.drawable.toBitmap())
.setBitmap(result.image.toBitmap())
}
.build()
imageLoader.enqueue(imageRequest)
SingletonImageLoader.get(context).enqueue(request)
}
}
25 changes: 13 additions & 12 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
[versions]
androidDesugarJdkLibs = "2.1.4"
kotlin = "2.0.20"
androidGradlePlugin = "8.8.0"
androidTools = "31.8.0"
kotlin = "2.1.0"
androidGradlePlugin = "8.8.1"
androidTools = "31.8.1"

minSdk = "28"
targetSdk = "35"
compileSdk = "35"
versionName = "1.75"
versionCode = "22"
versionName = "1.76"
versionCode = "23"

ktx = "1.15.0"
material = "1.12.0"
Expand All @@ -17,11 +17,11 @@ immutableCollection = "0.3.5"
lifecycle = "2.8.7"
coroutines = "1.9.0"

composeBom = "2025.01.01"
composeBom = "2025.02.00"
composeGradle = "1.7.0"
composeNavigation = "2.8.6"
composeNavigation = "2.8.7"
accompanist = "0.30.0"
coilCompose = "2.5.0"
coil = "3.0.2"
composeActivity = "1.10.0"

koin = "4.0.0"
Expand All @@ -37,11 +37,11 @@ robolectric = "4.9"
androidxTest = "1.6.1"

room = "2.6.1"
ksp = "2.0.20-1.0.24"
ksp = "2.1.0-1.0.28"
mockito = "2.19.0"
vkompose = "0.6.1-k2"
vkompose = "0.7"
serialization = "1.7.3"
paging = "3.3.5"
paging = "3.3.6"
slf4j = "1.7.9"
coroutineTest = "1.9.0"
[libraries]
Expand Down Expand Up @@ -79,7 +79,8 @@ androidx-compose-tooling = { group = "androidx.compose.ui", name = "ui-tooling"
androidx-compose-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
androidx-compose-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }

coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coilCompose" }
coil-compose = { group = "io.coil-kt.coil3", name = "coil-compose", version.ref = "coil" }
coil-ktor = { module = "io.coil-kt.coil3:coil-network-ktor3", version.ref = "coil" }

androidx-compose-paging = { group = "androidx.paging", name = "paging-compose", version.ref = "paging" }
androidx-paging-runtime = { group = "androidx.paging", name = "paging-runtime-ktx", version.ref = "paging" }
Expand Down
1 change: 1 addition & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ include(":core:navigation")
include(":core:network")
include(":core:photos")
include(":core:collection")
include(":core:image")

include(":feature:home")
include(":feature:collection")
Expand Down

0 comments on commit 3a35b90

Please sign in to comment.