diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 3f7c1b0..463b333 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -66,6 +66,18 @@ android { ) } } + + flavorDimensions += "version" + productFlavors { + create("prod") { + dimension = "version" + } + + create("demo") { + dimension = "version" + } + } + compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 @@ -98,7 +110,6 @@ dependencies { implementation(libs.clarity) implementation(libs.ga4) - // Compose implementation(platform(libs.compose.bom)) implementation(libs.bundles.compose) diff --git a/consentium-ui/build.gradle.kts b/consentium-ui/build.gradle.kts index a680e58..d8afeb1 100644 --- a/consentium-ui/build.gradle.kts +++ b/consentium-ui/build.gradle.kts @@ -22,6 +22,22 @@ android { proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } } + + flavorDimensions += "version" + productFlavors { + create("prod") { + dimension = "version" + } + + create("demo") { + dimension = "version" + } + } + + buildFeatures { + buildConfig = true + } + compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 diff --git a/consentium-ui/src/main/java/fr/openium/consentium_ui/data/di/NetworkModule.kt b/consentium-ui/src/main/java/fr/openium/consentium_ui/data/di/NetworkModule.kt index 456b1fc..5afcbaf 100644 --- a/consentium-ui/src/main/java/fr/openium/consentium_ui/data/di/NetworkModule.kt +++ b/consentium-ui/src/main/java/fr/openium/consentium_ui/data/di/NetworkModule.kt @@ -8,6 +8,8 @@ import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent import fr.openium.consentium.data.di.ConsentiumUrl import fr.openium.consentium.data.di.OkHttpClientDefault +import fr.openium.consentium_ui.BuildConfig +import fr.openium.consentium_ui.api.mock.ConsentiumUIMockApi import fr.openium.consentium_ui.data.remote.ConsentiumUIApi import kotlinx.serialization.json.Json import okhttp3.HttpUrl @@ -32,11 +34,14 @@ internal object NetworkModule { fun provideConsentiumUIApi( @ConsentiumUrl url: HttpUrl, @OkHttpClientDefault okHttpClient: Lazy, - ): ConsentiumUIApi = + ): ConsentiumUIApi = if (BuildConfig.FLAVOR != "demo") { createRetrofit( url, okHttpClient ).create(ConsentiumUIApi::class.java) + } else { + ConsentiumUIMockApi + } private fun createRetrofit(url: HttpUrl, okHttpClient: Lazy): Retrofit = Retrofit.Builder() diff --git a/consentium-ui/src/main/java/fr/openium/consentium_ui/data/remote/mock/ConsentiumMock.kt b/consentium-ui/src/main/java/fr/openium/consentium_ui/data/remote/mock/ConsentiumMock.kt new file mode 100644 index 0000000..65d610b --- /dev/null +++ b/consentium-ui/src/main/java/fr/openium/consentium_ui/data/remote/mock/ConsentiumMock.kt @@ -0,0 +1,25 @@ +package fr.openium.consentium_ui.api.mock + +import fr.openium.consentium_ui.data.remote.ConsentiumUIApi +import fr.openium.consentium_ui.data.remote.model.GetConsentConfigDTO +import retrofit2.Response +import java.util.UUID + +internal object ConsentiumUIMockApi : ConsentiumUIApi { + + private val consents = GetConsentConfigDTO( + installationId = UUID.randomUUID().toString(), + appName = "Consentium", + icon = "https://www.example.com/icon.png", + primaryColor = "#FF0000", + secondaryColor = "#00FF00", + textColor = "#0000FF", + consentMainTextTranslation = emptyList(), + purposes = emptyList(), + ) + + override suspend fun getConsentConfig(applicationID: String, installationID: String): Response { + return Response.success(consents) + } + +} \ No newline at end of file diff --git a/consentium/build.gradle.kts b/consentium/build.gradle.kts index 40e3717..566b95f 100644 --- a/consentium/build.gradle.kts +++ b/consentium/build.gradle.kts @@ -20,26 +20,29 @@ android { buildTypes { debug { isMinifyEnabled = false - isShrinkResources = false } release { isMinifyEnabled = true - isShrinkResources = true proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } } + flavorDimensions += "version" productFlavors { create("prod") { - dimension = "data" + dimension = "version" } create("demo") { - dimension = "data" + dimension = "version" } } + buildFeatures { + buildConfig = true + } + compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 diff --git a/consentium/src/demo/kotlin/fr/openium/consentium/api/ApiModule.kt b/consentium/src/demo/kotlin/fr/openium/consentium/api/ApiModule.kt deleted file mode 100644 index 445cfb2..0000000 --- a/consentium/src/demo/kotlin/fr/openium/consentium/api/ApiModule.kt +++ /dev/null @@ -1,19 +0,0 @@ -package fr.openium.consentium.api - -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import fr.openium.consentium.data.remote.ConsentiumApi -import fr.openium.consentium.api.mock.ConsentiumMockApi - -@Module -@InstallIn(SingletonComponent::class) -internal class ApiModule { - - @Provides - fun provideConsentiumApi(): ConsentiumApi { - return ConsentiumMockApi - } - -} \ No newline at end of file diff --git a/consentium/src/main/java/fr/openium/consentium/data/di/NetworkModule.kt b/consentium/src/main/java/fr/openium/consentium/data/di/NetworkModule.kt index 39ff191..0d84244 100644 --- a/consentium/src/main/java/fr/openium/consentium/data/di/NetworkModule.kt +++ b/consentium/src/main/java/fr/openium/consentium/data/di/NetworkModule.kt @@ -7,6 +7,8 @@ import dagger.Provides import dagger.Reusable import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent +import fr.openium.consentium.BuildConfig +import fr.openium.consentium.api.mock.ConsentiumMockApi import fr.openium.consentium.data.remote.ConsentiumApi import kotlinx.serialization.json.Json import okhttp3.Cache @@ -54,11 +56,14 @@ object NetworkModule { internal fun provideConsentiumApi( @ConsentiumUrl url: HttpUrl, @OkHttpClientDefault okHttpClient: Lazy, - ): ConsentiumApi = + ): ConsentiumApi = if (BuildConfig.FLAVOR != "demo") { createRetrofit( url, okHttpClient ).create(ConsentiumApi::class.java) + } else { + ConsentiumMockApi + } private fun createRetrofit(url: HttpUrl, okHttpClient: Lazy): Retrofit = Retrofit.Builder() diff --git a/consentium/src/demo/kotlin/fr/openium/consentium/api/mock/ConsentiumMock.kt b/consentium/src/main/java/fr/openium/consentium/data/remote/mock/ConsentiumMock.kt similarity index 100% rename from consentium/src/demo/kotlin/fr/openium/consentium/api/mock/ConsentiumMock.kt rename to consentium/src/main/java/fr/openium/consentium/data/remote/mock/ConsentiumMock.kt