diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 633d4d8..53f699a 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -8,11 +8,11 @@ # kotlinx.serialization -keepattributes *Annotation*, InnerClasses -dontnote kotlinx.serialization.SerializationKt --keep,includedescriptorclasses class com.jcaique.domain.models.**$$serializer { *; } --keepclassmembers class com.jcaique.domain.models.** { +-keep,includedescriptorclasses class com.jcaique.dialetus.domain.models.**$$serializer { *; } +-keepclassmembers class com.jcaique.dialetus.domain.models.** { *** Companion; } --keepclasseswithmembers class com.jcaique.domain.models.** { +-keepclasseswithmembers class com.jcaique.dialetus.domain.models.** { kotlinx.serialization.KSerializer serializer(...); } diff --git a/app/src/main/java/com/jcaique/dialetus/DialetusApplication.kt b/app/src/main/java/com/jcaique/dialetus/DialetusApplication.kt index f0a559f..b524926 100644 --- a/app/src/main/java/com/jcaique/dialetus/DialetusApplication.kt +++ b/app/src/main/java/com/jcaique/dialetus/DialetusApplication.kt @@ -1,8 +1,8 @@ package com.jcaique.dialetus import android.app.Application -import com.jcaique.data.di.dataModule -import com.jcaique.presentation.di.presentationModule +import com.jcaique.dialetus.data.di.dataModule +import com.jcaique.dialetus.presentation.di.presentationModule import kotlinx.coroutines.Dispatchers import org.kodein.di.Kodein import org.kodein.di.KodeinAware diff --git a/data/src/main/java/com/jcaique/data/mappers/DialectsMapper.kt b/data/src/main/java/com/jcaique/data/mappers/DialectsMapper.kt deleted file mode 100644 index 5cfba5a..0000000 --- a/data/src/main/java/com/jcaique/data/mappers/DialectsMapper.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.jcaique.data.mappers - -import com.jcaique.data.responses.DialectResponse -import com.jcaique.domain.models.Dialect -import com.jcaique.domain.models.DialectSlug - -internal object DialectsMapper { - - fun toDomain(response: DialectResponse): Dialect = - Dialect(response.slug, response.dialect, response.meanings, response.examples) - - fun toDomain(response: Map.Entry>): Pair> = - DialectSlug(response.key) to response.value.map(::toDomain) -} diff --git a/data/src/main/java/com/jcaique/data/mappers/RegionsMapper.kt b/data/src/main/java/com/jcaique/data/mappers/RegionsMapper.kt deleted file mode 100644 index 4dca1a8..0000000 --- a/data/src/main/java/com/jcaique/data/mappers/RegionsMapper.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.jcaique.data.mappers - -import com.jcaique.data.responses.RegionResponse -import com.jcaique.domain.models.Region - -internal object RegionsMapper { - fun toDomain(response: RegionResponse): Region = Region(response.name, response.total) -} diff --git a/data/src/main/java/com/jcaique/data/service/dialects/DialectsInfrastructure.kt b/data/src/main/java/com/jcaique/data/service/dialects/DialectsInfrastructure.kt deleted file mode 100644 index 1bcd7a6..0000000 --- a/data/src/main/java/com/jcaique/data/service/dialects/DialectsInfrastructure.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.jcaique.data.service.dialects - -import com.jcaique.data.mappers.DialectsMapper -import com.jcaique.data.networking.executionHandler -import com.jcaique.data.service.DialetusGateway -import com.jcaique.domain.dialects.DialectsService -import com.jcaique.domain.models.Dialect -import com.jcaique.domain.models.DialectSlug - -internal class DialectsInfrastructure(private val api: DialetusGateway) : DialectsService { - - override suspend fun getDialectsBy(region: String): List = executionHandler { - api.getDialectsBy(region) - .map(DialectsMapper::toDomain) - } - - override suspend fun searchDialects(query: String): Map> = executionHandler { - api.searchDialects(query) - .map(DialectsMapper::toDomain) - .toMap() - } -} diff --git a/data/src/main/java/com/jcaique/data/service/regions/RegionsInfrastructure.kt b/data/src/main/java/com/jcaique/data/service/regions/RegionsInfrastructure.kt deleted file mode 100644 index 5726158..0000000 --- a/data/src/main/java/com/jcaique/data/service/regions/RegionsInfrastructure.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.jcaique.data.service.regions - -import com.jcaique.data.mappers.RegionsMapper -import com.jcaique.data.networking.executionHandler -import com.jcaique.data.service.DialetusGateway -import com.jcaique.domain.models.Region -import com.jcaique.domain.regions.RegionsService - -internal class RegionsInfrastructure(private val api: DialetusGateway) : RegionsService { - - override suspend fun fetchRegions(): List = executionHandler { - api.fetchRegions().map { RegionsMapper.toDomain(it) } - } -} diff --git a/data/src/main/java/com/jcaique/data/Consts.kt b/data/src/main/java/com/jcaique/dialetus/data/Consts.kt similarity index 72% rename from data/src/main/java/com/jcaique/data/Consts.kt rename to data/src/main/java/com/jcaique/dialetus/data/Consts.kt index 5ace466..3c1daf9 100644 --- a/data/src/main/java/com/jcaique/data/Consts.kt +++ b/data/src/main/java/com/jcaique/dialetus/data/Consts.kt @@ -1,4 +1,4 @@ -package com.jcaique.data +package com.jcaique.dialetus.data internal object Consts { const val URL = "https://dialetus-service.herokuapp.com/" diff --git a/data/src/main/java/com/jcaique/data/di/injection.kt b/data/src/main/java/com/jcaique/dialetus/data/di/injection.kt similarity index 59% rename from data/src/main/java/com/jcaique/data/di/injection.kt rename to data/src/main/java/com/jcaique/dialetus/data/di/injection.kt index 8f5b9cc..099955d 100644 --- a/data/src/main/java/com/jcaique/data/di/injection.kt +++ b/data/src/main/java/com/jcaique/dialetus/data/di/injection.kt @@ -1,13 +1,13 @@ -package com.jcaique.data.di +package com.jcaique.dialetus.data.di -import com.jcaique.data.Consts.URL -import com.jcaique.data.networking.OkHttpClientProvider -import com.jcaique.data.networking.RetrofitProvider -import com.jcaique.data.service.DialetusGateway -import com.jcaique.data.service.dialects.DialectsInfrastructure -import com.jcaique.data.service.regions.RegionsInfrastructure -import com.jcaique.domain.dialects.DialectsService -import com.jcaique.domain.regions.RegionsService +import com.jcaique.dialetus.data.Consts.URL +import com.jcaique.dialetus.data.networking.OkHttpClientProvider +import com.jcaique.dialetus.data.networking.RetrofitProvider +import com.jcaique.dialetus.data.service.DialetusGateway +import com.jcaique.dialetus.data.service.dialects.DialectsInfrastructure +import com.jcaique.dialetus.data.service.regions.RegionsInfrastructure +import com.jcaique.dialetus.domain.dialects.DialectsService +import com.jcaique.dialetus.domain.regions.RegionsService import okhttp3.logging.HttpLoggingInterceptor import org.kodein.di.Kodein import org.kodein.di.generic.bind diff --git a/data/src/main/java/com/jcaique/dialetus/data/mappers/DialectsMapper.kt b/data/src/main/java/com/jcaique/dialetus/data/mappers/DialectsMapper.kt new file mode 100644 index 0000000..e4fd0dc --- /dev/null +++ b/data/src/main/java/com/jcaique/dialetus/data/mappers/DialectsMapper.kt @@ -0,0 +1,20 @@ +package com.jcaique.dialetus.data.mappers + +import com.jcaique.dialetus.data.responses.DialectResponse +import com.jcaique.dialetus.domain.models.Dialect +import com.jcaique.dialetus.domain.models.DialectSlug + +internal object DialectsMapper { + + fun toDomain(response: DialectResponse): Dialect = + Dialect( + response.slug, + response.dialect, + response.meanings, + response.examples + ) + + fun toDomain(response: Map.Entry>): Pair> = + DialectSlug(response.key) to response.value.map( + DialectsMapper::toDomain) +} diff --git a/data/src/main/java/com/jcaique/dialetus/data/mappers/RegionsMapper.kt b/data/src/main/java/com/jcaique/dialetus/data/mappers/RegionsMapper.kt new file mode 100644 index 0000000..0388e13 --- /dev/null +++ b/data/src/main/java/com/jcaique/dialetus/data/mappers/RegionsMapper.kt @@ -0,0 +1,9 @@ +package com.jcaique.dialetus.data.mappers + +import com.jcaique.dialetus.data.responses.RegionResponse +import com.jcaique.dialetus.domain.models.Region + +internal object RegionsMapper { + fun toDomain(response: RegionResponse): Region = + Region(response.name, response.total) +} diff --git a/data/src/main/java/com/jcaique/data/networking/ExecutionHandler.kt b/data/src/main/java/com/jcaique/dialetus/data/networking/ExecutionHandler.kt similarity index 77% rename from data/src/main/java/com/jcaique/data/networking/ExecutionHandler.kt rename to data/src/main/java/com/jcaique/dialetus/data/networking/ExecutionHandler.kt index d1519ed..6a133f0 100644 --- a/data/src/main/java/com/jcaique/data/networking/ExecutionHandler.kt +++ b/data/src/main/java/com/jcaique/dialetus/data/networking/ExecutionHandler.kt @@ -1,7 +1,10 @@ -package com.jcaique.data.networking +package com.jcaique.dialetus.data.networking internal suspend fun executionHandler(func: suspend () -> T): T { - val transformers = listOf(HttpErrorHandler, SerializationErrorHandler) + val transformers = listOf( + HttpErrorHandler, + SerializationErrorHandler + ) return try { func.invoke() } catch (throwable: Throwable) { diff --git a/data/src/main/java/com/jcaique/data/networking/HttpErrorHandler.kt b/data/src/main/java/com/jcaique/dialetus/data/networking/HttpErrorHandler.kt similarity index 71% rename from data/src/main/java/com/jcaique/data/networking/HttpErrorHandler.kt rename to data/src/main/java/com/jcaique/dialetus/data/networking/HttpErrorHandler.kt index c6ae340..dff09fa 100644 --- a/data/src/main/java/com/jcaique/data/networking/HttpErrorHandler.kt +++ b/data/src/main/java/com/jcaique/dialetus/data/networking/HttpErrorHandler.kt @@ -1,7 +1,7 @@ -package com.jcaique.data.networking +package com.jcaique.dialetus.data.networking -import com.jcaique.domain.errors.ErrorTransformer -import com.jcaique.domain.errors.GatewayIntegrationIssues +import com.jcaique.dialetus.domain.errors.ErrorTransformer +import com.jcaique.dialetus.domain.errors.GatewayIntegrationIssues import java.net.HttpURLConnection.HTTP_BAD_REQUEST import java.net.HttpURLConnection.HTTP_NOT_FOUND import retrofit2.HttpException @@ -11,7 +11,9 @@ internal object HttpErrorHandler : ErrorTransformer { private const val HTTP_CLIENT_CLOSED_REQUEST = 499 override suspend fun transform(incoming: Throwable): Throwable = when (incoming) { - is HttpException -> handleHttpError(incoming.code()) + is HttpException -> handleHttpError( + incoming.code() + ) else -> incoming } diff --git a/data/src/main/java/com/jcaique/data/networking/OkHttpClientProvider.kt b/data/src/main/java/com/jcaique/dialetus/data/networking/OkHttpClientProvider.kt similarity index 85% rename from data/src/main/java/com/jcaique/data/networking/OkHttpClientProvider.kt rename to data/src/main/java/com/jcaique/dialetus/data/networking/OkHttpClientProvider.kt index a786cc5..904e54c 100644 --- a/data/src/main/java/com/jcaique/data/networking/OkHttpClientProvider.kt +++ b/data/src/main/java/com/jcaique/dialetus/data/networking/OkHttpClientProvider.kt @@ -1,4 +1,4 @@ -package com.jcaique.data.networking +package com.jcaique.dialetus.data.networking import okhttp3.Interceptor import okhttp3.OkHttpClient diff --git a/data/src/main/java/com/jcaique/data/networking/RetrofitProvider.kt b/data/src/main/java/com/jcaique/dialetus/data/networking/RetrofitProvider.kt similarity index 80% rename from data/src/main/java/com/jcaique/data/networking/RetrofitProvider.kt rename to data/src/main/java/com/jcaique/dialetus/data/networking/RetrofitProvider.kt index c67765a..af0b1b9 100644 --- a/data/src/main/java/com/jcaique/data/networking/RetrofitProvider.kt +++ b/data/src/main/java/com/jcaique/dialetus/data/networking/RetrofitProvider.kt @@ -1,4 +1,4 @@ -package com.jcaique.data.networking +package com.jcaique.dialetus.data.networking import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory import kotlinx.serialization.json.Json @@ -19,7 +19,10 @@ internal object RetrofitProvider { fun provide(url: String, okHttpClient: OkHttpClient) = Retrofit.Builder() .baseUrl(url) - .addConverterFactory(json.asConverterFactory(contentType)) + .addConverterFactory( + json.asConverterFactory( + contentType + )) .client(okHttpClient) .build() } diff --git a/data/src/main/java/com/jcaique/data/networking/SerializationErrorHandler.kt b/data/src/main/java/com/jcaique/dialetus/data/networking/SerializationErrorHandler.kt similarity index 73% rename from data/src/main/java/com/jcaique/data/networking/SerializationErrorHandler.kt rename to data/src/main/java/com/jcaique/dialetus/data/networking/SerializationErrorHandler.kt index 627ab9e..6f67de0 100644 --- a/data/src/main/java/com/jcaique/data/networking/SerializationErrorHandler.kt +++ b/data/src/main/java/com/jcaique/dialetus/data/networking/SerializationErrorHandler.kt @@ -1,7 +1,7 @@ -package com.jcaique.data.networking +package com.jcaique.dialetus.data.networking -import com.jcaique.domain.errors.ErrorTransformer -import com.jcaique.domain.errors.UnexpectedResponse +import com.jcaique.dialetus.domain.errors.ErrorTransformer +import com.jcaique.dialetus.domain.errors.UnexpectedResponse import kotlinx.serialization.MissingFieldException import kotlinx.serialization.SerializationException import kotlinx.serialization.UnknownFieldException diff --git a/data/src/main/java/com/jcaique/data/responses/DialectResponse.kt b/data/src/main/java/com/jcaique/dialetus/data/responses/DialectResponse.kt similarity index 81% rename from data/src/main/java/com/jcaique/data/responses/DialectResponse.kt rename to data/src/main/java/com/jcaique/dialetus/data/responses/DialectResponse.kt index facedd3..92b6136 100644 --- a/data/src/main/java/com/jcaique/data/responses/DialectResponse.kt +++ b/data/src/main/java/com/jcaique/dialetus/data/responses/DialectResponse.kt @@ -1,4 +1,4 @@ -package com.jcaique.data.responses +package com.jcaique.dialetus.data.responses import kotlinx.serialization.Serializable diff --git a/data/src/main/java/com/jcaique/data/responses/RegionResponse.kt b/data/src/main/java/com/jcaique/dialetus/data/responses/RegionResponse.kt similarity index 75% rename from data/src/main/java/com/jcaique/data/responses/RegionResponse.kt rename to data/src/main/java/com/jcaique/dialetus/data/responses/RegionResponse.kt index 2696049..14388b4 100644 --- a/data/src/main/java/com/jcaique/data/responses/RegionResponse.kt +++ b/data/src/main/java/com/jcaique/dialetus/data/responses/RegionResponse.kt @@ -1,4 +1,4 @@ -package com.jcaique.data.responses +package com.jcaique.dialetus.data.responses import kotlinx.serialization.Serializable diff --git a/data/src/main/java/com/jcaique/data/service/DialetusGateway.kt b/data/src/main/java/com/jcaique/dialetus/data/service/DialetusGateway.kt similarity index 73% rename from data/src/main/java/com/jcaique/data/service/DialetusGateway.kt rename to data/src/main/java/com/jcaique/dialetus/data/service/DialetusGateway.kt index 7460032..e1409d2 100644 --- a/data/src/main/java/com/jcaique/data/service/DialetusGateway.kt +++ b/data/src/main/java/com/jcaique/dialetus/data/service/DialetusGateway.kt @@ -1,7 +1,7 @@ -package com.jcaique.data.service +package com.jcaique.dialetus.data.service -import com.jcaique.data.responses.DialectResponse -import com.jcaique.data.responses.RegionResponse +import com.jcaique.dialetus.data.responses.DialectResponse +import com.jcaique.dialetus.data.responses.RegionResponse import retrofit2.http.GET import retrofit2.http.Path import retrofit2.http.Query diff --git a/data/src/main/java/com/jcaique/dialetus/data/service/dialects/DialectsInfrastructure.kt b/data/src/main/java/com/jcaique/dialetus/data/service/dialects/DialectsInfrastructure.kt new file mode 100644 index 0000000..24eb64d --- /dev/null +++ b/data/src/main/java/com/jcaique/dialetus/data/service/dialects/DialectsInfrastructure.kt @@ -0,0 +1,25 @@ +package com.jcaique.dialetus.data.service.dialects + +import com.jcaique.dialetus.data.mappers.DialectsMapper +import com.jcaique.dialetus.data.networking.executionHandler +import com.jcaique.dialetus.data.service.DialetusGateway +import com.jcaique.dialetus.domain.dialects.DialectsService +import com.jcaique.dialetus.domain.models.Dialect +import com.jcaique.dialetus.domain.models.DialectSlug + +internal class DialectsInfrastructure(private val api: DialetusGateway) : + DialectsService { + + override suspend fun getDialectsBy(region: String): List = + executionHandler { + api.getDialectsBy(region) + .map(DialectsMapper::toDomain) + } + + override suspend fun searchDialects(query: String): Map> = + executionHandler { + api.searchDialects(query) + .map(DialectsMapper::toDomain) + .toMap() + } +} diff --git a/data/src/main/java/com/jcaique/dialetus/data/service/regions/RegionsInfrastructure.kt b/data/src/main/java/com/jcaique/dialetus/data/service/regions/RegionsInfrastructure.kt new file mode 100644 index 0000000..e89aeb9 --- /dev/null +++ b/data/src/main/java/com/jcaique/dialetus/data/service/regions/RegionsInfrastructure.kt @@ -0,0 +1,16 @@ +package com.jcaique.dialetus.data.service.regions + +import com.jcaique.dialetus.data.mappers.RegionsMapper +import com.jcaique.dialetus.data.networking.executionHandler +import com.jcaique.dialetus.data.service.DialetusGateway +import com.jcaique.dialetus.domain.models.Region +import com.jcaique.dialetus.domain.regions.RegionsService + +internal class RegionsInfrastructure(private val api: DialetusGateway) : + RegionsService { + + override suspend fun fetchRegions(): List = + executionHandler { + api.fetchRegions().map { RegionsMapper.toDomain(it) } + } +} diff --git a/data/src/test/java/com/jcaique/data/common/SetupScenario.kt b/data/src/test/java/com/jcaique/dialetus/data/common/SetupScenario.kt similarity index 86% rename from data/src/test/java/com/jcaique/data/common/SetupScenario.kt rename to data/src/test/java/com/jcaique/dialetus/data/common/SetupScenario.kt index c927497..0e88907 100644 --- a/data/src/test/java/com/jcaique/data/common/SetupScenario.kt +++ b/data/src/test/java/com/jcaique/dialetus/data/common/SetupScenario.kt @@ -1,7 +1,7 @@ -package com.jcaique.data.common +package com.jcaique.dialetus.data.common -import com.jcaique.data.networking.RetrofitProvider -import com.jcaique.data.service.DialetusGateway +import com.jcaique.dialetus.data.networking.RetrofitProvider +import com.jcaique.dialetus.data.service.DialetusGateway import okhttp3.OkHttpClient import okhttp3.logging.HttpLoggingInterceptor import okhttp3.mockwebserver.MockResponse diff --git a/data/src/test/java/com/jcaique/data/common/read_file_extensions.kt b/data/src/test/java/com/jcaique/dialetus/data/common/read_file_extensions.kt similarity index 77% rename from data/src/test/java/com/jcaique/data/common/read_file_extensions.kt rename to data/src/test/java/com/jcaique/dialetus/data/common/read_file_extensions.kt index 24e9d86..af1f4d4 100644 --- a/data/src/test/java/com/jcaique/data/common/read_file_extensions.kt +++ b/data/src/test/java/com/jcaique/dialetus/data/common/read_file_extensions.kt @@ -1,4 +1,4 @@ -package com.jcaique.data.common +package com.jcaique.dialetus.data.common internal fun Any.loadFile(path: String) = this.javaClass.classLoader.getResourceAsStream(path).bufferedReader().use { it.readText() } diff --git a/data/src/test/java/com/jcaique/data/dialects/DialectsInfrastructureTests.kt b/data/src/test/java/com/jcaique/dialetus/data/dialects/DialectsInfrastructureTests.kt similarity index 82% rename from data/src/test/java/com/jcaique/data/dialects/DialectsInfrastructureTests.kt rename to data/src/test/java/com/jcaique/dialetus/data/dialects/DialectsInfrastructureTests.kt index 01a1afb..05fb5e5 100644 --- a/data/src/test/java/com/jcaique/data/dialects/DialectsInfrastructureTests.kt +++ b/data/src/test/java/com/jcaique/dialetus/data/dialects/DialectsInfrastructureTests.kt @@ -1,11 +1,11 @@ -package com.jcaique.data.dialects +package com.jcaique.dialetus.data.dialects -import com.jcaique.data.common.SetupScenario -import com.jcaique.data.common.loadFile -import com.jcaique.data.service.dialects.DialectsInfrastructure -import com.jcaique.domain.dialects.DialectsService -import com.jcaique.domain.models.Dialect -import com.jcaique.domain.models.DialectSlug +import com.jcaique.dialetus.data.common.SetupScenario +import com.jcaique.dialetus.data.common.loadFile +import com.jcaique.dialetus.data.service.dialects.DialectsInfrastructure +import com.jcaique.dialetus.domain.dialects.DialectsService +import com.jcaique.dialetus.domain.models.Dialect +import com.jcaique.dialetus.domain.models.DialectSlug import kotlinx.coroutines.runBlocking import org.assertj.core.api.Java6Assertions.assertThat import org.junit.Before diff --git a/data/src/test/java/com/jcaique/data/regions/RegionsInfrastructureTest.kt b/data/src/test/java/com/jcaique/dialetus/data/regions/RegionsInfrastructureTest.kt similarity index 79% rename from data/src/test/java/com/jcaique/data/regions/RegionsInfrastructureTest.kt rename to data/src/test/java/com/jcaique/dialetus/data/regions/RegionsInfrastructureTest.kt index 022dc00..9a28aa1 100644 --- a/data/src/test/java/com/jcaique/data/regions/RegionsInfrastructureTest.kt +++ b/data/src/test/java/com/jcaique/dialetus/data/regions/RegionsInfrastructureTest.kt @@ -1,10 +1,10 @@ -package com.jcaique.data.regions +package com.jcaique.dialetus.data.regions -import com.jcaique.data.common.SetupScenario -import com.jcaique.data.common.loadFile -import com.jcaique.data.service.regions.RegionsInfrastructure -import com.jcaique.domain.models.Region -import com.jcaique.domain.regions.RegionsService +import com.jcaique.dialetus.data.common.SetupScenario +import com.jcaique.dialetus.data.common.loadFile +import com.jcaique.dialetus.data.service.regions.RegionsInfrastructure +import com.jcaique.dialetus.domain.models.Region +import com.jcaique.dialetus.domain.regions.RegionsService import kotlinx.coroutines.runBlocking import org.assertj.core.api.Java6Assertions.assertThat import org.junit.Before diff --git a/domain/src/main/java/com/jcaique/domain/dialects/DialectsService.kt b/domain/src/main/java/com/jcaique/dialetus/domain/dialects/DialectsService.kt similarity index 53% rename from domain/src/main/java/com/jcaique/domain/dialects/DialectsService.kt rename to domain/src/main/java/com/jcaique/dialetus/domain/dialects/DialectsService.kt index 66d46f8..b711986 100644 --- a/domain/src/main/java/com/jcaique/domain/dialects/DialectsService.kt +++ b/domain/src/main/java/com/jcaique/dialetus/domain/dialects/DialectsService.kt @@ -1,7 +1,7 @@ -package com.jcaique.domain.dialects +package com.jcaique.dialetus.domain.dialects -import com.jcaique.domain.models.Dialect -import com.jcaique.domain.models.DialectSlug +import com.jcaique.dialetus.domain.models.Dialect +import com.jcaique.dialetus.domain.models.DialectSlug interface DialectsService { diff --git a/domain/src/main/java/com/jcaique/domain/errors/ErrorTransformer.kt b/domain/src/main/java/com/jcaique/dialetus/domain/errors/ErrorTransformer.kt similarity index 67% rename from domain/src/main/java/com/jcaique/domain/errors/ErrorTransformer.kt rename to domain/src/main/java/com/jcaique/dialetus/domain/errors/ErrorTransformer.kt index a3bdadc..9036149 100644 --- a/domain/src/main/java/com/jcaique/domain/errors/ErrorTransformer.kt +++ b/domain/src/main/java/com/jcaique/dialetus/domain/errors/ErrorTransformer.kt @@ -1,4 +1,4 @@ -package com.jcaique.domain.errors +package com.jcaique.dialetus.domain.errors interface ErrorTransformer { suspend fun transform(incoming: Throwable): Throwable diff --git a/domain/src/main/java/com/jcaique/domain/errors/GatewayIntegrationIssues.kt b/domain/src/main/java/com/jcaique/dialetus/domain/errors/GatewayIntegrationIssues.kt similarity index 83% rename from domain/src/main/java/com/jcaique/domain/errors/GatewayIntegrationIssues.kt rename to domain/src/main/java/com/jcaique/dialetus/domain/errors/GatewayIntegrationIssues.kt index c0d2bc2..44b3858 100644 --- a/domain/src/main/java/com/jcaique/domain/errors/GatewayIntegrationIssues.kt +++ b/domain/src/main/java/com/jcaique/dialetus/domain/errors/GatewayIntegrationIssues.kt @@ -1,4 +1,4 @@ -package com.jcaique.domain.errors +package com.jcaique.dialetus.domain.errors sealed class GatewayIntegrationIssues : Throwable() { object NotFound : GatewayIntegrationIssues() diff --git a/domain/src/main/java/com/jcaique/dialetus/domain/errors/UnexpectedResponse.kt b/domain/src/main/java/com/jcaique/dialetus/domain/errors/UnexpectedResponse.kt new file mode 100644 index 0000000..154ed3a --- /dev/null +++ b/domain/src/main/java/com/jcaique/dialetus/domain/errors/UnexpectedResponse.kt @@ -0,0 +1,3 @@ +package com.jcaique.dialetus.domain.errors + +object UnexpectedResponse : Throwable() diff --git a/domain/src/main/java/com/jcaique/domain/models/Dialect.kt b/domain/src/main/java/com/jcaique/dialetus/domain/models/Dialect.kt similarity index 79% rename from domain/src/main/java/com/jcaique/domain/models/Dialect.kt rename to domain/src/main/java/com/jcaique/dialetus/domain/models/Dialect.kt index d6304a7..44271fa 100644 --- a/domain/src/main/java/com/jcaique/domain/models/Dialect.kt +++ b/domain/src/main/java/com/jcaique/dialetus/domain/models/Dialect.kt @@ -1,4 +1,4 @@ -package com.jcaique.domain.models +package com.jcaique.dialetus.domain.models import java.io.Serializable diff --git a/domain/src/main/java/com/jcaique/domain/models/DialectSlug.kt b/domain/src/main/java/com/jcaique/dialetus/domain/models/DialectSlug.kt similarity index 67% rename from domain/src/main/java/com/jcaique/domain/models/DialectSlug.kt rename to domain/src/main/java/com/jcaique/dialetus/domain/models/DialectSlug.kt index 8e9a782..e5e02f9 100644 --- a/domain/src/main/java/com/jcaique/domain/models/DialectSlug.kt +++ b/domain/src/main/java/com/jcaique/dialetus/domain/models/DialectSlug.kt @@ -1,4 +1,4 @@ -package com.jcaique.domain.models +package com.jcaique.dialetus.domain.models import java.io.Serializable diff --git a/domain/src/main/java/com/jcaique/domain/models/Region.kt b/domain/src/main/java/com/jcaique/dialetus/domain/models/Region.kt similarity index 69% rename from domain/src/main/java/com/jcaique/domain/models/Region.kt rename to domain/src/main/java/com/jcaique/dialetus/domain/models/Region.kt index 981488a..48be3c0 100644 --- a/domain/src/main/java/com/jcaique/domain/models/Region.kt +++ b/domain/src/main/java/com/jcaique/dialetus/domain/models/Region.kt @@ -1,4 +1,4 @@ -package com.jcaique.domain.models +package com.jcaique.dialetus.domain.models import java.io.Serializable diff --git a/domain/src/main/java/com/jcaique/dialetus/domain/regions/RegionsService.kt b/domain/src/main/java/com/jcaique/dialetus/domain/regions/RegionsService.kt new file mode 100644 index 0000000..ab899e9 --- /dev/null +++ b/domain/src/main/java/com/jcaique/dialetus/domain/regions/RegionsService.kt @@ -0,0 +1,8 @@ +package com.jcaique.dialetus.domain.regions + +import com.jcaique.dialetus.domain.models.Region + +interface RegionsService { + + suspend fun fetchRegions(): List +} diff --git a/domain/src/main/java/com/jcaique/domain/errors/UnexpectedResponse.kt b/domain/src/main/java/com/jcaique/domain/errors/UnexpectedResponse.kt deleted file mode 100644 index 7aafd29..0000000 --- a/domain/src/main/java/com/jcaique/domain/errors/UnexpectedResponse.kt +++ /dev/null @@ -1,3 +0,0 @@ -package com.jcaique.domain.errors - -object UnexpectedResponse : Throwable() diff --git a/domain/src/main/java/com/jcaique/domain/regions/RegionsService.kt b/domain/src/main/java/com/jcaique/domain/regions/RegionsService.kt deleted file mode 100644 index f5e474c..0000000 --- a/domain/src/main/java/com/jcaique/domain/regions/RegionsService.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.jcaique.domain.regions - -import com.jcaique.domain.models.Region - -interface RegionsService { - - suspend fun fetchRegions(): List -} diff --git a/presentation/src/androidTest/java/com/jcaique/presentation/ExampleInstrumentedTest.kt b/presentation/src/androidTest/java/com/jcaique/dialetus/presentation/ExampleInstrumentedTest.kt similarity index 81% rename from presentation/src/androidTest/java/com/jcaique/presentation/ExampleInstrumentedTest.kt rename to presentation/src/androidTest/java/com/jcaique/dialetus/presentation/ExampleInstrumentedTest.kt index 125e63f..bfff09c 100644 --- a/presentation/src/androidTest/java/com/jcaique/presentation/ExampleInstrumentedTest.kt +++ b/presentation/src/androidTest/java/com/jcaique/dialetus/presentation/ExampleInstrumentedTest.kt @@ -1,4 +1,4 @@ -package com.jcaique.presentation +package com.jcaique.dialetus.presentation import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.platform.app.InstrumentationRegistry @@ -17,6 +17,6 @@ class ExampleInstrumentedTest { fun useAppContext() { // Context of the app under test. val appContext = InstrumentationRegistry.getInstrumentation().targetContext - assertEquals("com.jcaique.presentation.test", appContext.packageName) + assertEquals("com.jcaique.dialetus.presentation.test", appContext.packageName) } } diff --git a/presentation/src/main/AndroidManifest.xml b/presentation/src/main/AndroidManifest.xml index 4113b87..354fe7a 100644 --- a/presentation/src/main/AndroidManifest.xml +++ b/presentation/src/main/AndroidManifest.xml @@ -1,13 +1,13 @@ + package="com.jcaique.dialetus.presentation"> - + @@ -16,7 +16,7 @@ diff --git a/presentation/src/main/java/com/jcaique/presentation/contributing/ContributingConst.kt b/presentation/src/main/java/com/jcaique/dialetus/presentation/contributing/ContributingConst.kt similarity index 80% rename from presentation/src/main/java/com/jcaique/presentation/contributing/ContributingConst.kt rename to presentation/src/main/java/com/jcaique/dialetus/presentation/contributing/ContributingConst.kt index 59f7dfe..369d9ec 100644 --- a/presentation/src/main/java/com/jcaique/presentation/contributing/ContributingConst.kt +++ b/presentation/src/main/java/com/jcaique/dialetus/presentation/contributing/ContributingConst.kt @@ -1,4 +1,4 @@ -package com.jcaique.presentation.contributing +package com.jcaique.dialetus.presentation.contributing internal object ContributingConst { const val WEB = "https://dialetus.com" diff --git a/presentation/src/main/java/com/jcaique/presentation/contributing/ContributingInteraction.kt b/presentation/src/main/java/com/jcaique/dialetus/presentation/contributing/ContributingInteraction.kt similarity index 72% rename from presentation/src/main/java/com/jcaique/presentation/contributing/ContributingInteraction.kt rename to presentation/src/main/java/com/jcaique/dialetus/presentation/contributing/ContributingInteraction.kt index 6688caa..722b12e 100644 --- a/presentation/src/main/java/com/jcaique/presentation/contributing/ContributingInteraction.kt +++ b/presentation/src/main/java/com/jcaique/dialetus/presentation/contributing/ContributingInteraction.kt @@ -1,4 +1,4 @@ -package com.jcaique.presentation.contributing +package com.jcaique.dialetus.presentation.contributing internal interface ContributingInteraction { object OpenAndroid : ContributingInteraction diff --git a/presentation/src/main/java/com/jcaique/presentation/contributing/ContributingNavigation.kt b/presentation/src/main/java/com/jcaique/dialetus/presentation/contributing/ContributingNavigation.kt similarity index 77% rename from presentation/src/main/java/com/jcaique/presentation/contributing/ContributingNavigation.kt rename to presentation/src/main/java/com/jcaique/dialetus/presentation/contributing/ContributingNavigation.kt index 332916f..3cbfa89 100644 --- a/presentation/src/main/java/com/jcaique/presentation/contributing/ContributingNavigation.kt +++ b/presentation/src/main/java/com/jcaique/dialetus/presentation/contributing/ContributingNavigation.kt @@ -1,4 +1,4 @@ -package com.jcaique.presentation.contributing +package com.jcaique.dialetus.presentation.contributing import android.content.Intent import android.net.Uri @@ -7,8 +7,8 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.google.android.material.bottomsheet.BottomSheetDialogFragment -import com.jcaique.presentation.R -import com.jcaique.utils.dataflow.UnsupportedUserInteraction +import com.jcaique.dialetus.presentation.R +import com.jcaique.dialetus.utils.dataflow.UnsupportedUserInteraction import kotlinx.android.synthetic.main.regions_menu_view.* internal class ContributingNavigation : BottomSheetDialogFragment() { @@ -35,8 +35,12 @@ internal class ContributingNavigation : BottomSheetDialogFragment() { private fun handleClick(interaction: ContributingInteraction) { when (interaction) { - ContributingInteraction.OpenAndroid -> navigate(ContributingConst.ANDROID) - ContributingInteraction.OpenWeb -> navigate(ContributingConst.API) + ContributingInteraction.OpenAndroid -> navigate( + ContributingConst.ANDROID + ) + ContributingInteraction.OpenWeb -> navigate( + ContributingConst.API + ) else -> throw UnsupportedUserInteraction } } diff --git a/presentation/src/main/java/com/jcaique/presentation/di/injection.kt b/presentation/src/main/java/com/jcaique/dialetus/presentation/di/injection.kt similarity index 70% rename from presentation/src/main/java/com/jcaique/presentation/di/injection.kt rename to presentation/src/main/java/com/jcaique/dialetus/presentation/di/injection.kt index 4d29bdb..904a3fb 100644 --- a/presentation/src/main/java/com/jcaique/presentation/di/injection.kt +++ b/presentation/src/main/java/com/jcaique/dialetus/presentation/di/injection.kt @@ -1,13 +1,13 @@ -package com.jcaique.presentation.di +package com.jcaique.dialetus.presentation.di -import com.jcaique.presentation.dialects.DialectsPresentation -import com.jcaique.presentation.dialects.DialectsViewModel -import com.jcaique.presentation.regions.RegionsPresentation -import com.jcaique.presentation.regions.RegionsViewModel -import com.jcaique.utils.KodeinTags -import com.jcaique.utils.dataflow.ConfigChangesAwareStateContainer -import com.jcaique.utils.dataflow.StateMachine -import com.jcaique.utils.dataflow.TaskExecutor +import com.jcaique.dialetus.presentation.dialects.DialectsPresentation +import com.jcaique.dialetus.presentation.dialects.DialectsViewModel +import com.jcaique.dialetus.presentation.regions.RegionsPresentation +import com.jcaique.dialetus.presentation.regions.RegionsViewModel +import com.jcaique.dialetus.utils.KodeinTags +import com.jcaique.dialetus.utils.dataflow.ConfigChangesAwareStateContainer +import com.jcaique.dialetus.utils.dataflow.StateMachine +import com.jcaique.dialetus.utils.dataflow.TaskExecutor import org.kodein.di.Kodein import org.kodein.di.generic.bind import org.kodein.di.generic.instance diff --git a/presentation/src/main/java/com/jcaique/presentation/dialects/DialectAdapter.kt b/presentation/src/main/java/com/jcaique/dialetus/presentation/dialects/DialectAdapter.kt similarity index 89% rename from presentation/src/main/java/com/jcaique/presentation/dialects/DialectAdapter.kt rename to presentation/src/main/java/com/jcaique/dialetus/presentation/dialects/DialectAdapter.kt index 44329e7..9cc37fd 100644 --- a/presentation/src/main/java/com/jcaique/presentation/dialects/DialectAdapter.kt +++ b/presentation/src/main/java/com/jcaique/dialetus/presentation/dialects/DialectAdapter.kt @@ -1,11 +1,11 @@ -package com.jcaique.presentation.dialects +package com.jcaique.dialetus.presentation.dialects import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView -import com.jcaique.domain.models.Dialect -import com.jcaique.presentation.R +import com.jcaique.dialetus.domain.models.Dialect +import com.jcaique.dialetus.presentation.R import kotlinx.android.synthetic.main.item_dialect.view.* internal class DialectAdapter( diff --git a/presentation/src/main/java/com/jcaique/presentation/dialects/DialectsActivity.kt b/presentation/src/main/java/com/jcaique/dialetus/presentation/dialects/DialectsActivity.kt similarity index 87% rename from presentation/src/main/java/com/jcaique/presentation/dialects/DialectsActivity.kt rename to presentation/src/main/java/com/jcaique/dialetus/presentation/dialects/DialectsActivity.kt index a4d8a01..3680a56 100644 --- a/presentation/src/main/java/com/jcaique/presentation/dialects/DialectsActivity.kt +++ b/presentation/src/main/java/com/jcaique/dialetus/presentation/dialects/DialectsActivity.kt @@ -1,4 +1,4 @@ -package com.jcaique.presentation.dialects +package com.jcaique.dialetus.presentation.dialects import android.app.Activity import android.content.Intent @@ -9,21 +9,20 @@ import androidx.core.view.isVisible import androidx.core.widget.addTextChangedListener import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager -import com.jcaique.domain.models.Dialect -import com.jcaique.domain.models.Region -import com.jcaique.presentation.R -import com.jcaique.presentation.contributing.ContributingConst -import com.jcaique.presentation.utils.share -import com.jcaique.utils.DividerItemDecoration -import com.jcaique.utils.dataflow.UserInteraction -import com.jcaique.utils.dataflow.ViewState -import com.jcaique.utils.selfInject +import com.jcaique.dialetus.domain.models.Dialect +import com.jcaique.dialetus.domain.models.Region +import com.jcaique.dialetus.presentation.R +import com.jcaique.dialetus.presentation.contributing.ContributingConst +import com.jcaique.dialetus.utils.dataflow.ViewState +import com.jcaique.dialetus.utils.extensions.selfInject +import com.jcaique.dialetus.utils.extensions.share +import com.jcaique.dialetus.utils.ui.DividerItemDecoration import kotlinx.android.synthetic.main.activity_dialects.* -import kotlinx.coroutines.flow.collect import kotlinx.android.synthetic.main.activity_regions.emptyStateView import kotlinx.android.synthetic.main.activity_regions.errorStateView import kotlinx.android.synthetic.main.activity_regions.loadingStateView import kotlinx.android.synthetic.main.error_state_layout.* +import kotlinx.coroutines.flow.collect import kotlinx.coroutines.launch import org.kodein.di.KodeinAware import org.kodein.di.generic.instance @@ -100,7 +99,8 @@ class DialectsActivity : AppCompatActivity(), KodeinAware { } private fun setupContent(value: DialectsPresentation) { - dialectsList.adapter = DialectAdapter(value, ::shareDialect) + dialectsList.adapter = + DialectAdapter(value, ::shareDialect) } private fun filterDialects() { diff --git a/presentation/src/main/java/com/jcaique/dialetus/presentation/dialects/DialectsPresentation.kt b/presentation/src/main/java/com/jcaique/dialetus/presentation/dialects/DialectsPresentation.kt new file mode 100644 index 0000000..b633f7e --- /dev/null +++ b/presentation/src/main/java/com/jcaique/dialetus/presentation/dialects/DialectsPresentation.kt @@ -0,0 +1,5 @@ +package com.jcaique.dialetus.presentation.dialects + +import com.jcaique.dialetus.domain.models.Dialect + +internal inline class DialectsPresentation(val dialects: List) diff --git a/presentation/src/main/java/com/jcaique/presentation/dialects/DialectsViewModel.kt b/presentation/src/main/java/com/jcaique/dialetus/presentation/dialects/DialectsViewModel.kt similarity index 65% rename from presentation/src/main/java/com/jcaique/presentation/dialects/DialectsViewModel.kt rename to presentation/src/main/java/com/jcaique/dialetus/presentation/dialects/DialectsViewModel.kt index 97f91bd..a2368d6 100644 --- a/presentation/src/main/java/com/jcaique/presentation/dialects/DialectsViewModel.kt +++ b/presentation/src/main/java/com/jcaique/dialetus/presentation/dialects/DialectsViewModel.kt @@ -1,11 +1,11 @@ -package com.jcaique.presentation.dialects - -import com.jcaique.domain.dialects.DialectsService -import com.jcaique.domain.models.Dialect -import com.jcaique.utils.dataflow.StateMachine -import com.jcaique.utils.dataflow.StateTransition -import com.jcaique.utils.dataflow.UnsupportedUserInteraction -import com.jcaique.utils.dataflow.UserInteraction +package com.jcaique.dialetus.presentation.dialects + +import com.jcaique.dialetus.domain.dialects.DialectsService +import com.jcaique.dialetus.domain.models.Dialect +import com.jcaique.dialetus.utils.dataflow.StateMachine +import com.jcaique.dialetus.utils.dataflow.StateTransition +import com.jcaique.dialetus.utils.dataflow.UnsupportedUserInteraction +import com.jcaique.dialetus.utils.dataflow.UserInteraction import kotlinx.coroutines.coroutineScope internal class DialectsViewModel( @@ -24,8 +24,14 @@ internal class DialectsViewModel( private fun interpret(interaction: UserInteraction) = when (interaction) { - is ShowDialects -> StateTransition(::showDialects, interaction) - is FilterDialects -> StateTransition(::filterDialects, interaction) + is ShowDialects -> StateTransition( + ::showDialects, + interaction + ) + is FilterDialects -> StateTransition( + ::filterDialects, + interaction + ) else -> throw UnsupportedUserInteraction } diff --git a/presentation/src/main/java/com/jcaique/dialetus/presentation/dialects/dialect_interactions.kt b/presentation/src/main/java/com/jcaique/dialetus/presentation/dialects/dialect_interactions.kt new file mode 100644 index 0000000..fd069ab --- /dev/null +++ b/presentation/src/main/java/com/jcaique/dialetus/presentation/dialects/dialect_interactions.kt @@ -0,0 +1,9 @@ +package com.jcaique.dialetus.presentation.dialects + +import com.jcaique.dialetus.domain.models.Region +import com.jcaique.dialetus.utils.dataflow.StateTransition +import com.jcaique.dialetus.utils.dataflow.UserInteraction + +data class ShowDialects(val region: Region) : UserInteraction, StateTransition.Parameters + +data class FilterDialects(val query: String) : UserInteraction, StateTransition.Parameters diff --git a/presentation/src/main/java/com/jcaique/presentation/regions/RegionAdapter.kt b/presentation/src/main/java/com/jcaique/dialetus/presentation/regions/RegionAdapter.kt similarity index 88% rename from presentation/src/main/java/com/jcaique/presentation/regions/RegionAdapter.kt rename to presentation/src/main/java/com/jcaique/dialetus/presentation/regions/RegionAdapter.kt index 8328d25..d85bb2b 100644 --- a/presentation/src/main/java/com/jcaique/presentation/regions/RegionAdapter.kt +++ b/presentation/src/main/java/com/jcaique/dialetus/presentation/regions/RegionAdapter.kt @@ -1,11 +1,11 @@ -package com.jcaique.presentation.regions +package com.jcaique.dialetus.presentation.regions import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView -import com.jcaique.domain.models.Region -import com.jcaique.presentation.R +import com.jcaique.dialetus.domain.models.Region +import com.jcaique.dialetus.presentation.R import kotlinx.android.synthetic.main.item_region.view.* internal class RegionAdapter( diff --git a/presentation/src/main/java/com/jcaique/presentation/regions/RegionsActivity.kt b/presentation/src/main/java/com/jcaique/dialetus/presentation/regions/RegionsActivity.kt similarity index 75% rename from presentation/src/main/java/com/jcaique/presentation/regions/RegionsActivity.kt rename to presentation/src/main/java/com/jcaique/dialetus/presentation/regions/RegionsActivity.kt index 95bf5ec..025978a 100644 --- a/presentation/src/main/java/com/jcaique/presentation/regions/RegionsActivity.kt +++ b/presentation/src/main/java/com/jcaique/dialetus/presentation/regions/RegionsActivity.kt @@ -1,27 +1,27 @@ -package com.jcaique.presentation.regions +package com.jcaique.dialetus.presentation.regions import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.core.view.isVisible import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager -import com.jcaique.domain.models.Region -import com.jcaique.presentation.R -import com.jcaique.utils.DividerItemDecoration -import com.jcaique.utils.dataflow.UserInteraction.OpenedScreen -import com.jcaique.utils.dataflow.UserInteraction.RequestedFreshContent -import com.jcaique.utils.dataflow.ViewState -import com.jcaique.utils.selfInject -import com.jcaique.presentation.contributing.ContributingNavigation -import com.jcaique.presentation.dialects.DialectsActivity -import com.jcaique.utils.dataflow.ViewState.Failed -import com.jcaique.utils.dataflow.ViewState.Loading -import com.jcaique.utils.dataflow.ViewState.Success +import com.jcaique.dialetus.domain.models.Region +import com.jcaique.dialetus.presentation.R +import com.jcaique.dialetus.presentation.contributing.ContributingNavigation +import com.jcaique.dialetus.presentation.dialects.DialectsActivity +import com.jcaique.dialetus.utils.dataflow.UserInteraction.OpenedScreen +import com.jcaique.dialetus.utils.dataflow.UserInteraction.RequestedFreshContent +import com.jcaique.dialetus.utils.dataflow.ViewState +import com.jcaique.dialetus.utils.dataflow.ViewState.Failed +import com.jcaique.dialetus.utils.dataflow.ViewState.Loading +import com.jcaique.dialetus.utils.dataflow.ViewState.Success +import com.jcaique.dialetus.utils.extensions.selfInject +import com.jcaique.dialetus.utils.ui.DividerItemDecoration import kotlinx.android.synthetic.main.activity_regions.* import kotlinx.android.synthetic.main.error_state_layout.* +import kotlinx.coroutines.flow.collect import kotlinx.coroutines.launch import org.kodein.di.KodeinAware -import kotlinx.coroutines.flow.collect import org.kodein.di.generic.instance class RegionsActivity : AppCompatActivity(), KodeinAware { diff --git a/presentation/src/main/java/com/jcaique/dialetus/presentation/regions/RegionsPresentation.kt b/presentation/src/main/java/com/jcaique/dialetus/presentation/regions/RegionsPresentation.kt new file mode 100644 index 0000000..8a6571c --- /dev/null +++ b/presentation/src/main/java/com/jcaique/dialetus/presentation/regions/RegionsPresentation.kt @@ -0,0 +1,5 @@ +package com.jcaique.dialetus.presentation.regions + +import com.jcaique.dialetus.domain.models.Region + +internal inline class RegionsPresentation(val regions: List) diff --git a/presentation/src/main/java/com/jcaique/presentation/regions/RegionsViewModel.kt b/presentation/src/main/java/com/jcaique/dialetus/presentation/regions/RegionsViewModel.kt similarity index 64% rename from presentation/src/main/java/com/jcaique/presentation/regions/RegionsViewModel.kt rename to presentation/src/main/java/com/jcaique/dialetus/presentation/regions/RegionsViewModel.kt index f807671..d2492ef 100644 --- a/presentation/src/main/java/com/jcaique/presentation/regions/RegionsViewModel.kt +++ b/presentation/src/main/java/com/jcaique/dialetus/presentation/regions/RegionsViewModel.kt @@ -1,10 +1,10 @@ -package com.jcaique.presentation.regions +package com.jcaique.dialetus.presentation.regions -import com.jcaique.domain.regions.RegionsService -import com.jcaique.utils.dataflow.StateMachine -import com.jcaique.utils.dataflow.StateTransition -import com.jcaique.utils.dataflow.UnsupportedUserInteraction -import com.jcaique.utils.dataflow.UserInteraction +import com.jcaique.dialetus.domain.regions.RegionsService +import com.jcaique.dialetus.utils.dataflow.StateMachine +import com.jcaique.dialetus.utils.dataflow.StateTransition +import com.jcaique.dialetus.utils.dataflow.UnsupportedUserInteraction +import com.jcaique.dialetus.utils.dataflow.UserInteraction internal class RegionsViewModel( private val service: RegionsService, @@ -21,7 +21,9 @@ internal class RegionsViewModel( private fun interpret(interaction: UserInteraction) = when (interaction) { UserInteraction.OpenedScreen, - UserInteraction.RequestedFreshContent -> StateTransition(::showRegions) + UserInteraction.RequestedFreshContent -> StateTransition( + ::showRegions + ) else -> throw UnsupportedUserInteraction } diff --git a/presentation/src/main/java/com/jcaique/presentation/dialects/DialectsPresentation.kt b/presentation/src/main/java/com/jcaique/presentation/dialects/DialectsPresentation.kt deleted file mode 100644 index 7c0669a..0000000 --- a/presentation/src/main/java/com/jcaique/presentation/dialects/DialectsPresentation.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.jcaique.presentation.dialects - -import com.jcaique.domain.models.Dialect - -internal inline class DialectsPresentation(val dialects: List) diff --git a/presentation/src/main/java/com/jcaique/presentation/dialects/dialect_interactions.kt b/presentation/src/main/java/com/jcaique/presentation/dialects/dialect_interactions.kt deleted file mode 100644 index 956cb3e..0000000 --- a/presentation/src/main/java/com/jcaique/presentation/dialects/dialect_interactions.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.jcaique.presentation.dialects - -import com.jcaique.domain.models.Region -import com.jcaique.utils.dataflow.StateTransition -import com.jcaique.utils.dataflow.UserInteraction - -data class ShowDialects(val region: Region) : UserInteraction, StateTransition.Parameters - -data class FilterDialects(val query: String) : UserInteraction, StateTransition.Parameters diff --git a/presentation/src/main/java/com/jcaique/presentation/regions/RegionsPresentation.kt b/presentation/src/main/java/com/jcaique/presentation/regions/RegionsPresentation.kt deleted file mode 100644 index eacab4e..0000000 --- a/presentation/src/main/java/com/jcaique/presentation/regions/RegionsPresentation.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.jcaique.presentation.regions - -import com.jcaique.domain.models.Region - -internal inline class RegionsPresentation(val regions: List) diff --git a/presentation/src/test/java/com/jcaique/presentation/common/CoroutinesTestHelper.kt b/presentation/src/test/java/com/jcaique/dialetus/presentation/common/CoroutinesTestHelper.kt similarity index 93% rename from presentation/src/test/java/com/jcaique/presentation/common/CoroutinesTestHelper.kt rename to presentation/src/test/java/com/jcaique/dialetus/presentation/common/CoroutinesTestHelper.kt index c3c0104..90bcc1a 100644 --- a/presentation/src/test/java/com/jcaique/presentation/common/CoroutinesTestHelper.kt +++ b/presentation/src/test/java/com/jcaique/dialetus/presentation/common/CoroutinesTestHelper.kt @@ -1,4 +1,4 @@ -package com.jcaique.presentation.common +package com.jcaique.dialetus.presentation.common import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers diff --git a/presentation/src/test/java/com/jcaique/presentation/common/flowTesting.kt b/presentation/src/test/java/com/jcaique/dialetus/presentation/common/flowTesting.kt similarity index 95% rename from presentation/src/test/java/com/jcaique/presentation/common/flowTesting.kt rename to presentation/src/test/java/com/jcaique/dialetus/presentation/common/flowTesting.kt index 30013b9..41b7e71 100644 --- a/presentation/src/test/java/com/jcaique/presentation/common/flowTesting.kt +++ b/presentation/src/test/java/com/jcaique/dialetus/presentation/common/flowTesting.kt @@ -1,4 +1,4 @@ -package com.jcaique.presentation.common +package com.jcaique.dialetus.presentation.common import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.GlobalScope diff --git a/presentation/src/test/java/com/jcaique/presentation/common/suspendableUtils.kt b/presentation/src/test/java/com/jcaique/dialetus/presentation/common/suspendableUtils.kt similarity index 96% rename from presentation/src/test/java/com/jcaique/presentation/common/suspendableUtils.kt rename to presentation/src/test/java/com/jcaique/dialetus/presentation/common/suspendableUtils.kt index 138968f..e89f7dc 100644 --- a/presentation/src/test/java/com/jcaique/presentation/common/suspendableUtils.kt +++ b/presentation/src/test/java/com/jcaique/dialetus/presentation/common/suspendableUtils.kt @@ -1,4 +1,4 @@ -package com.jcaique.presentation.common +package com.jcaique.dialetus.presentation.common import kotlin.properties.Delegates import kotlinx.coroutines.runBlocking diff --git a/presentation/src/test/java/com/jcaique/presentation/dataflow/CommandsProcessorTests.kt b/presentation/src/test/java/com/jcaique/dialetus/presentation/dataflow/CommandsProcessorTests.kt similarity index 83% rename from presentation/src/test/java/com/jcaique/presentation/dataflow/CommandsProcessorTests.kt rename to presentation/src/test/java/com/jcaique/dialetus/presentation/dataflow/CommandsProcessorTests.kt index 812442b..06dbbe9 100644 --- a/presentation/src/test/java/com/jcaique/presentation/dataflow/CommandsProcessorTests.kt +++ b/presentation/src/test/java/com/jcaique/dialetus/presentation/dataflow/CommandsProcessorTests.kt @@ -1,11 +1,11 @@ -package com.jcaique.presentation.dataflow +package com.jcaique.dialetus.presentation.dataflow -import com.jcaique.presentation.common.CoroutinesTestHelper -import com.jcaique.presentation.common.test -import com.jcaique.utils.dataflow.CommandTrigger -import com.jcaique.utils.dataflow.CommandsProcessor -import com.jcaique.utils.dataflow.TaskExecutor -import com.jcaique.utils.dataflow.ViewCommand +import com.jcaique.dialetus.presentation.common.CoroutinesTestHelper +import com.jcaique.dialetus.presentation.common.test +import com.jcaique.dialetus.utils.dataflow.CommandTrigger +import com.jcaique.dialetus.utils.dataflow.CommandsProcessor +import com.jcaique.dialetus.utils.dataflow.TaskExecutor +import com.jcaique.dialetus.utils.dataflow.ViewCommand import kotlin.coroutines.resume import kotlin.coroutines.suspendCoroutine import org.assertj.core.api.Assertions.assertThat diff --git a/presentation/src/test/java/com/jcaique/presentation/dataflow/StateMachineTests.kt b/presentation/src/test/java/com/jcaique/dialetus/presentation/dataflow/StateMachineTests.kt similarity index 88% rename from presentation/src/test/java/com/jcaique/presentation/dataflow/StateMachineTests.kt rename to presentation/src/test/java/com/jcaique/dialetus/presentation/dataflow/StateMachineTests.kt index 44880c5..147b125 100644 --- a/presentation/src/test/java/com/jcaique/presentation/dataflow/StateMachineTests.kt +++ b/presentation/src/test/java/com/jcaique/dialetus/presentation/dataflow/StateMachineTests.kt @@ -1,12 +1,12 @@ -package com.jcaique.presentation.dataflow - -import com.jcaique.presentation.common.CoroutinesTestHelper -import com.jcaique.presentation.common.FlowTest.Companion.flowTest -import com.jcaique.utils.dataflow.StateContainer -import com.jcaique.utils.dataflow.StateMachine -import com.jcaique.utils.dataflow.StateTransition -import com.jcaique.utils.dataflow.TaskExecutor -import com.jcaique.utils.dataflow.ViewState +package com.jcaique.dialetus.presentation.dataflow + +import com.jcaique.dialetus.presentation.common.CoroutinesTestHelper +import com.jcaique.dialetus.presentation.common.FlowTest.Companion.flowTest +import com.jcaique.dialetus.utils.dataflow.StateContainer +import com.jcaique.dialetus.utils.dataflow.StateMachine +import com.jcaique.dialetus.utils.dataflow.StateTransition +import com.jcaique.dialetus.utils.dataflow.TaskExecutor +import com.jcaique.dialetus.utils.dataflow.ViewState import kotlin.coroutines.resume import kotlin.coroutines.resumeWithException import kotlin.coroutines.suspendCoroutine @@ -100,7 +100,8 @@ internal class StateMachineTests { // And triggerEmissions { machine.consume( - StateTransition(::successfulExecution, + StateTransition( + ::successfulExecution, Interaction ) ) @@ -167,7 +168,7 @@ internal class StateMachineTests { private suspend fun successfulExecution(parameters: StateTransition.Parameters): String { return suspendCoroutine { continuation -> val interaction = parameters as Interaction - continuation.resume(interaction.DATA) + continuation.resume(Interaction.DATA) } } diff --git a/presentation/src/test/java/com/jcaique/presentation/regions/RegionsViewModelTest.kt b/presentation/src/test/java/com/jcaique/dialetus/presentation/regions/RegionsViewModelTest.kt similarity index 76% rename from presentation/src/test/java/com/jcaique/presentation/regions/RegionsViewModelTest.kt rename to presentation/src/test/java/com/jcaique/dialetus/presentation/regions/RegionsViewModelTest.kt index 99ffc4d..c0fefac 100644 --- a/presentation/src/test/java/com/jcaique/presentation/regions/RegionsViewModelTest.kt +++ b/presentation/src/test/java/com/jcaique/dialetus/presentation/regions/RegionsViewModelTest.kt @@ -1,15 +1,15 @@ -package com.jcaique.presentation.regions - -import com.jcaique.domain.errors.UnexpectedResponse -import com.jcaique.domain.models.Region -import com.jcaique.domain.regions.RegionsService -import com.jcaique.presentation.common.CoroutinesTestHelper -import com.jcaique.presentation.common.FlowTest.Companion.flowTest -import com.jcaique.utils.dataflow.StateContainer -import com.jcaique.utils.dataflow.StateMachine -import com.jcaique.utils.dataflow.TaskExecutor -import com.jcaique.utils.dataflow.UserInteraction -import com.jcaique.utils.dataflow.ViewState +package com.jcaique.dialetus.presentation.regions + +import com.jcaique.dialetus.domain.errors.UnexpectedResponse +import com.jcaique.dialetus.domain.models.Region +import com.jcaique.dialetus.domain.regions.RegionsService +import com.jcaique.dialetus.presentation.common.CoroutinesTestHelper +import com.jcaique.dialetus.presentation.common.FlowTest.Companion.flowTest +import com.jcaique.dialetus.utils.dataflow.StateContainer +import com.jcaique.dialetus.utils.dataflow.StateMachine +import com.jcaique.dialetus.utils.dataflow.TaskExecutor +import com.jcaique.dialetus.utils.dataflow.UserInteraction +import com.jcaique.dialetus.utils.dataflow.ViewState import com.nhaarman.mockitokotlin2.mock import com.nhaarman.mockitokotlin2.whenever import org.assertj.core.api.Java6Assertions.assertThat @@ -33,7 +33,8 @@ class RegionsViewModelTest { container = StateContainer.Unbounded(helper.scope) ) - viewModel = RegionsViewModel(service, stateMachine) + viewModel = + RegionsViewModel(service, stateMachine) } @Test diff --git a/utils/src/main/AndroidManifest.xml b/utils/src/main/AndroidManifest.xml index 9c2b506..1acc1d4 100644 --- a/utils/src/main/AndroidManifest.xml +++ b/utils/src/main/AndroidManifest.xml @@ -1,2 +1,2 @@ + package="com.jcaique.dialetus.utils" /> diff --git a/utils/src/main/java/com/jcaique/utils/KodeinTags.kt b/utils/src/main/java/com/jcaique/dialetus/utils/KodeinTags.kt similarity index 66% rename from utils/src/main/java/com/jcaique/utils/KodeinTags.kt rename to utils/src/main/java/com/jcaique/dialetus/utils/KodeinTags.kt index bb2ecb8..c534e30 100644 --- a/utils/src/main/java/com/jcaique/utils/KodeinTags.kt +++ b/utils/src/main/java/com/jcaique/dialetus/utils/KodeinTags.kt @@ -1,4 +1,4 @@ -package com.jcaique.utils +package com.jcaique.dialetus.utils object KodeinTags { diff --git a/utils/src/main/java/com/jcaique/utils/dataflow/CommandTrigger.kt b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/CommandTrigger.kt similarity index 75% rename from utils/src/main/java/com/jcaique/utils/dataflow/CommandTrigger.kt rename to utils/src/main/java/com/jcaique/dialetus/utils/dataflow/CommandTrigger.kt index fa77468..2e781a7 100644 --- a/utils/src/main/java/com/jcaique/utils/dataflow/CommandTrigger.kt +++ b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/CommandTrigger.kt @@ -1,4 +1,4 @@ -package com.jcaique.utils.dataflow +package com.jcaique.dialetus.utils.dataflow sealed class CommandTrigger { @@ -9,7 +9,8 @@ sealed class CommandTrigger { CommandTrigger() companion object { - operator fun invoke(task: suspend () -> ViewCommand) = Unparametrized(task) + operator fun invoke(task: suspend () -> ViewCommand) = + Unparametrized(task) operator fun invoke(task: suspend (Parameters) -> ViewCommand, data: Parameters) = Parametrized(task, data) } diff --git a/utils/src/main/java/com/jcaique/utils/dataflow/CommandsProcessor.kt b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/CommandsProcessor.kt similarity index 89% rename from utils/src/main/java/com/jcaique/utils/dataflow/CommandsProcessor.kt rename to utils/src/main/java/com/jcaique/dialetus/utils/dataflow/CommandsProcessor.kt index 9f2b334..9d4f291 100644 --- a/utils/src/main/java/com/jcaique/utils/dataflow/CommandsProcessor.kt +++ b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/CommandsProcessor.kt @@ -1,11 +1,11 @@ -package com.jcaique.utils.dataflow +package com.jcaique.dialetus.utils.dataflow import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.channels.ConflatedBroadcastChannel import kotlinx.coroutines.flow.asFlow class CommandsProcessor( - private val executor: TaskExecutor + private val executor: TaskExecutor ) { @ExperimentalCoroutinesApi diff --git a/utils/src/main/java/com/jcaique/utils/dataflow/ConfigChangesAwareStateContainer.kt b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/ConfigChangesAwareStateContainer.kt similarity index 96% rename from utils/src/main/java/com/jcaique/utils/dataflow/ConfigChangesAwareStateContainer.kt rename to utils/src/main/java/com/jcaique/dialetus/utils/dataflow/ConfigChangesAwareStateContainer.kt index 716b71e..9c74b27 100644 --- a/utils/src/main/java/com/jcaique/utils/dataflow/ConfigChangesAwareStateContainer.kt +++ b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/ConfigChangesAwareStateContainer.kt @@ -1,4 +1,4 @@ -package com.jcaique.utils.dataflow +package com.jcaique.dialetus.utils.dataflow import androidx.fragment.app.FragmentActivity import androidx.lifecycle.ViewModel diff --git a/utils/src/main/java/com/jcaique/utils/dataflow/StateContainer.kt b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/StateContainer.kt similarity index 73% rename from utils/src/main/java/com/jcaique/utils/dataflow/StateContainer.kt rename to utils/src/main/java/com/jcaique/dialetus/utils/dataflow/StateContainer.kt index 454a12c..34fadf6 100644 --- a/utils/src/main/java/com/jcaique/utils/dataflow/StateContainer.kt +++ b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/StateContainer.kt @@ -1,12 +1,14 @@ -package com.jcaique.utils.dataflow +package com.jcaique.dialetus.utils.dataflow import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.channels.ConflatedBroadcastChannel import kotlinx.coroutines.flow.asFlow -interface StateContainer : ViewStateRegistry, ViewStatesEmitter { +interface StateContainer : ViewStateRegistry, + ViewStatesEmitter { - class Unbounded(scopeToBound: CoroutineScope) : StateContainer { + class Unbounded(scopeToBound: CoroutineScope) : + StateContainer { private val broadcaster by lazy { ConflatedBroadcastChannel>(ViewState.FirstLaunch) diff --git a/utils/src/main/java/com/jcaique/utils/dataflow/StateMachine.kt b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/StateMachine.kt similarity index 89% rename from utils/src/main/java/com/jcaique/utils/dataflow/StateMachine.kt rename to utils/src/main/java/com/jcaique/dialetus/utils/dataflow/StateMachine.kt index b4dcdaa..fce188b 100644 --- a/utils/src/main/java/com/jcaique/utils/dataflow/StateMachine.kt +++ b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/StateMachine.kt @@ -1,8 +1,8 @@ -package com.jcaique.utils.dataflow +package com.jcaique.dialetus.utils.dataflow class StateMachine( - private val container: StateContainer, - private val executor: TaskExecutor + private val container: StateContainer, + private val executor: TaskExecutor ) { fun states() = container.observableStates() @@ -45,7 +45,9 @@ class StateMachine( private fun restoreIfSuccess(state: ViewState) = when (state) { - is ViewState.Success -> ViewState.Loading.FromPrevious(state.value) + is ViewState.Success -> ViewState.Loading.FromPrevious( + state.value + ) else -> state } diff --git a/utils/src/main/java/com/jcaique/utils/dataflow/StateTransition.kt b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/StateTransition.kt similarity index 79% rename from utils/src/main/java/com/jcaique/utils/dataflow/StateTransition.kt rename to utils/src/main/java/com/jcaique/dialetus/utils/dataflow/StateTransition.kt index 70b87d1..d7d1ef3 100644 --- a/utils/src/main/java/com/jcaique/utils/dataflow/StateTransition.kt +++ b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/StateTransition.kt @@ -1,4 +1,4 @@ -package com.jcaique.utils.dataflow +package com.jcaique.dialetus.utils.dataflow sealed class StateTransition { @@ -15,7 +15,8 @@ sealed class StateTransition { companion object { - operator fun invoke(task: suspend () -> T) = Unparametrized(task) + operator fun invoke(task: suspend () -> T) = + Unparametrized(task) operator fun invoke( task: suspend (Parameters) -> T, diff --git a/utils/src/main/java/com/jcaique/utils/dataflow/TaskExecutor.kt b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/TaskExecutor.kt similarity index 86% rename from utils/src/main/java/com/jcaique/utils/dataflow/TaskExecutor.kt rename to utils/src/main/java/com/jcaique/dialetus/utils/dataflow/TaskExecutor.kt index 591ce28..6df4966 100644 --- a/utils/src/main/java/com/jcaique/utils/dataflow/TaskExecutor.kt +++ b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/TaskExecutor.kt @@ -1,4 +1,4 @@ -package com.jcaique.utils.dataflow +package com.jcaique.dialetus.utils.dataflow import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineScope @@ -20,7 +20,8 @@ interface TaskExecutor { } } - class Synchronous(private val scope: CoroutineScope) : TaskExecutor { + class Synchronous(private val scope: CoroutineScope) : + TaskExecutor { override fun execute(block: suspend TaskExecutor.() -> Unit) = runBlocking { scope.launch { block.invoke(this@Synchronous) } diff --git a/utils/src/main/java/com/jcaique/utils/dataflow/UnsupportedUserInteraction.kt b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/UnsupportedUserInteraction.kt similarity index 66% rename from utils/src/main/java/com/jcaique/utils/dataflow/UnsupportedUserInteraction.kt rename to utils/src/main/java/com/jcaique/dialetus/utils/dataflow/UnsupportedUserInteraction.kt index e7163b0..fcc6299 100644 --- a/utils/src/main/java/com/jcaique/utils/dataflow/UnsupportedUserInteraction.kt +++ b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/UnsupportedUserInteraction.kt @@ -1,4 +1,4 @@ -package com.jcaique.utils.dataflow +package com.jcaique.dialetus.utils.dataflow object UnsupportedUserInteraction : Throwable( "Target interaction is not mapped" diff --git a/utils/src/main/java/com/jcaique/utils/dataflow/UserInteraction.kt b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/UserInteraction.kt similarity index 73% rename from utils/src/main/java/com/jcaique/utils/dataflow/UserInteraction.kt rename to utils/src/main/java/com/jcaique/dialetus/utils/dataflow/UserInteraction.kt index 5bdd4b7..ce9c30c 100644 --- a/utils/src/main/java/com/jcaique/utils/dataflow/UserInteraction.kt +++ b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/UserInteraction.kt @@ -1,4 +1,4 @@ -package com.jcaique.utils.dataflow +package com.jcaique.dialetus.utils.dataflow interface UserInteraction { object OpenedScreen : UserInteraction diff --git a/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/ViewCommand.kt b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/ViewCommand.kt new file mode 100644 index 0000000..3777097 --- /dev/null +++ b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/ViewCommand.kt @@ -0,0 +1,3 @@ +package com.jcaique.dialetus.utils.dataflow + +abstract class ViewCommand diff --git a/utils/src/main/java/com/jcaique/utils/dataflow/ViewState.kt b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/ViewState.kt similarity index 89% rename from utils/src/main/java/com/jcaique/utils/dataflow/ViewState.kt rename to utils/src/main/java/com/jcaique/dialetus/utils/dataflow/ViewState.kt index 8e7a2c6..97903de 100644 --- a/utils/src/main/java/com/jcaique/utils/dataflow/ViewState.kt +++ b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/ViewState.kt @@ -1,4 +1,4 @@ -package com.jcaique.utils.dataflow +package com.jcaique.dialetus.utils.dataflow sealed class ViewState { diff --git a/utils/src/main/java/com/jcaique/utils/dataflow/statesPropagation.kt b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/statesPropagation.kt similarity index 87% rename from utils/src/main/java/com/jcaique/utils/dataflow/statesPropagation.kt rename to utils/src/main/java/com/jcaique/dialetus/utils/dataflow/statesPropagation.kt index c4d4c53..3ab86d3 100644 --- a/utils/src/main/java/com/jcaique/utils/dataflow/statesPropagation.kt +++ b/utils/src/main/java/com/jcaique/dialetus/utils/dataflow/statesPropagation.kt @@ -1,4 +1,4 @@ -package com.jcaique.utils.dataflow +package com.jcaique.dialetus.utils.dataflow import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.Flow diff --git a/utils/src/main/java/com/jcaique/utils/dependency_injection.kt b/utils/src/main/java/com/jcaique/dialetus/utils/extensions/dependency_injection.kt similarity index 92% rename from utils/src/main/java/com/jcaique/utils/dependency_injection.kt rename to utils/src/main/java/com/jcaique/dialetus/utils/extensions/dependency_injection.kt index 75cafc3..2999c3c 100644 --- a/utils/src/main/java/com/jcaique/utils/dependency_injection.kt +++ b/utils/src/main/java/com/jcaique/dialetus/utils/extensions/dependency_injection.kt @@ -1,11 +1,11 @@ -package com.jcaique.utils +package com.jcaique.dialetus.utils.extensions import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.FragmentActivity import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProviders -import com.jcaique.utils.KodeinTags.hostActivity +import com.jcaique.dialetus.utils.KodeinTags.hostActivity import org.kodein.di.Kodein import org.kodein.di.KodeinAware import org.kodein.di.direct diff --git a/presentation/src/main/java/com/jcaique/presentation/utils/strings_ktx.kt b/utils/src/main/java/com/jcaique/dialetus/utils/extensions/strings_ktx.kt similarity index 86% rename from presentation/src/main/java/com/jcaique/presentation/utils/strings_ktx.kt rename to utils/src/main/java/com/jcaique/dialetus/utils/extensions/strings_ktx.kt index 887c670..99611c8 100644 --- a/presentation/src/main/java/com/jcaique/presentation/utils/strings_ktx.kt +++ b/utils/src/main/java/com/jcaique/dialetus/utils/extensions/strings_ktx.kt @@ -1,4 +1,4 @@ -package com.jcaique.presentation.utils +package com.jcaique.dialetus.utils.extensions import android.app.Activity import android.content.ClipDescription diff --git a/utils/src/main/java/com/jcaique/utils/DividerItemDecoration.kt b/utils/src/main/java/com/jcaique/dialetus/utils/ui/DividerItemDecoration.kt similarity index 99% rename from utils/src/main/java/com/jcaique/utils/DividerItemDecoration.kt rename to utils/src/main/java/com/jcaique/dialetus/utils/ui/DividerItemDecoration.kt index cae7deb..15e1b84 100644 --- a/utils/src/main/java/com/jcaique/utils/DividerItemDecoration.kt +++ b/utils/src/main/java/com/jcaique/dialetus/utils/ui/DividerItemDecoration.kt @@ -1,4 +1,4 @@ -package com.jcaique.utils +package com.jcaique.dialetus.utils.ui import android.content.Context import android.graphics.Canvas diff --git a/utils/src/main/java/com/jcaique/utils/dataflow/ViewCommand.kt b/utils/src/main/java/com/jcaique/utils/dataflow/ViewCommand.kt deleted file mode 100644 index 73d9191..0000000 --- a/utils/src/main/java/com/jcaique/utils/dataflow/ViewCommand.kt +++ /dev/null @@ -1,3 +0,0 @@ -package com.jcaique.utils.dataflow - -abstract class ViewCommand