Android-Sample/data/build.gradle.kts
Adrian Kuta 3490ee7514 Refactor: Migrate network layer from Retrofit to Ktor
This commit migrates the network layer from Retrofit to Ktor.

Specific changes include:

-
 Replaced Retrofit with Ktor for network requests.
- Updated dependencies to include Ktor libraries.
- Refactored network service and data classes to use Ktor's API.
- Removed Retrofit-specific code and dependencies.
- Adjusted network module to provide Ktor client and services.
- Updated Pixabay
ImageRepository to use the new Ktor-based PixabayService.
- Introduced Result sealed class to handle network responses.
- Updated PhotoDetailViewModel to handle Result.Error state.
2024-08-22 15:07:06 +02:00

46 lines
1.3 KiB
Plaintext

import java.util.Properties
@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed
plugins {
alias(libs.plugins.convention.android.library)
alias(libs.plugins.kotlin.serialization)
}
android {
namespace = "dev.adriankuta.pixabay.data"
buildFeatures {
buildConfig = true
}
defaultConfig {
val localPropertiesFile = project.rootProject.file("local.properties")
val properties = Properties()
properties.load(localPropertiesFile.inputStream())
val apiKey = properties.getProperty("PIXABAY_API_KEY") ?: ""
buildConfigField("String", "PIXABAY_API_KEY", "\"$apiKey\"")
}
}
dependencies {
implementation(libs.androidx.paging.compose)
//Kotlin Serialization
implementation(libs.kotlinx.serialization.json)
//Ktor
implementation(libs.ktor.client.android)
implementation(libs.ktor.client.resources)
implementation(libs.ktor.client.content.negotiation)
implementation(libs.ktor.client.logging)
implementation(libs.ktor.serialization.kotlinx.json)
//Logging
implementation(libs.slf4j.android)
implementation(libs.androidx.room.runtime)
ksp(libs.androidx.room.compiler)
implementation(libs.androidx.room.ktx)
implementation(libs.androidx.room.paging)
}