diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index d88f58a9..bc84b827 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -3,6 +3,7 @@
+
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index cb99164d..232f8f16 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -25,6 +25,7 @@
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index bd2b2cb7..4673587a 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -22,7 +22,7 @@
-
+
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 67d9a741..c0586d1b 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -79,4 +79,5 @@ dependencies {
addUnitTest()
testImplementation(testUtils)
testImplementation(deps.koin.testJunit4)
+ testImplementation(deps.koin.test)
}
diff --git a/app/src/main/java/com/hoc/flowmvi/App.kt b/app/src/main/java/com/hoc/flowmvi/App.kt
index 27bd8819..ab285f8f 100644
--- a/app/src/main/java/com/hoc/flowmvi/App.kt
+++ b/app/src/main/java/com/hoc/flowmvi/App.kt
@@ -51,8 +51,7 @@ class App : Application() {
startKoin {
androidContext(this@App)
- // TODO(koin): https://github.com/InsertKoinIO/koin/issues/1188
- androidLogger(if (BuildConfig.DEBUG) Level.ERROR else Level.NONE)
+ androidLogger(if (BuildConfig.DEBUG) Level.DEBUG else Level.NONE)
modules(allModules)
}
diff --git a/app/src/test/java/com/hoc/flowmvi/CheckModulesTest.kt b/app/src/test/java/com/hoc/flowmvi/CheckModulesTest.kt
index 921dfa51..259fa6fc 100644
--- a/app/src/test/java/com/hoc/flowmvi/CheckModulesTest.kt
+++ b/app/src/test/java/com/hoc/flowmvi/CheckModulesTest.kt
@@ -36,8 +36,7 @@ class CheckModulesTest : AutoCloseKoinTest() {
koinApplication {
modules(allModules)
- // TODO(koin): https://github.com/InsertKoinIO/koin/issues/1188
- printLogger(Level.ERROR)
+ printLogger(Level.DEBUG)
checkModules {
withInstance()
diff --git a/buildSrc/src/main/kotlin/deps.kt b/buildSrc/src/main/kotlin/deps.kt
index 34d2f71a..bf0b7886 100644
--- a/buildSrc/src/main/kotlin/deps.kt
+++ b/buildSrc/src/main/kotlin/deps.kt
@@ -6,33 +6,33 @@ import org.gradle.kotlin.dsl.project
import org.gradle.plugin.use.PluginDependenciesSpec
import org.gradle.plugin.use.PluginDependencySpec
-const val ktlintVersion = "0.43.2"
-const val kotlinVersion = "1.6.10"
+const val ktlintVersion = "0.44.0"
+const val kotlinVersion = "1.6.21"
object appConfig {
const val applicationId = "com.hoc.flowmvi"
- const val compileSdkVersion = 31
- const val buildToolsVersion = "31.0.0"
+ const val compileSdkVersion = 32
+ const val buildToolsVersion = "32.0.0"
const val minSdkVersion = 21
- const val targetSdkVersion = 31
+ const val targetSdkVersion = 32
private const val MAJOR = 2
private const val MINOR = 1
- private const val PATCH = 0
+ private const val PATCH = 1
const val versionCode = MAJOR * 10000 + MINOR * 100 + PATCH
- const val versionName = "$MAJOR.$MINOR.$PATCH"
+ const val versionName = "$MAJOR.$MINOR.$PATCH-SNAPSHOT"
}
object deps {
object androidx {
const val appCompat = "androidx.appcompat:appcompat:1.4.1"
const val coreKtx = "androidx.core:core-ktx:1.7.0"
- const val constraintLayout = "androidx.constraintlayout:constraintlayout:2.1.1"
+ const val constraintLayout = "androidx.constraintlayout:constraintlayout:2.1.3"
const val recyclerView = "androidx.recyclerview:recyclerview:1.2.1"
const val swipeRefreshLayout = "androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01"
- const val material = "com.google.android.material:material:1.6.0-alpha02"
+ const val material = "com.google.android.material:material:1.6.0"
}
object lifecycle {
@@ -52,7 +52,7 @@ object deps {
}
object coroutines {
- private const val version = "1.6.0"
+ private const val version = "1.6.1"
const val core = "org.jetbrains.kotlinx:kotlinx-coroutines-core:$version"
const val android = "org.jetbrains.kotlinx:kotlinx-coroutines-android:$version"
@@ -60,20 +60,21 @@ object deps {
}
object koin {
- private const val version = "3.1.5"
+ private const val version = "3.2.0-beta-1"
const val core = "io.insert-koin:koin-core:$version"
const val android = "io.insert-koin:koin-android:$version"
const val testJunit4 = "io.insert-koin:koin-test-junit4:$version"
+ const val test = "io.insert-koin:koin-test:$version"
}
- const val coil = "io.coil-kt:coil:1.2.1"
+ const val coil = "io.coil-kt:coil:2.0.0-rc03"
const val viewBindingDelegate = "com.github.hoc081098:ViewBindingDelegate:1.3.1"
const val flowExt = "io.github.hoc081098:FlowExt:0.3.0"
const val timber = "com.jakewharton.timber:timber:5.0.1"
object arrow {
- private const val version = "1.0.1"
+ private const val version = "1.1.2"
const val core = "io.arrow-kt:arrow-core:$version"
}
@@ -89,7 +90,7 @@ object deps {
}
}
- const val mockk = "io.mockk:mockk:1.12.1"
+ const val mockk = "io.mockk:mockk:1.12.3"
const val kotlinJUnit = "org.jetbrains.kotlin:kotlin-test-junit:$kotlinVersion"
}
}
@@ -125,6 +126,4 @@ fun DependencyHandler.addUnitTest(testImplementation: Boolean = true) {
}
val Project.isCiBuild: Boolean
- get() = providers.environmentVariable("CI")
- .forUseAtConfigurationTime()
- .orNull == "true"
+ get() = providers.environmentVariable("CI").orNull == "true"
diff --git a/data/build.gradle.kts b/data/build.gradle.kts
index a70eba5f..36ab8761 100644
--- a/data/build.gradle.kts
+++ b/data/build.gradle.kts
@@ -58,4 +58,5 @@ dependencies {
addUnitTest()
testImplementation(testUtils)
testImplementation(deps.koin.testJunit4)
+ testImplementation(deps.koin.test)
}
diff --git a/data/src/main/java/com/hoc/flowmvi/data/UserRepositoryImpl.kt b/data/src/main/java/com/hoc/flowmvi/data/UserRepositoryImpl.kt
index ac7022ae..73012e16 100644
--- a/data/src/main/java/com/hoc/flowmvi/data/UserRepositoryImpl.kt
+++ b/data/src/main/java/com/hoc/flowmvi/data/UserRepositoryImpl.kt
@@ -1,7 +1,7 @@
package com.hoc.flowmvi.data
import arrow.core.ValidatedNel
-import arrow.core.computations.either
+import arrow.core.continuations.either
import arrow.core.left
import arrow.core.leftWiden
import arrow.core.right
diff --git a/data/src/test/java/com/hoc/flowmvi/data/UserRepositoryImplRealAPITest.kt b/data/src/test/java/com/hoc/flowmvi/data/UserRepositoryImplRealAPITest.kt
index 9e0c8436..033c1ff4 100644
--- a/data/src/test/java/com/hoc/flowmvi/data/UserRepositoryImplRealAPITest.kt
+++ b/data/src/test/java/com/hoc/flowmvi/data/UserRepositoryImplRealAPITest.kt
@@ -8,6 +8,7 @@ import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.Dispatchers.Main
import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.FlowPreview
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.runBlocking
import org.junit.Rule
@@ -25,14 +26,15 @@ import kotlin.test.Test
import kotlin.test.assertTrue
import kotlin.time.ExperimentalTime
+@FlowPreview
@ExperimentalCoroutinesApi
@ExperimentalTime
@ExperimentalStdlibApi
class UserRepositoryImplRealAPITest : KoinTest {
@get:Rule
val koinRuleTest = KoinTestRule.create {
- // TODO(koin): https://github.com/InsertKoinIO/koin/issues/1188
- printLogger(Level.ERROR)
+ printLogger(Level.DEBUG)
+
modules(
dataModule,
module {
diff --git a/feature-main/src/main/java/com/hoc/flowmvi/ui/main/MainActivity.kt b/feature-main/src/main/java/com/hoc/flowmvi/ui/main/MainActivity.kt
index 3231e46e..9853b88c 100644
--- a/feature-main/src/main/java/com/hoc/flowmvi/ui/main/MainActivity.kt
+++ b/feature-main/src/main/java/com/hoc/flowmvi/ui/main/MainActivity.kt
@@ -55,7 +55,7 @@ class MainActivity :
}
}
- override fun onCreateOptionsMenu(menu: Menu?) =
+ override fun onCreateOptionsMenu(menu: Menu) =
menuInflater.inflate(R.menu.menu_main, menu).let { true }
override fun setupViews() {