From 164e0eff617fff5d5ae24d6b2793be74c4e75a77 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Mon, 19 Dec 2022 20:14:51 +0300 Subject: [PATCH] DROID-515 Editor | Fix | Fix ff video buttons (#2769) * DROID-515 App | Tech | Update dependencies * DROID-515 Editor | Fix | Fix ff video buttons * DROID-453 Editor | Fix | Unmerge --- analytics/build.gradle | 2 +- app/build.gradle | 48 ++++++++--------- build.gradle | 12 ++--- clipboard/build.gradle | 6 +-- core-models/build.gradle | 6 +-- core-ui/build.gradle | 32 ++++++------ .../features/editor/holders/media/Video.kt | 3 ++ .../core_ui/widgets/text/TextInputWidget.kt | 42 ++++----------- core-utils/build.gradle | 14 ++--- data/build.gradle | 8 +-- dependencies.gradle | 44 +--------------- device/build.gradle | 6 +-- domain/build.gradle | 7 ++- .../auth/CheckAuthorizationStatusTest.kt | 10 ++-- .../anytype/domain/auth/CreateAccountTest.kt | 10 ++-- .../domain/auth/ObserveAccountsTest.kt | 4 +- .../anytype/domain/auth/SetupWalletTest.kt | 6 ++- .../anytype/domain/auth/StartAccountTest.kt | 10 ++-- .../domain/block/interactor/SplitBlockTest.kt | 4 +- .../domain/dashboard/GetProfileTest.kt | 4 +- .../domain/dashboard/OpenDashboardTest.kt | 12 ++--- .../misc/DataViewSubscriptionContainerTest.kt | 4 +- .../anytype/domain/misc/GetObjectTypeTest.kt | 8 +-- .../ObjectSearchSubscriptionContainerTest.kt | 4 +- .../page/CreateBlockLinkWithObjectTest.kt | 10 ++-- .../page/CreateObjectAsMentionOrLinkTest.kt | 10 ++-- .../anytype/domain/page/CreateObjectTest.kt | 10 ++-- .../page/navigation/GetListPagesTest.kt | 9 ++-- .../navigation/GetObjectInfoWithLinksTest.kt | 4 +- gradle/libs.versions.toml | 51 +++++++++++++++++-- library-emojifier/build.gradle | 4 +- library-page-icon-picker-widget/build.gradle | 12 ++--- library-syntax-highlighter/build.gradle | 10 ++-- middleware/build.gradle | 10 ++-- persistence/build.gradle | 8 +-- presentation/build.gradle | 9 ++-- protocol/build.gradle | 3 +- sample/build.gradle | 18 +++---- test/android-utils/build.gradle | 6 +-- test/utils/build.gradle | 4 +- ui-settings/build.gradle | 18 +++---- 41 files changed, 242 insertions(+), 260 deletions(-) diff --git a/analytics/build.gradle b/analytics/build.gradle index 952b6aa58a..05e7663b56 100644 --- a/analytics/build.gradle +++ b/analytics/build.gradle @@ -18,7 +18,7 @@ android { dependencies { def app = rootProject.ext.mainApplication def analytics = rootProject.ext.analytics - implementation app.kotlin + implementation libs.kotlin implementation app.coroutinesAndroid implementation app.timber implementation analytics.amplitude diff --git a/app/build.gradle b/app/build.gradle index 791ffa287f..0b830636c5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -97,7 +97,7 @@ android { } composeOptions { - kotlinCompilerExtensionVersion config.compose_version + kotlinCompilerExtensionVersion libs.versions.androidxComposeVersion1.get() } buildFeatures { @@ -157,21 +157,21 @@ dependencies { //Compile time dependencies kapt applicationDependencies.daggerCompiler - kapt applicationDependencies.glideCompiler + kapt libs.glideCompiler compileOnly applicationDependencies.javaxAnnotation compileOnly applicationDependencies.javaxInject //Application dependencies - implementation applicationDependencies.kotlin + implementation libs.kotlin implementation applicationDependencies.coroutinesAndroid - implementation applicationDependencies.fragment + implementation libs.fragment implementation applicationDependencies.navigation implementation applicationDependencies.navigationUi - implementation applicationDependencies.appcompat - implementation applicationDependencies.design + implementation libs.appcompat + implementation libs.design implementation applicationDependencies.recyclerView implementation applicationDependencies.constraintLayout - implementation applicationDependencies.glide + implementation libs.glide implementation applicationDependencies.dagger implementation applicationDependencies.timber implementation applicationDependencies.gson @@ -182,19 +182,19 @@ dependencies { implementation applicationDependencies.lifecycleRuntime implementation applicationDependencies.lifecycleLiveData - implementation applicationDependencies.compose - implementation applicationDependencies.composeFoundation - implementation applicationDependencies.composeMaterial - implementation applicationDependencies.composeToolingPreview + implementation libs.compose + implementation libs.composeFoundation + implementation libs.composeMaterial + implementation libs.composeToolingPreview implementation applicationDependencies.preference - debugImplementation applicationDependencies.composeTooling + debugImplementation libs.composeTooling implementation databaseDependencies.room implementation applicationDependencies.crashlytics - implementation applicationDependencies.exoPlayerCore - implementation applicationDependencies.exoPlayerUi + implementation libs.exoPlayerCore + implementation libs.exoPlayerUi implementation analyticsDependencies.amplitude implementation analyticsDependencies.okhttp @@ -207,20 +207,20 @@ dependencies { //Unit/Integration tests dependencies testImplementation unitTestDependencies.androidXTestCore - testImplementation unitTestDependencies.junit + testImplementation libs.junit testImplementation unitTestDependencies.robolectricLatest - testImplementation unitTestDependencies.kotlinTest - testImplementation unitTestDependencies.mockitoKotlin + testImplementation libs.kotlinTest + testImplementation libs.mockitoKotlin testImplementation project(':test:utils') //Acceptance tests dependencies androidTestImplementation project(':test:android-utils') - androidTestImplementation acceptanceTesting.mockitoAndroid - androidTestImplementation unitTestDependencies.mockitoKotlin + androidTestImplementation libs.mockitoAndroid + androidTestImplementation libs.mockitoKotlin androidTestImplementation acceptanceTesting.espressoContrib - androidTestImplementation acceptanceTesting.androidJUnit - androidTestImplementation unitTestDependencies.kotlinTest - androidTestImplementation acceptanceTesting.testRules + androidTestImplementation libs.androidJUnit + androidTestImplementation libs.kotlinTest + androidTestImplementation libs.testRules androidTestImplementation acceptanceTesting.disableAnimation androidTestImplementation acceptanceTesting.navigationTesting androidTestImplementation project(":test:utils") @@ -230,9 +230,9 @@ dependencies { exclude group: "org.jetbrains.kotlinx", module: "kotlinx-coroutines-debug" } - debugImplementation acceptanceTesting.fragmentTesting + debugImplementation libs.fragmentTesting - implementation protobufDependencies.wireRuntime + implementation libs.wireRuntime } apply plugin: 'com.google.gms.google-services' \ No newline at end of file diff --git a/build.gradle b/build.gradle index 33b657090e..9c448ab664 100644 --- a/build.gradle +++ b/build.gradle @@ -3,16 +3,12 @@ import com.android.build.gradle.LibraryPlugin apply from: './dependencies.gradle' buildscript { - ext.kotlin_version = '1.7.10' - ext.gradle_tools = '3.1.3' - ext.build_tools = '32.0.0' ext.nav_version = '2.5.3' ext.dokka_version = '1.4.32' - ext.compile_sdk = 32 + ext.compile_sdk = 33 ext.target_sdk = 31 ext.min_sdk = 26 - ext.compose_version = '1.3.1' ext.application_id = 'com.anytypeio.anytype' ext.version_name = '1.0' @@ -27,14 +23,14 @@ buildscript { dependencies { def libs = project.extensions.getByName("libs") as org.gradle.accessors.dm.LibrariesForLibs classpath(libs.agp) - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + classpath(libs.kgp) classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version" classpath 'com.google.gms:google-services:4.3.14' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2' classpath 'com.google.firebase:firebase-appdistribution-gradle:3.0.3' classpath "org.jetbrains.dokka:dokka-gradle-plugin:${dokka_version}" - classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" - classpath 'com.squareup.wire:wire-gradle-plugin:4.4.2' + classpath(libs.kserialization) + classpath(libs.wire) } } diff --git a/clipboard/build.gradle b/clipboard/build.gradle index df0666fd82..2db0c0c22f 100644 --- a/clipboard/build.gradle +++ b/clipboard/build.gradle @@ -24,13 +24,13 @@ dependencies { implementation project(':data') implementation project(':core-models') - implementation applicationDependencies.kotlin + implementation libs.kotlin implementation applicationDependencies.coroutinesAndroid implementation applicationDependencies.timber testImplementation project(":test:utils") - testImplementation unitTestDependencies.junit - testImplementation unitTestDependencies.kotlinTest + testImplementation libs.junit + testImplementation libs.kotlinTest testImplementation unitTestDependencies.androidXTestCore testImplementation unitTestDependencies.robolectricLatest } \ No newline at end of file diff --git a/core-models/build.gradle b/core-models/build.gradle index 29d6192dd6..51037d346b 100644 --- a/core-models/build.gradle +++ b/core-models/build.gradle @@ -4,8 +4,8 @@ plugins { } dependencies { - implementation mainApplication.kotlin + implementation libs.kotlin - testImplementation unitTesting.kotlinTest - testImplementation unitTesting.mockitoKotlin + testImplementation libs.kotlinTest + testImplementation libs.mockitoKotlin } \ No newline at end of file diff --git a/core-ui/build.gradle b/core-ui/build.gradle index 9fd7330b20..87ad0000ce 100644 --- a/core-ui/build.gradle +++ b/core-ui/build.gradle @@ -12,7 +12,7 @@ android { } composeOptions { - kotlinCompilerExtensionVersion config["compose_version"] + kotlinCompilerExtensionVersion libs.versions.androidxComposeVersion1.get() } buildFeatures { @@ -31,37 +31,37 @@ dependencies { implementation project(':library-emojifier') implementation project(':library-syntax-highlighter') - implementation applicationDependencies.appcompat - implementation applicationDependencies.kotlin + implementation libs.appcompat + implementation libs.kotlin implementation applicationDependencies.coroutinesAndroid implementation libs.androidxCore implementation applicationDependencies.lifecycleRuntime - implementation applicationDependencies.design + implementation libs.design implementation applicationDependencies.recyclerView implementation applicationDependencies.constraintLayout - implementation applicationDependencies.glide + implementation libs.glide implementation applicationDependencies.shimmerLayout implementation applicationDependencies.timber implementation applicationDependencies.betterLinkMovement - implementation applicationDependencies.exoPlayerCore - implementation applicationDependencies.exoPlayerUi + implementation libs.exoPlayerCore + implementation libs.exoPlayerUi implementation applicationDependencies.urlcleaner implementation applicationDependencies.katex - implementation applicationDependencies.compose - implementation applicationDependencies.composeFoundation - implementation applicationDependencies.composeMaterial - implementation applicationDependencies.composeToolingPreview - debugImplementation applicationDependencies.composeTooling + implementation libs.compose + implementation libs.composeFoundation + implementation libs.composeMaterial + implementation libs.composeToolingPreview + debugImplementation libs.composeTooling - testImplementation acceptanceTesting.fragmentTesting + testImplementation libs.fragmentTesting testImplementation project(':test:android-utils') testImplementation project(':test:utils') testImplementation project(":test:core-models-stub") - testImplementation unitTestDependencies.junit - testImplementation unitTestDependencies.kotlinTest + testImplementation libs.junit + testImplementation libs.kotlinTest testImplementation unitTestDependencies.robolectricLatest testImplementation unitTestDependencies.androidXTestCore - testImplementation unitTestDependencies.mockitoKotlin + testImplementation libs.mockitoKotlin } \ No newline at end of file diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/media/Video.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/media/Video.kt index 1e7731ca42..ecc724af48 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/media/Video.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/editor/holders/media/Video.kt @@ -10,6 +10,7 @@ import com.anytypeio.anytype.core_ui.R import com.anytypeio.anytype.core_ui.databinding.ItemBlockVideoBinding import com.anytypeio.anytype.core_utils.ext.dimen import com.anytypeio.anytype.core_utils.ext.indentize +import com.anytypeio.anytype.core_utils.ext.invisible import com.anytypeio.anytype.presentation.editor.editor.listener.ListenerType import com.anytypeio.anytype.presentation.editor.editor.model.BlockView import com.google.android.exoplayer2.DefaultLoadControl @@ -34,6 +35,8 @@ class Video(val binding: ItemBlockVideoBinding) : Media(binding.root), Lifecycle fun bind(item: BlockView.Media.Video, clicked: (ListenerType) -> Unit, lifecycle: Lifecycle) { super.bind(item, clicked) lifecycle.addObserver(this) + binding.playerView.findViewById(R.id.exo_prev).invisible() + binding.playerView.findViewById(R.id.exo_next).invisible() binding.playerView.visibility = View.VISIBLE val loadControl = DefaultLoadControl.Builder() diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/text/TextInputWidget.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/text/TextInputWidget.kt index 05c063c402..3297e98f8d 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/text/TextInputWidget.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/widgets/text/TextInputWidget.kt @@ -2,10 +2,7 @@ package com.anytypeio.anytype.core_ui.widgets.text import android.R.id.copy import android.R.id.paste -import android.content.ClipData -import android.content.ClipboardManager import android.content.Context -import android.content.Context.CLIPBOARD_SERVICE import android.graphics.Canvas import android.text.InputType import android.text.Spanned @@ -15,9 +12,6 @@ import android.util.AttributeSet import android.view.DragEvent import android.view.KeyEvent import android.view.MotionEvent -import android.view.inputmethod.EditorInfo -import android.view.inputmethod.InputConnection -import android.view.inputmethod.InputConnectionWrapper import androidx.appcompat.widget.AppCompatEditText import androidx.core.graphics.withTranslation import com.anytypeio.anytype.core_ui.R @@ -75,17 +69,14 @@ class TextInputWidget : AppCompatEditText { ) } - override fun onCreateInputConnection(outAttrs: EditorInfo): InputConnectionWrapper? { - val defaultInputConnection = super.onCreateInputConnection(outAttrs) - return if (defaultInputConnection == null) { - defaultInputConnection - } else { - TextInputConnection(defaultInputConnection, false) + private lateinit var _watchers: MutableList + private fun watchers(): MutableList { + if (!::_watchers.isInitialized) { + _watchers = mutableListOf() } + return _watchers } - private val watchers: MutableList = mutableListOf() - private var highlightDrawer: HighlightDrawer? = null var selectionWatcher: ((IntRange) -> Unit)? = null @@ -156,17 +147,17 @@ class TextInputWidget : AppCompatEditText { } override fun addTextChangedListener(watcher: TextWatcher) { - watchers.add(watcher) + watchers().add(watcher) super.addTextChangedListener(watcher) } override fun removeTextChangedListener(watcher: TextWatcher) { - watchers.remove(watcher) + watchers().remove(watcher) super.removeTextChangedListener(watcher) } fun dismissMentionWatchers() { - watchers.filterIsInstance(MentionTextWatcher::class.java).forEach { it.onDismiss() } + watchers().filterIsInstance(MentionTextWatcher::class.java).forEach { it.onDismiss() } } fun pauseTextWatchers(block: () -> Unit) = synchronized(this) { @@ -193,7 +184,7 @@ class TextInputWidget : AppCompatEditText { } private fun lockTextWatchers() { - watchers.forEach { watcher -> + watchers().forEach { watcher -> if (watcher is DefaultTextWatcher) watcher.lock() if (watcher is SlashTextWatcher) watcher.lock() if (watcher is MentionTextWatcher) watcher.lock() @@ -201,7 +192,7 @@ class TextInputWidget : AppCompatEditText { } private fun unlockTextWatchers() { - watchers.forEach { watcher -> + watchers().forEach { watcher -> if (watcher is DefaultTextWatcher) watcher.unlock() if (watcher is SlashTextWatcher) watcher.unlock() if (watcher is MentionTextWatcher) watcher.unlock() @@ -314,17 +305,4 @@ class TextInputWidget : AppCompatEditText { companion object { val DEFAULT_INPUT_WIDGET_ACTION = BlockView.InputAction.NewLine } - - private inner class TextInputConnection( - target: InputConnection, mutable: Boolean - ) : InputConnectionWrapper(target, mutable) { - - private val clipboard = context.getSystemService(CLIPBOARD_SERVICE) as ClipboardManager - - override fun commitText(text: CharSequence, newCursorPosition: Int): Boolean { - clipboard.setPrimaryClip(ClipData.newPlainText(null, text)) - onTextContextMenuItem(paste) - return true - } - } } \ No newline at end of file diff --git a/core-utils/build.gradle b/core-utils/build.gradle index ac903ffe70..1f07f10373 100644 --- a/core-utils/build.gradle +++ b/core-utils/build.gradle @@ -22,9 +22,9 @@ dependencies { kapt applicationDependencies.daggerCompiler - implementation applicationDependencies.appcompat + implementation libs.appcompat - implementation applicationDependencies.kotlin + implementation libs.kotlin implementation applicationDependencies.coroutinesAndroid implementation applicationDependencies.dagger implementation applicationDependencies.gson @@ -36,16 +36,16 @@ dependencies { implementation applicationDependencies.recyclerView - testImplementation unitTestDependencies.junit - testImplementation unitTestDependencies.kotlinTest - testImplementation unitTestDependencies.mockitoKotlin + testImplementation libs.junit + testImplementation libs.kotlinTest + testImplementation libs.mockitoKotlin implementation applicationDependencies.navigation implementation applicationDependencies.navigationUi testImplementation unitTestDependencies.robolectricLatest - androidTestImplementation acceptanceTesting.androidJUnit - androidTestImplementation acceptanceTesting.testRules + androidTestImplementation libs.androidJUnit + androidTestImplementation libs.testRules testImplementation unitTestDependencies.archCoreTesting testImplementation unitTestDependencies.coroutineTesting } diff --git a/data/build.gradle b/data/build.gradle index cd202ed808..ae1342a7ef 100644 --- a/data/build.gradle +++ b/data/build.gradle @@ -9,13 +9,13 @@ dependencies { def applicationDependencies = rootProject.ext.mainApplication def unitTestDependencies = rootProject.ext.unitTesting - implementation applicationDependencies.kotlin + implementation libs.kotlin implementation applicationDependencies.coroutines testImplementation project(":test:utils") testImplementation project(":test:core-models-stub") - testImplementation unitTestDependencies.junit - testImplementation unitTestDependencies.kotlinTest - testImplementation unitTestDependencies.mockitoKotlin + testImplementation libs.junit + testImplementation libs.kotlinTest + testImplementation libs.mockitoKotlin testImplementation unitTestDependencies.coroutineTesting } \ No newline at end of file diff --git a/dependencies.gradle b/dependencies.gradle index f6a2b32ab9..92047046c5 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,23 +1,17 @@ ext { // Kotlin kotlin_coroutines_version = '1.6.4' - kotlinx_serialization_json_version = '1.4.0' // AndroidX - androidx_core_ktx_version = '1.7.0' androidx_test_core_version = '1.4.0' androidx_core_testing_version = '2.1.0' androidx_security_crypto_version = '1.0.0' - androidx_compose_version = '1.2.1' androidx_preference_version = '1.2.0' // Other Android framework dependencies - appcompat_version = '1.3.0' constraintLayout_version = '2.1.4' recyclerview_version = '1.2.1' cardview_version = '1.0.0' - material_version = '1.3.0' - fragment_version = "1.4.1" emoji_compat_version = '1.1.0' view_pager_2_version = '1.0.0' @@ -26,8 +20,6 @@ ext { navigation_version = '2.5.3' // Third party libraries - exoplayer_version = '2.17.1' - glide_version = '4.14.1' shimmer_layout_version = "0.5.0" photo_view_version = '2.3.0' dagger_version = '2.44' @@ -36,7 +28,6 @@ ext { retrofit_version = '2.3.0' okhttp_logging_interceptor_version = '3.8.1' gson_version = '2.10' - gson_wire_version = '4.4.3' better_link_method_version = '2.2.0' table_view_version = '0.8.9.4' pickt_version = "2.0.2" @@ -46,19 +37,14 @@ ext { // Unit Testing robolectric_latest_version = '4.7.3' - junit_version = '4.12' kluent_version = '1.14' timber_junit = '1.0.1' turbine_version = '0.7.0' coroutine_testing_version = '1.6.4' live_data_testing_version = '1.2.0' - mockito_kotlin_version = '4.0.0' - mockito_android_version = '4.8.0' // Acceptance Testing - runner_version = '1.4.0' espresso_version = '3.4.0' - android_junit_version = '1.1.3' disable_animation_version = '2.0.0' // Development @@ -74,7 +60,6 @@ ext { protobuf_java_version = '3.9.2' protoc_version = '3.9.0' - wire_version = '4.4.2' // DBB @@ -88,62 +73,43 @@ ext { // Anytype mainApplication = [ - kotlin: "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version", coroutines: "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version", coroutinesAndroid: "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version", - fragment: "androidx.fragment:fragment-ktx:$fragment_version", + navigation: "androidx.navigation:navigation-fragment-ktx:$navigation_version", navigationUi: "androidx.navigation:navigation-ui-ktx:$navigation_version", lifecycleViewModel: "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version", lifecycleRuntime: "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version", lifecycleCompiler: "androidx.lifecycle:lifecycle-compiler:$lifecycle_version", lifecycleLiveData: "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version", - appcompat: "androidx.appcompat:appcompat:$appcompat_version", constraintLayout: "androidx.constraintlayout:constraintlayout:$constraintLayout_version", cardView: "androidx.cardview:cardview:$cardview_version", recyclerView: "androidx.recyclerview:recyclerview:$recyclerview_version", viewPager: "androidx.viewpager2:viewpager2:$view_pager_2_version", - design: "com.google.android.material:material:$material_version", - androidAnnotations: "androidx.annotation:annotation:$appcompat_version", betterLinkMovement: "me.saket:better-link-movement-method:$better_link_method_version", emojiCompat: "androidx.emoji:emoji-appcompat:$emoji_compat_version", photoView: "com.github.chrisbanes:PhotoView:$photo_view_version", katex: "com.github.judemanutd:katexview:$katex_version", - glide: "com.github.bumptech.glide:glide:$glide_version", - glideCompiler: "com.github.bumptech.glide:compiler:$glide_version", daggerCompiler: "com.google.dagger:dagger-compiler:$dagger_version", dagger: "com.google.dagger:dagger:$dagger_version", javaxAnnotation: "javax.annotation:jsr250-api:$javaxAnnotations_version", javaxInject: "javax.inject:javax.inject:$javaxInject_version", gson: "com.google.code.gson:gson:$gson_version", - gsonWire: "com.squareup.wire:wire-gson-support:$gson_wire_version", retrofit: "com.squareup.retrofit2:converter-gson:$retrofit_version", okhttpLoggingInterceptor: "com.squareup.okhttp3:logging-interceptor:$okhttp_logging_interceptor_version", timber: "com.jakewharton.timber:timber:$timber_version", tableView: "com.github.evrencoskun:TableView:$table_view_version", - exoPlayerCore: "com.google.android.exoplayer:exoplayer-core:$exoplayer_version", - exoPlayerUi: "com.google.android.exoplayer:exoplayer-ui:$exoplayer_version", pickT: "com.github.HBiSoft:PickiT:$pickt_version", zxing: "com.journeyapps:zxing-android-embedded:$zxing_version", urlcleaner: "com.shekhargulati.urlcleaner:urlcleaner:$urlcleaner_version", - kotlinxSerializationJson: "org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinx_serialization_json_version", crashlytics: "com.google.firebase:firebase-crashlytics:$crashlytics_version", shimmerLayout: "com.facebook.shimmer:shimmer:$shimmer_layout_version", androidxSecurityCrypto: "androidx.security:security-crypto:$androidx_security_crypto_version", - compose: "androidx.compose.ui:ui:$androidx_compose_version", - composeTooling: "androidx.compose.ui:ui-tooling:$androidx_compose_version", - composeToolingPreview: "androidx.compose.ui:ui-tooling-preview:$androidx_compose_version", - composeFoundation: "androidx.compose.foundation:foundation:$androidx_compose_version", - composeMaterial: "androidx.compose.material:material:$androidx_compose_version", preference : "androidx.preference:preference:$androidx_preference_version" ] unitTesting = [ - kotlin : "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version", - kotlinTest : "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version", robolectricLatest: "org.robolectric:robolectric:$robolectric_latest_version", - junit : "junit:junit:$junit_version", - mockitoKotlin : "org.mockito.kotlin:mockito-kotlin:$mockito_kotlin_version", kluent : "org.amshove.kluent:kluent:$kluent_version", archCoreTesting : "androidx.arch.core:core-testing:$androidx_core_testing_version", liveDataTesting : "com.jraska.livedata:testing-ktx:$live_data_testing_version", @@ -155,17 +121,10 @@ ext { ] acceptanceTesting = [ - androidJUnit : "androidx.test.ext:junit:$android_junit_version", - testRunner : "androidx.test:runner:$runner_version", - testRules : "androidx.test:rules:$runner_version", espressoCore : "androidx.test.espresso:espresso-core:$espresso_version", espressoContrib : "androidx.test.espresso:espresso-contrib:$espresso_version", espressoIntents : "androidx.test.espresso:espresso-intents:$espresso_version", - androidAnnotations: "androidx.annotation:annotation:$appcompat_version", - mockitoKotlin : "org.mockito.kotlin:mockito-kotlin:$mockito_kotlin_version", - mockitoAndroid : "org.mockito:mockito-android:$mockito_android_version", disableAnimation : "com.bartoszlipinski:disable-animations-rule:$disable_animation_version", - fragmentTesting : "androidx.fragment:fragment-testing:$fragment_version", navigationTesting : "androidx.navigation:navigation-testing:$navigation_version" ] @@ -179,7 +138,6 @@ ext { protobufJava: "com.google.protobuf:protobuf-java:$protobuf_java_version", protobufJavaUtil: "com.google.protobuf:protobuf-java-util:$protobuf_java_version", protoc: "com.google.protobuf:protoc:$protoc_version", - wireRuntime: "com.squareup.wire:wire-runtime:$wire_version" ] db = [ diff --git a/device/build.gradle b/device/build.gradle index 9a45363206..95392cc2df 100644 --- a/device/build.gradle +++ b/device/build.gradle @@ -9,14 +9,14 @@ dependencies { implementation project(':data') - implementation applicationDependencies.kotlin + implementation libs.kotlin implementation applicationDependencies.coroutinesAndroid implementation libs.androidxCore implementation applicationDependencies.timber - testImplementation unitTestDependencies.junit - testImplementation unitTestDependencies.kotlinTest + testImplementation libs.junit + testImplementation libs.kotlinTest testImplementation unitTestDependencies.androidXTestCore testImplementation unitTestDependencies.robolectricLatest } \ No newline at end of file diff --git a/domain/build.gradle b/domain/build.gradle index 3c6522c403..8cfc0e4177 100644 --- a/domain/build.gradle +++ b/domain/build.gradle @@ -9,17 +9,16 @@ dependencies { def applicationDependencies = rootProject.ext.mainApplication - implementation applicationDependencies.kotlin + implementation libs.kotlin implementation applicationDependencies.coroutines def unitTestDependencies = rootProject.ext.unitTesting testImplementation project(":test:utils") - testImplementation unitTestDependencies.kotlinTest + testImplementation libs.kotlinTest testImplementation unitTestDependencies.turbine - testImplementation unitTestDependencies.mockitoKotlin + testImplementation libs.mockitoKotlin - testImplementation "com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0" testImplementation unitTestDependencies.coroutineTesting testImplementation project(":test:core-models-stub") diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/auth/CheckAuthorizationStatusTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/auth/CheckAuthorizationStatusTest.kt index b85ebfbccd..6659392f08 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/auth/CheckAuthorizationStatusTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/auth/CheckAuthorizationStatusTest.kt @@ -7,11 +7,6 @@ import com.anytypeio.anytype.domain.auth.model.AuthStatus import com.anytypeio.anytype.domain.auth.repo.AuthRepository import com.anytypeio.anytype.domain.base.Either import com.anytypeio.anytype.test_utils.MockDataFactory -import com.nhaarman.mockitokotlin2.doReturn -import com.nhaarman.mockitokotlin2.stub -import com.nhaarman.mockitokotlin2.times -import com.nhaarman.mockitokotlin2.verify -import com.nhaarman.mockitokotlin2.verifyNoMoreInteractions import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.runBlocking import org.junit.Before @@ -19,6 +14,11 @@ import org.junit.Rule import org.junit.Test import org.mockito.Mock import org.mockito.MockitoAnnotations +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.stub +import org.mockito.kotlin.times +import org.mockito.kotlin.verify +import org.mockito.kotlin.verifyNoMoreInteractions import kotlin.test.assertTrue class CheckAuthorizationStatusTest { diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/auth/CreateAccountTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/auth/CreateAccountTest.kt index 89a32069a8..61c243a70e 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/auth/CreateAccountTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/auth/CreateAccountTest.kt @@ -6,11 +6,6 @@ import com.anytypeio.anytype.domain.auth.interactor.CreateAccount import com.anytypeio.anytype.domain.auth.repo.AuthRepository import com.anytypeio.anytype.domain.config.ConfigStorage import com.anytypeio.anytype.test_utils.MockDataFactory -import com.nhaarman.mockitokotlin2.doReturn -import com.nhaarman.mockitokotlin2.stub -import com.nhaarman.mockitokotlin2.times -import com.nhaarman.mockitokotlin2.verify -import com.nhaarman.mockitokotlin2.verifyNoMoreInteractions import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.runBlocking import org.junit.Before @@ -18,6 +13,11 @@ import org.junit.Rule import org.junit.Test import org.mockito.Mock import org.mockito.MockitoAnnotations +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.stub +import org.mockito.kotlin.times +import org.mockito.kotlin.verify +import org.mockito.kotlin.verifyNoMoreInteractions class CreateAccountTest { diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/auth/ObserveAccountsTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/auth/ObserveAccountsTest.kt index 09109470db..79ea2ebea6 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/auth/ObserveAccountsTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/auth/ObserveAccountsTest.kt @@ -5,8 +5,6 @@ import com.anytypeio.anytype.core_models.CoroutineTestRule import com.anytypeio.anytype.domain.auth.interactor.ObserveAccounts import com.anytypeio.anytype.domain.auth.repo.AuthRepository import com.anytypeio.anytype.test_utils.MockDataFactory -import com.nhaarman.mockitokotlin2.doReturn -import com.nhaarman.mockitokotlin2.stub import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.asFlow import kotlinx.coroutines.flow.collectIndexed @@ -17,6 +15,8 @@ import org.junit.Rule import org.junit.Test import org.mockito.Mock import org.mockito.MockitoAnnotations +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.stub import kotlin.test.assertEquals import kotlin.test.assertTrue diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/auth/SetupWalletTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/auth/SetupWalletTest.kt index d298d06be2..ca3cc3f84a 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/auth/SetupWalletTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/auth/SetupWalletTest.kt @@ -4,7 +4,6 @@ import com.anytypeio.anytype.domain.auth.interactor.SetupWallet import com.anytypeio.anytype.domain.auth.model.Wallet import com.anytypeio.anytype.domain.auth.repo.AuthRepository import com.anytypeio.anytype.core_models.CoroutineTestRule -import com.nhaarman.mockitokotlin2.* import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.runBlocking import org.junit.Before @@ -12,6 +11,11 @@ import org.junit.Rule import org.junit.Test import org.mockito.Mock import org.mockito.MockitoAnnotations +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.stub +import org.mockito.kotlin.times +import org.mockito.kotlin.verify +import org.mockito.kotlin.verifyNoMoreInteractions class SetupWalletTest { diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/auth/StartAccountTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/auth/StartAccountTest.kt index c3777f695b..89cd293565 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/auth/StartAccountTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/auth/StartAccountTest.kt @@ -13,11 +13,6 @@ import com.anytypeio.anytype.domain.config.ConfigStorage import com.anytypeio.anytype.domain.config.FeaturesConfigProvider import com.anytypeio.anytype.domain.workspace.WorkspaceManager import com.anytypeio.anytype.test_utils.MockDataFactory -import com.nhaarman.mockitokotlin2.doReturn -import com.nhaarman.mockitokotlin2.stub -import com.nhaarman.mockitokotlin2.times -import com.nhaarman.mockitokotlin2.verify -import com.nhaarman.mockitokotlin2.verifyNoMoreInteractions import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.runBlocking import org.junit.Before @@ -25,6 +20,11 @@ import org.junit.Rule import org.junit.Test import org.mockito.Mock import org.mockito.MockitoAnnotations +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.stub +import org.mockito.kotlin.times +import org.mockito.kotlin.verify +import org.mockito.kotlin.verifyNoMoreInteractions import kotlin.test.assertTrue class StartAccountTest { diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/block/interactor/SplitBlockTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/block/interactor/SplitBlockTest.kt index 144d9d1c0a..e4b9559534 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/block/interactor/SplitBlockTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/block/interactor/SplitBlockTest.kt @@ -6,8 +6,6 @@ import com.anytypeio.anytype.core_models.Command import com.anytypeio.anytype.domain.block.repo.BlockRepository import com.anytypeio.anytype.core_models.CoroutineTestRule import com.anytypeio.anytype.test_utils.MockDataFactory -import com.nhaarman.mockitokotlin2.times -import com.nhaarman.mockitokotlin2.verify import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.runBlocking import org.junit.Before @@ -15,6 +13,8 @@ import org.junit.Rule import org.junit.Test import org.mockito.Mock import org.mockito.MockitoAnnotations +import org.mockito.kotlin.times +import org.mockito.kotlin.verify class SplitBlockTest { diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/dashboard/GetProfileTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/dashboard/GetProfileTest.kt index 24c66d6120..4f67294c44 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/dashboard/GetProfileTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/dashboard/GetProfileTest.kt @@ -12,8 +12,6 @@ import com.anytypeio.anytype.domain.block.repo.BlockRepository import com.anytypeio.anytype.domain.config.ConfigStorage import com.anytypeio.anytype.domain.search.SubscriptionEventChannel import com.anytypeio.anytype.test_utils.MockDataFactory -import com.nhaarman.mockitokotlin2.doReturn -import com.nhaarman.mockitokotlin2.stub import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.flowOf @@ -23,6 +21,8 @@ import org.junit.Rule import org.junit.Test import org.mockito.Mock import org.mockito.MockitoAnnotations +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.stub import kotlin.test.assertEquals class GetProfileTest { diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/dashboard/OpenDashboardTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/dashboard/OpenDashboardTest.kt index 1ff1c36510..88655149c1 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/dashboard/OpenDashboardTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/dashboard/OpenDashboardTest.kt @@ -7,12 +7,6 @@ import com.anytypeio.anytype.domain.block.repo.BlockRepository import com.anytypeio.anytype.domain.config.ConfigStorage import com.anytypeio.anytype.domain.dashboard.interactor.OpenDashboard import com.anytypeio.anytype.test_utils.MockDataFactory -import com.nhaarman.mockitokotlin2.doReturn -import com.nhaarman.mockitokotlin2.never -import com.nhaarman.mockitokotlin2.stub -import com.nhaarman.mockitokotlin2.times -import com.nhaarman.mockitokotlin2.verify -import com.nhaarman.mockitokotlin2.verifyNoMoreInteractions import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runBlockingTest import kotlinx.coroutines.test.runTest @@ -21,6 +15,12 @@ import org.junit.Rule import org.junit.Test import org.mockito.Mock import org.mockito.MockitoAnnotations +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.never +import org.mockito.kotlin.stub +import org.mockito.kotlin.times +import org.mockito.kotlin.verify +import org.mockito.kotlin.verifyNoMoreInteractions class OpenDashboardTest { diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/misc/DataViewSubscriptionContainerTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/misc/DataViewSubscriptionContainerTest.kt index f3de65573c..78d65232e2 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/misc/DataViewSubscriptionContainerTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/misc/DataViewSubscriptionContainerTest.kt @@ -13,8 +13,6 @@ import com.anytypeio.anytype.domain.block.repo.BlockRepository import com.anytypeio.anytype.domain.objects.DefaultObjectStore import com.anytypeio.anytype.domain.search.DataViewSubscriptionContainer import com.anytypeio.anytype.domain.search.SubscriptionEventChannel -import com.nhaarman.mockitokotlin2.doReturn -import com.nhaarman.mockitokotlin2.stub import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.flow import kotlinx.coroutines.test.runTest @@ -23,6 +21,8 @@ import org.junit.Rule import org.junit.Test import org.mockito.Mock import org.mockito.MockitoAnnotations +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.stub import kotlin.test.assertEquals import kotlin.test.assertTrue diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/misc/GetObjectTypeTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/misc/GetObjectTypeTest.kt index b85ff67e66..97c90875fc 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/misc/GetObjectTypeTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/misc/GetObjectTypeTest.kt @@ -6,10 +6,6 @@ import com.anytypeio.anytype.core_models.Relations import com.anytypeio.anytype.domain.block.interactor.sets.GetObjectTypes import com.anytypeio.anytype.domain.block.repo.BlockRepository import com.anytypeio.anytype.test_utils.MockDataFactory -import com.nhaarman.mockitokotlin2.doReturn -import com.nhaarman.mockitokotlin2.stub -import com.nhaarman.mockitokotlin2.times -import com.nhaarman.mockitokotlin2.verify import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.runBlocking import org.junit.Assert @@ -18,6 +14,10 @@ import org.junit.Rule import org.junit.Test import org.mockito.Mock import org.mockito.MockitoAnnotations +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.stub +import org.mockito.kotlin.times +import org.mockito.kotlin.verify import kotlin.test.assertEquals class GetObjectTypeTest { diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/misc/ObjectSearchSubscriptionContainerTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/misc/ObjectSearchSubscriptionContainerTest.kt index 1ad81d42a4..9d45709b3e 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/misc/ObjectSearchSubscriptionContainerTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/misc/ObjectSearchSubscriptionContainerTest.kt @@ -7,8 +7,6 @@ import com.anytypeio.anytype.domain.block.repo.BlockRepository import com.anytypeio.anytype.domain.objects.DefaultObjectStore import com.anytypeio.anytype.domain.search.ObjectSearchSubscriptionContainer import com.anytypeio.anytype.domain.search.SubscriptionEventChannel -import com.nhaarman.mockitokotlin2.doReturn -import com.nhaarman.mockitokotlin2.stub import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.flow import kotlinx.coroutines.test.runTest @@ -17,6 +15,8 @@ import org.junit.Rule import org.junit.Test import org.mockito.Mock import org.mockito.MockitoAnnotations +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.stub import kotlin.test.assertEquals class ObjectSearchSubscriptionContainerTest { diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/page/CreateBlockLinkWithObjectTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/page/CreateBlockLinkWithObjectTest.kt index 5ecd5afa34..54db217658 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/page/CreateBlockLinkWithObjectTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/page/CreateBlockLinkWithObjectTest.kt @@ -10,11 +10,6 @@ import com.anytypeio.anytype.core_models.Relations import com.anytypeio.anytype.domain.block.repo.BlockRepository import com.anytypeio.anytype.domain.templates.GetTemplates import com.anytypeio.anytype.test_utils.MockDataFactory -import com.nhaarman.mockitokotlin2.any -import com.nhaarman.mockitokotlin2.doReturn -import com.nhaarman.mockitokotlin2.stub -import com.nhaarman.mockitokotlin2.times -import com.nhaarman.mockitokotlin2.verifyBlocking import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.runBlocking import org.junit.Before @@ -22,6 +17,11 @@ import org.junit.Rule import org.junit.Test import org.mockito.Mock import org.mockito.junit.MockitoJUnit +import org.mockito.kotlin.any +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.stub +import org.mockito.kotlin.times +import org.mockito.kotlin.verifyBlocking class CreateBlockLinkWithObjectTest { diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/page/CreateObjectAsMentionOrLinkTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/page/CreateObjectAsMentionOrLinkTest.kt index 2016a45344..c18846481d 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/page/CreateObjectAsMentionOrLinkTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/page/CreateObjectAsMentionOrLinkTest.kt @@ -10,11 +10,6 @@ import com.anytypeio.anytype.domain.block.repo.BlockRepository import com.anytypeio.anytype.domain.launch.GetDefaultEditorType import com.anytypeio.anytype.domain.templates.GetTemplates import com.anytypeio.anytype.test_utils.MockDataFactory -import com.nhaarman.mockitokotlin2.any -import com.nhaarman.mockitokotlin2.doReturn -import com.nhaarman.mockitokotlin2.stub -import com.nhaarman.mockitokotlin2.times -import com.nhaarman.mockitokotlin2.verifyBlocking import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.runBlocking import org.junit.Before @@ -22,6 +17,11 @@ import org.junit.Rule import org.junit.Test import org.mockito.Mock import org.mockito.junit.MockitoJUnit +import org.mockito.kotlin.any +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.stub +import org.mockito.kotlin.times +import org.mockito.kotlin.verifyBlocking import org.mockito.kotlin.verifyNoInteractions class CreateObjectAsMentionOrLinkTest { diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/page/CreateObjectTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/page/CreateObjectTest.kt index 4bee862013..bd05f9b36a 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/page/CreateObjectTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/page/CreateObjectTest.kt @@ -11,11 +11,6 @@ import com.anytypeio.anytype.domain.block.repo.BlockRepository import com.anytypeio.anytype.domain.launch.GetDefaultEditorType import com.anytypeio.anytype.domain.templates.GetTemplates import com.anytypeio.anytype.test_utils.MockDataFactory -import com.nhaarman.mockitokotlin2.any -import com.nhaarman.mockitokotlin2.doReturn -import com.nhaarman.mockitokotlin2.stub -import com.nhaarman.mockitokotlin2.times -import com.nhaarman.mockitokotlin2.verifyBlocking import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.runBlocking import org.junit.Before @@ -23,6 +18,11 @@ import org.junit.Rule import org.junit.Test import org.mockito.Mock import org.mockito.junit.MockitoJUnit +import org.mockito.kotlin.any +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.stub +import org.mockito.kotlin.times +import org.mockito.kotlin.verifyBlocking import org.mockito.kotlin.verifyNoInteractions class CreateObjectTest { diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/page/navigation/GetListPagesTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/page/navigation/GetListPagesTest.kt index 0bd3284971..025c44e4ec 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/page/navigation/GetListPagesTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/page/navigation/GetListPagesTest.kt @@ -1,9 +1,10 @@ package com.anytypeio.anytype.domain.page.navigation -import com.anytypeio.anytype.core_models.* +import com.anytypeio.anytype.core_models.CoroutineTestRule +import com.anytypeio.anytype.core_models.DocumentInfo +import com.anytypeio.anytype.core_models.ObjectWrapper +import com.anytypeio.anytype.core_models.SmartBlockType import com.anytypeio.anytype.domain.block.repo.BlockRepository -import com.nhaarman.mockitokotlin2.doReturn -import com.nhaarman.mockitokotlin2.stub import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.runBlocking import org.junit.Before @@ -11,6 +12,8 @@ import org.junit.Rule import org.junit.Test import org.mockito.Mock import org.mockito.MockitoAnnotations +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.stub import kotlin.test.assertEquals class GetListPagesTest { diff --git a/domain/src/test/java/com/anytypeio/anytype/domain/page/navigation/GetObjectInfoWithLinksTest.kt b/domain/src/test/java/com/anytypeio/anytype/domain/page/navigation/GetObjectInfoWithLinksTest.kt index 6aa74b43f5..f515ff4a92 100644 --- a/domain/src/test/java/com/anytypeio/anytype/domain/page/navigation/GetObjectInfoWithLinksTest.kt +++ b/domain/src/test/java/com/anytypeio/anytype/domain/page/navigation/GetObjectInfoWithLinksTest.kt @@ -3,8 +3,6 @@ package com.anytypeio.anytype.domain.page.navigation import com.anytypeio.anytype.core_models.* import com.anytypeio.anytype.domain.block.repo.BlockRepository import com.anytypeio.anytype.test_utils.MockDataFactory -import com.nhaarman.mockitokotlin2.doReturn -import com.nhaarman.mockitokotlin2.stub import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.runBlocking import org.junit.Before @@ -12,6 +10,8 @@ import org.junit.Rule import org.junit.Test import org.mockito.Mock import org.mockito.MockitoAnnotations +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.stub import kotlin.test.assertEquals class GetObjectInfoWithLinksTest { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c1895f03bd..b7fcaf883d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,11 +1,52 @@ [versions] -middleware_version = "v0.24.0" -androidx_core_version = "1.7.0" +middlewareVersion = "v0.24.0" +kotlinVersion = '1.7.10' +androidxCoreVersion = "1.9.0" +androidxComposeVersion1 = '1.3.1' +androidxComposeVersion2 = '1.3.2' +appcompatVersion = '1.5.1' +fragmentVersion = "1.5.5" +exoplayerVersion = "2.18.2" +wireVersion = "4.4.3" +glideVersion = "4.14.2" +mockitoKotlinVersion = "4.1.0" +junitVersion = '4.13.2' +androidJunitVersion = "1.1.4" +runnerVersion = "1.5.0" +mockitoAndroidVersion = '4.10.0' [libraries] -middleware = { module = "io.anytype:android-mw", version.ref = "middleware_version" } -androidxCore = { module = "androidx.core:core-ktx", version.ref = "androidx_core_version" } -agp = { module = "com.android.tools.build:gradle", version = "7.3.0" } +middleware = { module = "io.anytype:android-mw", version.ref = "middlewareVersion" } +androidxCore = { module = "androidx.core:core-ktx", version.ref = "androidxCoreVersion" } +agp = { module = "com.android.tools.build:gradle", version = "7.3.1" } +kgp = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlinVersion" } +kserialization = { module = "org.jetbrains.kotlin:kotlin-serialization", version.ref = "kotlinVersion" } +wire = { module = "com.squareup.wire:wire-gradle-plugin", version = "4.4.3" } +kotlin = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlinVersion" } +kotlinTest = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlinVersion" } +compose = { module = "androidx.compose.ui:ui", version.ref = "androidxComposeVersion2" } +composeTooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "androidxComposeVersion2" } +composeToolingPreview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "androidxComposeVersion2" } +composeFoundation = { module = "androidx.compose.foundation:foundation", version.ref = "androidxComposeVersion1" } +composeMaterial = { module = "androidx.compose.material:material", version.ref = "androidxComposeVersion1" } +kotlinxSerializationJson = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version = "1.4.1" } +appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompatVersion" } +androidAnnotations = { module = "androidx.annotation:annotation", version.ref = "appcompatVersion" } +design = { module = "com.google.android.material:material", version = "1.7.0" } +fragment = { module = "androidx.fragment:fragment-ktx", version.ref = "fragmentVersion" } +fragmentTesting = { module = "androidx.fragment:fragment-testing", version.ref = "fragmentVersion" } +exoPlayerCore = { module = "com.google.android.exoplayer:exoplayer-core", version.ref = "exoplayerVersion" } +exoPlayerUi = { module = "com.google.android.exoplayer:exoplayer-ui", version.ref = "exoplayerVersion" } +wireRuntime = { module = "com.squareup.wire:wire-runtime", version.ref = "wireVersion" } +gsonWire = { module = "com.squareup.wire:wire-gson-support", version.ref = "wireVersion" } +glide = { module = "com.github.bumptech.glide:glide", version.ref = "glideVersion" } +glideCompiler = { module = "com.github.bumptech.glide:compiler", version.ref = "glideVersion" } +mockitoKotlin = { module = "org.mockito.kotlin:mockito-kotlin", version.ref = "mockitoKotlinVersion" } +junit = { module = "junit:junit", version.ref = "junitVersion" } +androidJUnit = { module = "androidx.test.ext:junit", version.ref = "androidJunitVersion" } +testRunner = { module = "androidx.test:runner", version.ref = "runnerVersion" } +testRules = { module = "androidx.test:rules", version.ref = "runnerVersion" } +mockitoAndroid = { module = "org.mockito:mockito-android", version.ref = "mockitoAndroidVersion" } [bundles] diff --git a/library-emojifier/build.gradle b/library-emojifier/build.gradle index b6601a8457..42016cf242 100644 --- a/library-emojifier/build.gradle +++ b/library-emojifier/build.gradle @@ -13,6 +13,6 @@ dependencies { implementation appDependencies.gson implementation appDependencies.coroutinesAndroid - testImplementation unitTestDependencies.junit - testImplementation unitTestDependencies.kotlinTest + testImplementation libs.junit + testImplementation libs.kotlinTest } \ No newline at end of file diff --git a/library-page-icon-picker-widget/build.gradle b/library-page-icon-picker-widget/build.gradle index 6454d7b1e8..fa26d339a3 100644 --- a/library-page-icon-picker-widget/build.gradle +++ b/library-page-icon-picker-widget/build.gradle @@ -18,20 +18,20 @@ dependencies { implementation project(':presentation') implementation project(':library-emojifier') - implementation applicationDependencies.appcompat - implementation applicationDependencies.kotlin + implementation libs.appcompat + implementation libs.kotlin implementation applicationDependencies.coroutinesAndroid implementation libs.androidxCore implementation applicationDependencies.emojiCompat - implementation applicationDependencies.design + implementation libs.design implementation applicationDependencies.recyclerView implementation applicationDependencies.constraintLayout implementation applicationDependencies.timber - implementation applicationDependencies.glide + implementation libs.glide - testImplementation unitTestDependencies.junit - testImplementation unitTestDependencies.kotlinTest + testImplementation libs.junit + testImplementation libs.kotlinTest testImplementation unitTestDependencies.robolectricLatest testImplementation unitTestDependencies.androidXTestCore } \ No newline at end of file diff --git a/library-syntax-highlighter/build.gradle b/library-syntax-highlighter/build.gradle index 9cd9c746a1..a83234888e 100644 --- a/library-syntax-highlighter/build.gradle +++ b/library-syntax-highlighter/build.gradle @@ -8,15 +8,15 @@ dependencies { def applicationDependencies = rootProject.ext.mainApplication def unitTestDependencies = rootProject.ext.unitTesting - implementation applicationDependencies.appcompat - implementation applicationDependencies.kotlin + implementation libs.appcompat + implementation libs.kotlin implementation applicationDependencies.coroutinesAndroid implementation libs.androidxCore implementation applicationDependencies.timber - implementation applicationDependencies.kotlinxSerializationJson + implementation libs.kotlinxSerializationJson - testImplementation unitTestDependencies.junit - testImplementation unitTestDependencies.kotlinTest + testImplementation libs.junit + testImplementation libs.kotlinTest testImplementation unitTestDependencies.robolectricLatest testImplementation unitTestDependencies.androidXTestCore } \ No newline at end of file diff --git a/middleware/build.gradle b/middleware/build.gradle index 50797f6be2..1adfa52f9e 100644 --- a/middleware/build.gradle +++ b/middleware/build.gradle @@ -14,16 +14,16 @@ dependencies { def applicationDependencies = rootProject.ext.mainApplication def unitTestDependencies = rootProject.ext.unitTesting - implementation applicationDependencies.kotlin + implementation libs.kotlin implementation applicationDependencies.timber implementation applicationDependencies.coroutinesAndroid - implementation applicationDependencies.gsonWire + implementation libs.gsonWire implementation applicationDependencies.gson implementation applicationDependencies.javaxInject implementation libs.middleware testImplementation project(":test:utils") - testImplementation unitTestDependencies.junit - testImplementation unitTestDependencies.kotlinTest - testImplementation unitTestDependencies.mockitoKotlin + testImplementation libs.junit + testImplementation libs.kotlinTest + testImplementation libs.mockitoKotlin } \ No newline at end of file diff --git a/persistence/build.gradle b/persistence/build.gradle index 824f979e81..8d3813da3f 100644 --- a/persistence/build.gradle +++ b/persistence/build.gradle @@ -13,7 +13,7 @@ dependencies { def unitTestDependencies = rootProject.ext.unitTesting def databaseDependencies = rootProject.ext.db - implementation applicationDependencies.kotlin + implementation libs.kotlin implementation applicationDependencies.coroutinesAndroid implementation applicationDependencies.gson implementation applicationDependencies.lifecycleLiveData @@ -27,9 +27,9 @@ dependencies { testImplementation project(":test:utils") testImplementation databaseDependencies.roomTesting - testImplementation unitTestDependencies.junit - testImplementation unitTestDependencies.kotlinTest - testImplementation unitTestDependencies.mockitoKotlin + testImplementation libs.junit + testImplementation libs.kotlinTest + testImplementation libs.mockitoKotlin testImplementation unitTestDependencies.robolectricLatest testImplementation unitTestDependencies.archCoreTesting } \ No newline at end of file diff --git a/presentation/build.gradle b/presentation/build.gradle index c1998237e5..df7b2f3a2a 100644 --- a/presentation/build.gradle +++ b/presentation/build.gradle @@ -25,7 +25,7 @@ dependencies { def unitTestDependencies = rootProject.ext.unitTesting def analyticsDependencies = rootProject.ext.analytics - implementation applicationDependencies.kotlin + implementation libs.kotlin implementation applicationDependencies.coroutinesAndroid implementation applicationDependencies.lifecycleViewModel @@ -39,9 +39,10 @@ dependencies { compileOnly applicationDependencies.javaxInject - testImplementation unitTestDependencies.junit - testImplementation unitTestDependencies.kotlinTest - testImplementation unitTestDependencies.mockitoKotlin + testImplementation libs.junit + testImplementation libs.kotlinTest + testImplementation libs.mockitoKotlin + testImplementation "net.bytebuddy:byte-buddy:1.12.20" testImplementation unitTestDependencies.coroutineTesting testImplementation unitTestDependencies.liveDataTesting testImplementation unitTestDependencies.archCoreTesting diff --git a/protocol/build.gradle b/protocol/build.gradle index 946adb850d..6f5ddc1757 100644 --- a/protocol/build.gradle +++ b/protocol/build.gradle @@ -5,8 +5,7 @@ plugins { } dependencies { - def applicationDependencies = rootProject.ext.mainApplication - implementation applicationDependencies.kotlin + implementation libs.kotlin } wire { diff --git a/sample/build.gradle b/sample/build.gradle index 7cafc3a2f1..407da525dd 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -4,7 +4,7 @@ apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' android { - compileSdkVersion 32 + compileSdkVersion 33 buildToolsVersion "32.0.0" defaultConfig { @@ -46,22 +46,22 @@ dependencies { implementation project(':core-ui') implementation project(':presentation') - implementation applicationDependencies.kotlin - implementation applicationDependencies.appcompat - implementation applicationDependencies.glide + implementation libs.kotlin + implementation libs.appcompat + implementation libs.glide implementation applicationDependencies.coroutinesAndroid implementation applicationDependencies.constraintLayout implementation libs.androidxCore implementation applicationDependencies.timber - implementation applicationDependencies.fragment - implementation applicationDependencies.design + implementation libs.fragment + implementation libs.design implementation applicationDependencies.pickT //implementation 'com.github.gregcockroft:AndroidMath:ALPHA' - testImplementation unitTestDependencies.junit - testImplementation unitTestDependencies.kotlinTest + testImplementation libs.junit + testImplementation libs.kotlinTest testImplementation unitTestDependencies.robolectricLatest testImplementation unitTestDependencies.androidXTestCore - testImplementation unitTestDependencies.mockitoKotlin + testImplementation libs.mockitoKotlin } diff --git a/test/android-utils/build.gradle b/test/android-utils/build.gradle index ae09a72332..a4babd8287 100644 --- a/test/android-utils/build.gradle +++ b/test/android-utils/build.gradle @@ -6,10 +6,10 @@ plugins { dependencies { api acceptanceTesting.espressoCore - implementation mainApplication.appcompat - implementation mainApplication.kotlin + implementation libs.appcompat + implementation libs.kotlin implementation mainApplication.coroutinesAndroid implementation libs.androidxCore - implementation mainApplication.design + implementation libs.design implementation mainApplication.recyclerView } \ No newline at end of file diff --git a/test/utils/build.gradle b/test/utils/build.gradle index 695da157e6..3b83d85aff 100644 --- a/test/utils/build.gradle +++ b/test/utils/build.gradle @@ -3,6 +3,6 @@ plugins { } dependencies { - implementation mainApplication.kotlin - implementation unitTesting.mockitoKotlin + implementation libs.kotlin + implementation libs.mockitoKotlin } \ No newline at end of file diff --git a/ui-settings/build.gradle b/ui-settings/build.gradle index 8a60b3f59f..b378db5772 100644 --- a/ui-settings/build.gradle +++ b/ui-settings/build.gradle @@ -12,7 +12,7 @@ android { } composeOptions { - kotlinCompilerExtensionVersion config["compose_version"] + kotlinCompilerExtensionVersion libs.versions.androidxComposeVersion1.get() } } @@ -31,16 +31,16 @@ dependencies { implementation applicationDependencies.lifecycleViewModel implementation applicationDependencies.lifecycleRuntime - implementation applicationDependencies.appcompat - implementation applicationDependencies.compose - implementation applicationDependencies.composeFoundation - implementation applicationDependencies.composeMaterial - implementation applicationDependencies.composeToolingPreview + implementation libs.appcompat + implementation libs.compose + implementation libs.composeFoundation + implementation libs.composeMaterial + implementation libs.composeToolingPreview - debugImplementation applicationDependencies.composeTooling + debugImplementation libs.composeTooling implementation applicationDependencies.timber - testImplementation unitTestDependencies.junit - testImplementation unitTestDependencies.kotlinTest + testImplementation libs.junit + testImplementation libs.kotlinTest } \ No newline at end of file