Skip to content
Snippets Groups Projects
Unverified Commit d7ceabe9 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

chore: update dependencies

parent 01b29cd0
No related branches found
No related tags found
No related merge requests found
Showing
with 99 additions and 82 deletions
*.iml
.gradle
.kotlin
/local.properties
/signing.properties
/.idea/*
......
......@@ -24,7 +24,6 @@
package de.chaosdorf.mete.v1
import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory
import de.chaosdorf.mete.model.MeteApi
import de.chaosdorf.mete.model.MeteApiFactory
import de.chaosdorf.mete.util.Code204Interceptor
......@@ -32,6 +31,7 @@ import kotlinx.serialization.json.Json
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.OkHttpClient
import retrofit2.Retrofit
import retrofit2.converter.kotlinx.serialization.asConverterFactory
import retrofit2.create
object MeteApiV1Factory : MeteApiFactory {
......
......@@ -24,6 +24,7 @@ plugins {
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.kotlin.ksp)
alias(libs.plugins.dagger.hilt)
alias(libs.plugins.compose.compiler)
}
android {
......@@ -91,6 +92,7 @@ dependencies {
implementation(libs.okhttp)
implementation(libs.coil.compose)
implementation(libs.coil.okhttp)
implementation(libs.hilt.navigation)
implementation(libs.hilt.android)
......
......@@ -21,22 +21,24 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package de.chaosdorf.meteroid
import android.app.Application
import coil.ImageLoader
import coil.ImageLoaderFactory
import coil.disk.DiskCache
import coil.memory.MemoryCache
import coil3.ImageLoader
import coil3.PlatformContext
import coil3.SingletonImageLoader
import coil3.disk.DiskCache
import coil3.disk.directory
import coil3.memory.MemoryCache
import dagger.hilt.android.HiltAndroidApp
@HiltAndroidApp
class MeteroidApplication : Application(), ImageLoaderFactory {
override fun newImageLoader() = ImageLoader.Builder(applicationContext)
class MeteroidApplication : Application(), SingletonImageLoader.Factory {
override fun newImageLoader(context: PlatformContext): ImageLoader {
return ImageLoader.Builder(context)
.memoryCache {
MemoryCache.Builder(applicationContext)
.maxSizePercent(0.25)
MemoryCache.Builder()
.maxSizePercent(context, 0.25)
.build()
}
.diskCache {
......@@ -45,6 +47,6 @@ class MeteroidApplication : Application(), ImageLoaderFactory {
.maxSizePercent(0.02)
.build()
}
.respectCacheHeaders(false)
.build()
}
}
......@@ -40,7 +40,7 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage
import coil3.compose.AsyncImage
import de.chaosdorf.meteroid.theme.icons.MeteroidIcons
import de.chaosdorf.meteroid.theme.icons.filled.WaterFull
......
......@@ -81,7 +81,6 @@ fun MeteroidRouter(
exitTransition = { fadeOut() },
popEnterTransition = { fadeIn() },
popExitTransition = { fadeOut() },
modifier = Modifier.padding(paddingValues)
) {
composable(
MeteroidScreen.Home.Purchase.route, arguments = listOf(
......
......@@ -24,10 +24,13 @@
package de.chaosdorf.meteroid.ui
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.*
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Surface
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.navigation.NavController
import de.chaosdorf.meteroid.ui.home.MeteroidBottomBar
import de.chaosdorf.meteroid.ui.navigation.MeteroidNavigation
......@@ -40,12 +43,27 @@ fun MeteroidScaffold(
viewModel: NavigationViewModel,
content: @Composable (PaddingValues) -> Unit
) {
Box {
Column {
Surface(
modifier = Modifier
.fillMaxWidth()
.windowInsetsTopHeight(WindowInsets.statusBars),
color = MaterialTheme.colorScheme.scrim.copy(alpha = .38f),
) {}
Box(Modifier.weight(1f)) {
Scaffold(
bottomBar = { MeteroidBottomBar(navController, viewModel) },
content = content
)
Surface(
modifier = Modifier
.align(Alignment.BottomCenter)
.fillMaxWidth()
.windowInsetsBottomHeight(WindowInsets.navigationBars),
color = MaterialTheme.colorScheme.scrim.copy(alpha = .38f),
) {}
NavigationScrim(viewModel)
MeteroidNavigation(navController, viewModel)
}
}
}
......@@ -42,7 +42,7 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import coil.compose.rememberAsyncImagePainter
import coil3.compose.rememberAsyncImagePainter
import de.chaosdorf.meteroid.model.Drink
import de.chaosdorf.meteroid.theme.secondaryGradient
import de.chaosdorf.meteroid.ui.home.PriceBadge
......
......@@ -41,7 +41,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.unit.dp
import coil.compose.rememberAsyncImagePainter
import coil3.compose.rememberAsyncImagePainter
import de.chaosdorf.meteroid.model.Drink
import de.chaosdorf.meteroid.model.Transaction
import de.chaosdorf.meteroid.theme.secondaryGradient
......
......@@ -41,7 +41,7 @@ import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalConfiguration
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.unit.dp
import coil.compose.rememberAsyncImagePainter
import coil3.compose.rememberAsyncImagePainter
import de.chaosdorf.meteroid.R
import java.time.format.TextStyle
......
......@@ -38,7 +38,7 @@ import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.navigation.NavController
import coil.compose.AsyncImage
import coil3.compose.AsyncImage
import kotlinx.coroutines.launch
import okhttp3.HttpUrl.Companion.toHttpUrl
......
......@@ -31,8 +31,8 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.RenderVectorGroup
import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.unit.Dp
import coil.compose.AsyncImagePainter
import coil.compose.rememberAsyncImagePainter
import coil3.compose.AsyncImagePainter
import coil3.compose.rememberAsyncImagePainter
@Composable
fun rememberAvatarPainter(url: String?, iconWidth: Dp, iconHeight: Dp, iconTint: Color): AsyncImagePainter {
......
......@@ -13,4 +13,5 @@ plugins {
alias(libs.plugins.kotlin.serialization) apply false
alias(libs.plugins.kotlin.ksp) apply false
alias(libs.plugins.dagger.hilt) apply false
alias(libs.plugins.compose.compiler) apply false
}
......@@ -16,11 +16,11 @@ class AndroidApplicationConvention : Plugin<Project> {
}
extensions.configure<ApplicationExtension> {
compileSdk = 34
compileSdk = 35
defaultConfig {
minSdk = 21
targetSdk = 34
targetSdk = 35
applicationId = "${rootProject.group}.${rootProject.name.lowercase(Locale.ROOT)}"
versionCode = cmd("git", "rev-list", "--count", "HEAD")?.toIntOrNull() ?: 1
......
......@@ -12,7 +12,7 @@ class AndroidLibraryConvention : Plugin<Project> {
}
extensions.configure<LibraryExtension> {
compileSdk = 34
compileSdk = 35
defaultConfig {
minSdk = 21
......
......@@ -21,10 +21,6 @@ class KotlinAndroidConvention : Plugin<Project> {
kotlinOptions {
freeCompilerArgs = freeCompilerArgs + listOf(
"-opt-in=kotlin.RequiresOptIn",
// Enable experimental coroutines APIs, including Flow
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
"-opt-in=kotlinx.coroutines.FlowPreview",
"-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
"-opt-in=kotlin.ExperimentalUnsignedTypes",
)
......
......@@ -18,10 +18,6 @@ class KotlinConvention : Plugin<Project> {
extensions.configure<KotlinJvmProjectExtension> {
compilerOptions.freeCompilerArgs.addAll(
"-opt-in=kotlin.RequiresOptIn",
// Enable experimental coroutines APIs, including Flow
"-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
"-opt-in=kotlinx.coroutines.FlowPreview",
"-opt-in=kotlin.Experimental",
"-opt-in=kotlin.ExperimentalUnsignedTypes",
)
......
[versions]
androidGradlePlugin = "8.1.4"
androidx-activity = "1.8.1"
androidx-appcompat = "1.6.1"
androidx-compose = "1.6.0-beta02"
androidx-compose-compiler = "1.5.5"
androidx-compose-material3 = "1.2.0-alpha12"
androidx-compose-runtimetracing = "1.0.0-beta01"
androidx-datastore = "1.0.0"
androidx-hilt = "1.1.0"
androidx-navigation = "2.7.5"
androidx-room = "2.6.1"
coil = "2.4.0"
dagger-hilt = "2.48.1"
desugar-jdk = "2.0.4"
kotlin = "1.9.20"
kotlin-ksp = "1.9.20-1.0.14"
kotlinxCoroutines = "1.7.1"
kotlinxDatetime = "0.4.0"
kotlinxSerializationJson = "1.5.1"
junit = "5.10.0"
kotlin = "2.1.21"
kotlin-ksp = "2.1.21-2.0.1"
kotlinxCoroutines = "1.10.2"
kotlinxDatetime = "0.6.2"
kotlinxSerializationJson = "1.8.1"
androidGradlePlugin = "8.10.0"
androidx-activity = "1.10.1"
androidx-appcompat = "1.7.1"
androidx-compose = "1.8.2"
androidx-compose-compiler = "1.5.15"
androidx-datastore = "1.1.7"
androidx-navigation = "2.9.0"
androidx-room = "2.7.1"
androidx-splashscreen = "1.0.1"
androidx-material3 = "1.3.2"
androidx-material-icons = "1.7.8"
dagger-hilt = "2.56.2"
androidx-hilt = "1.2.0"
coil = "3.2.0"
desugar-jdk = "2.1.5"
junit = "5.13.1"
okhttp = "4.12.0"
retrofit = "3.0.0"
[libraries]
androidx-activity = { module = "androidx.activity:activity-ktx", version.ref = "androidx-activity" }
......@@ -30,20 +36,14 @@ androidx-appcompat-resources = { module = "androidx.appcompat:appcompat-resource
androidx-compose-compiler = { module = "androidx.compose.compiler:compiler", version.ref = "androidx-compose-compiler" }
androidx-compose-animation = { group = "androidx.compose.animation", name = "animation", version.ref = "androidx-compose" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "androidx-compose" }
androidx-compose-foundation-layout = { group = "androidx.compose.foundation", name = "foundation-layout", version.ref = "androidx-compose" }
androidx-compose-material-icons = { group = "androidx.compose.material", name = "material-icons-extended", version = "androidx-compose" }
androidx-compose-material = { group = "androidx.compose.material3", name = "material3", version.ref = "androidx-compose-material3" }
androidx-compose-material-windowSizeClass = { group = "androidx.compose.material3", name = "material3-window-size-class", version.ref = "androidx-compose-material3" }
androidx-compose-material-icons = { group = "androidx.compose.material", name = "material-icons-extended", version.ref = "androidx-material-icons" }
androidx-compose-material = { group = "androidx.compose.material3", name = "material3", version.ref = "androidx-material3" }
androidx-compose-runtime = { group = "androidx.compose.runtime", name = "runtime", version.ref = "androidx-compose" }
androidx-compose-runtime-livedata = { group = "androidx.compose.runtime", name = "runtime-livedata", version.ref = "androidx-compose" }
androidx-compose-runtime-tracing = { group = "androidx.compose.runtime", name = "runtime-tracing", version.ref = "androidx-compose-runtimetracing" }
androidx-compose-ui-test = { group = "androidx.compose.ui", name = "ui-test", version.ref = "androidx-compose" }
androidx-compose-ui-testManifest = { group = "androidx.compose.ui", name = "ui-test-manifest", version.ref = "androidx-compose" }
androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "androidx-compose" }
androidx-compose-ui-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview", version.ref = "androidx-compose" }
androidx-compose-ui-util = { group = "androidx.compose.ui", name = "ui-util", version.ref = "androidx-compose" }
androidx-splashscreen = { module = "androidx.core:core-splashscreen", version = "1.0.1" }
androidx-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "androidx-splashscreen" }
androidx-datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "androidx-datastore" }
......@@ -52,14 +52,15 @@ androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref =
androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "androidx-room" }
androidx-room-paging = { module = "androidx.room:room-paging", version.ref = "androidx-room" }
coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" }
coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" }
coil-okhttp = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coil" }
hilt-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "dagger-hilt" }
hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "dagger-hilt" }
hilt-navigation = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "androidx-hilt" }
okhttp = { module = "com.squareup.okhttp3:okhttp", version = "4.12.0" }
retrofit-core = { module = "com.squareup.retrofit2:retrofit", version = "2.9.0" }
retrofit-converter-kotlinx = { module = "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter", version = "1.0.0" }
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
retrofit-core = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
retrofit-converter-kotlinx = { module = "com.squareup.retrofit2:converter-kotlinx-serialization", version.ref = "retrofit" }
androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "androidx-navigation" }
......@@ -89,3 +90,4 @@ dagger-hilt = { id = "com.google.dagger.hilt.android", version.ref = "dagger-hil
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
kotlin-ksp = { id = "com.google.devtools.ksp", version.ref = "kotlin-ksp" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment