, Disposable {
protected abstract fun buildObservable(params: P? = null): Flowable , Disposable {
protected abstract fun buildObservable(params: P? = null): Completable
operator fun invoke(params: P, onComplete: () -> Unit = {}) {
- disposables += this.buildObservable(params)
+ disposables +=
+ this.buildObservable(params)
.subscribeOn(Schedulers.from(threadExecutor))
.observeOn(postExecutionThread.scheduler)
.subscribe(onComplete, Timber::w)
@@ -49,4 +51,4 @@ abstract class CompletableInteractor , Disposable {
override fun dispose() = disposables.dispose()
override fun isDisposed(): Boolean = disposables.isDisposed
-}
\ No newline at end of file
+}
diff --git a/domain/src/test/java/foundation/e/blisslauncher/domain/ExampleUnitTest.kt b/domain/src/test/java/foundation/e/blisslauncher/domain/ExampleUnitTest.kt
index 7c5a7b55e68f9443f2d8e80a4d187df12feeb94d..16b020231987a7d0dc64e208efd2838bd06a38d7 100644
--- a/domain/src/test/java/foundation/e/blisslauncher/domain/ExampleUnitTest.kt
+++ b/domain/src/test/java/foundation/e/blisslauncher/domain/ExampleUnitTest.kt
@@ -1,8 +1,7 @@
package foundation.e.blisslauncher.domain
-import org.junit.Test
-
import org.junit.Assert.assertEquals
+import org.junit.Test
/**
* Example local unit test, which will execute on the development machine (host).
diff --git a/gradle.properties b/gradle.properties
index 4b862715dc7d100816ac4837adabc43b5687ee0f..a9492dd99030e142d334def087e4b69efbb8aebc 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -15,10 +15,6 @@ org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.caching=true
-# Enable D8 desugar / R8
-android.enableD8.desugaring=true
-android.enableR8=true
-
# AndroidX
android.useAndroidX=true
android.enableJetifier=true
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
new file mode 100644
index 0000000000000000000000000000000000000000..0c239eca934963bb99885b6cadadd5c3eb929cb5
--- /dev/null
+++ b/gradle/libs.versions.toml
@@ -0,0 +1,76 @@
+[versions]
+agp = "7.3.0"
+axCore = "1.2.0-alpha03"
+axAppcompat = "1.4.1"
+axTest = "1.2.0"
+dagger = "2.24"
+kotlin = "1.7.10"
+okhttp = "4.1.0"
+refine = "3.1.1"
+retrofit = "2.6.1"
+room = "2.2.0-beta01"
+spotless = "6.11.0"
+
+[libraries]
+androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "axCore" }
+androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "axAppcompat" }
+androidx-recyclerview = "androidx.recyclerview:recyclerview:1.1.0-beta03"
+androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" }
+androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" }
+androidx-test-runner = { module = "androidx.test:runner", version.ref = "axTest" }
+androidx-test-rules = { module = "androidx.test:rules", version.ref = "axTest" }
+androidx-localbroadcast = "androidx.localbroadcastmanager:localbroadcastmanager:1.0.0"
+apache-commons = "org.apache.commons:commons-lang3:3.12.0"
+
+build-spotless = { module = "com.diffplug.spotless:spotless-plugin-gradle", version.ref = "spotless" }
+
+dagger-compiler = { module = "com.google.dagger:dagger-compiler", version.ref = "dagger" }
+dagger-android-processor = { module = "com.google.dagger:dagger-android-processor", version.ref = "dagger" }
+
+greenrobot-eventbus = "org.greenrobot:eventbus:3.1.1"
+hoko-blur = "com.hoko:hoko-blur:1.3.4"
+
+kotlin-stdlib-jdk7 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk7", version.ref = "kotlin" }
+kotlin-stdlib-jdk8 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" }
+
+okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
+okhttp-logging = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp" }
+
+refine-annotation = { module = "dev.rikka.tools.refine:annotation", version.ref = "refine" }
+refine-annotation-processor = { module = "dev.rikka.tools.refine:annotation-processor", version.ref = "refine" }
+refine-runtime = { module = "dev.rikka.tools.refine:runtime", version.ref = "refine" }
+
+retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
+retrofit-rxjava-adapter = { module = "com.squareup.retrofit2:adapter-rxjava2", version.ref = "retrofit" }
+retrofit-gson-converter = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofit" }
+
+rx-android = "io.reactivex.rxjava2:rxandroid:2.1.1"
+rx-binding = "com.jakewharton.rxbinding3:rxbinding:3.0.0"
+rx-java = "io.reactivex.rxjava2:rxjava:2.2.11"
+rx-kotlin = "io.reactivex.rxjava2:rxkotlin:2.4.0"
+rx-relay = "com.jakewharton.rxrelay2:rxrelay:2.1.1"
+
+arch-core = "androidx.arch.core:core-testing:2.0.1"
+debug-db = "com.amitshekhar.android:debug-db:1.0.4"
+circleindicator = "me.relex:circleindicator:2.1.4"
+espresso-core = "androidx.test.espresso:espresso-core:3.2.0"
+junit = "junit:junit:4.12"
+mockk = "io.mockk:mockk:1.9.3"
+mockito-core = "org.mockito:mockito-core:2.19.0"
+robolectric = "org.robolectric:robolectric:4.3"
+tools-desugar = "com.android.tools:desugar_jdk_libs:1.1.5"
+timber = "com.jakewharton.timber:timber:4.7.1"
+restriction-bypass = "com.github.ChickenHook:RestrictionBypass:2.2"
+
+[plugins]
+android-application = { id = "com.android.application", version.ref = "agp" }
+android-library = { id = "com.android.library", version.ref = "agp" }
+benmanes-versions = "com.github.ben-manes.versions:0.25.0"
+google-services = "com.google.gms.google-services:4.3.0"
+refine = { id = "dev.rikka.tools.refine", version.ref = "refine" }
+kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
+kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
+
+[bundles]
+testing-unit = ["arch-core", "junit", "robolectric", "mockito-core"]
+testing-android = ["junit", "espresso-core", "androidx-test-runner", "androidx-test-rules"]
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index fd7090066b6d91bcf4344445eacb2453dd111696..418b2159cb8e85d6ae71ed5a021abf588ee40da3 100755
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
diff --git a/settings.gradle b/settings.gradle
deleted file mode 100755
index e70334ca2e10a41e1aa63b764f3f9d4b645171e5..0000000000000000000000000000000000000000
--- a/settings.gradle
+++ /dev/null
@@ -1,3 +0,0 @@
-include ':app'
-include ':data'
-include ':domain'
\ No newline at end of file
diff --git a/settings.gradle.kts b/settings.gradle.kts
new file mode 100644
index 0000000000000000000000000000000000000000..1bbbd5c60436dac9395d20148429118e82664674
--- /dev/null
+++ b/settings.gradle.kts
@@ -0,0 +1,31 @@
+@file:Suppress("UnstableApiUsage", "JcenterRepositoryObsolete")
+
+pluginManagement {
+ repositories {
+ includeBuild("build-logic")
+ gradlePluginPortal()
+ google()
+ maven("https://maven.fabric.io/public")
+ mavenCentral()
+ jcenter()
+ }
+}
+
+dependencyResolutionManagement {
+ repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+ repositories {
+ google()
+ maven("https://maven.fabric.io/public")
+ mavenCentral()
+ jcenter()
+ maven("https://jitpack.io")
+ }
+}
+
+enableFeaturePreview("VERSION_CATALOGS")
+
+enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
+
+include(":app", ":data", ":domain")
+
+rootProject.name = "blisslauncher"