diff --git a/app/build.gradle.kts b/app/build.gradle.kts index a0c31cf7891ae8476b862d8163a67cd18aecb682..cafb21e22a93d4b0c23623d7a4443fed1dd71d4a 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -58,9 +58,7 @@ android { setProperty("archivesBaseName", "Quasseldroid-$versionName") // Disable test runner analytics - testInstrumentationRunnerArguments = mapOf( - "disableAnalytics" to "true" - ) + testInstrumentationRunnerArguments["disableAnalytics"] = "true" testInstrumentationRunner = "de.kuschku.quasseldroid.util.TestRunner" } @@ -96,16 +94,16 @@ android { lintOptions { isWarningsAsErrors = true - setLintConfig(file("../lint.xml")) + lintConfig = file("../lint.xml") } - viewBinding { - isEnabled = true + buildFeatures { + viewBinding = true } } dependencies { - implementation(kotlin("stdlib", "1.3.72")) + implementation(kotlin("stdlib", "1.5.0")) // App Compat implementation("com.google.android.material", "material", "1.1.0-alpha10") diff --git a/app/src/main/java/de/kuschku/quasseldroid/service/BacklogRequester.kt b/app/src/main/java/de/kuschku/quasseldroid/service/BacklogRequester.kt index 38215a15d45b7ce83e0a6f1ec96325e14199387e..05d432727b58db0d0be0b4d14d9acfa801548e3b 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/service/BacklogRequester.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/service/BacklogRequester.kt @@ -71,7 +71,7 @@ class BacklogRequester( val hasLoadedAll = missing == 0 val hasLoadedAny = missing < amount if (untilAllVisible && !hasLoadedAll || !untilAllVisible && !hasLoadedAny) { - val messageId = it.map(Message::messageId).min() + val messageId = it.map(Message::messageId).minOrNull() loadMore(accountId, buffer, missing, diff --git a/app/src/main/java/de/kuschku/quasseldroid/service/QuasselNotificationBackend.kt b/app/src/main/java/de/kuschku/quasseldroid/service/QuasselNotificationBackend.kt index efd1e427a2d9edbedef7983444542b626f10e284..c032aa5dec9471a3e2313303f599343b0ede5b7d 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/service/QuasselNotificationBackend.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/service/QuasselNotificationBackend.kt @@ -283,7 +283,7 @@ class QuasselNotificationBackend @Inject constructor( val data = database.notifications().all(buffer) data.lastOrNull()?.let { // Only send a loud notification if it has any new messages - val max = data.maxBy { it.creationTime } + val max = data.maxByOrNull { it.creationTime } val isLoud = max?.creationTime?.isAfter(initTime) == true val buffer = NotificationBuffer( diff --git a/app/src/main/java/de/kuschku/quasseldroid/settings/SettingsMigrationManager.kt b/app/src/main/java/de/kuschku/quasseldroid/settings/SettingsMigrationManager.kt index 591e0d819ea93deff8d846729aa973435eda9310..db8048256044e0315cfc710ccebeadec7cf0f15b 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/settings/SettingsMigrationManager.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/settings/SettingsMigrationManager.kt @@ -29,7 +29,7 @@ class SettingsMigrationManager( migrations: List<SettingsMigration> ) { private val migrationMap = migrations.associateBy(SettingsMigration::from) - private val currentVersion = migrations.map(SettingsMigration::to).max() + private val currentVersion = migrations.map(SettingsMigration::to).maxOrNull() // This runs during initial start and has to run synchronously @SuppressLint("ApplySharedPref") diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt index ad058aedc427d1f6acada18e3829b90cccbbfa82..5f8b613bc547160f93f95358d3679c9599190a61 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt @@ -336,12 +336,12 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc val maxBufferActivity = modelHelper.processBufferList(modelHelper.bufferViewConfig, filtered).map { (config, bufferList) -> - val minimumActivity: Buffer_Activity = config?.minimumActivity()?.enabledValues()?.max() + val minimumActivity: Buffer_Activity = config?.minimumActivity()?.enabledValues()?.maxOrNull() ?: Buffer_Activity.NoActivity val maxActivity: Buffer_Activity = bufferList.mapNotNull { - it.bufferActivity.enabledValues().max() - }.max() ?: Buffer_Activity.NoActivity + it.bufferActivity.enabledValues().maxOrNull() + }.maxOrNull() ?: Buffer_Activity.NoActivity val hasNotifications = bufferList.any { props -> when { diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/AutoCompleteHelper.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/AutoCompleteHelper.kt index 1b54b776273de3f952dcb2b4f2570c347c06bdd6..af6568a098e59b104f9953b193edd4fda91c7bfe 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/AutoCompleteHelper.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/AutoCompleteHelper.kt @@ -231,7 +231,7 @@ class AutoCompleteHelper( val userModes = ircChannel.userModes(user) val prefixModes = network.prefixModes() - val lowestMode = userModes.mapNotNull(prefixModes::indexOf).min() + val lowestMode = userModes.mapNotNull(prefixModes::indexOf).minOrNull() ?: prefixModes.size AutoCompleteItem.UserItem( diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutFragment.kt index 574b03fb86764e4be3b5d182d783eda1924b21e1..b8976f7459aea3d00f53e7eb08d883151a44c9e1 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/clientsettings/about/AboutFragment.kt @@ -209,7 +209,7 @@ class AboutFragment : DaggerFragment() { ), Library( name = "Kotlin Standard Library", - version = "1.3.72", + version = "1.5.0", license = apache2, url = "https://kotlinlang.org/" ), diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightlist/HighlightListFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightlist/HighlightListFragment.kt index 4458a826f930bb4d86c0514424aa8c39ce740184..cd939ee036488459862452f3e6943bb9986b8cb7 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightlist/HighlightListFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/highlightlist/HighlightListFragment.kt @@ -184,8 +184,8 @@ class HighlightListFragment : ServiceBoundSettingsFragment(), Savable, Changeabl ignoreRulesHelper.startDrag(holder) private fun nextId(): Int { - val maxRuleId = rulesAdapter.list.maxBy { it.id }?.id - val maxIgnoreRuleId = ignoreRulesAdapter.list.maxBy { it.id }?.id + val maxRuleId = rulesAdapter.list.maxByOrNull { it.id }?.id + val maxIgnoreRuleId = ignoreRulesAdapter.list.maxByOrNull { it.id }?.id return when { maxRuleId != null && maxIgnoreRuleId != null -> maxOf(maxRuleId, maxIgnoreRuleId) + 1 diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/helper/CharSequenceHelper.kt b/app/src/main/java/de/kuschku/quasseldroid/util/helper/CharSequenceHelper.kt index d38d2585023dddd156cdd1fb93c852ef377f76f0..fa0c80ddc4362650b87abf7f79454c30641e4b35 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/helper/CharSequenceHelper.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/helper/CharSequenceHelper.kt @@ -161,14 +161,14 @@ fun CharSequence.lastWordIndices(cursor: Int = this.length, lastIndexOf('\r', cursorPosition - 1), lastIndexOf('\n', cursorPosition - 1), lastIndexOf('\t', cursorPosition - 1) - ).max() ?: -1 + ).maxOrNull() ?: -1 val endOfWord = sequenceOf( indexOf(' ', cursorPosition), indexOf('\r', cursorPosition), indexOf('\n', cursorPosition), indexOf('\t', cursorPosition) - ).min() ?: -1 + ).minOrNull() ?: -1 val start = beginningOfWord + 1 val end = when { diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeaturesDialog.kt b/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeaturesDialog.kt index 40a2b53fda211f0a2e20c9dd41e2d83c8dd1c0d7..4bd302c9b856ac97f8d75a8025bba37a05c4cbf6 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeaturesDialog.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/missingfeatures/MissingFeaturesDialog.kt @@ -57,7 +57,7 @@ class MissingFeaturesDialog : DialogFragment() { } .build() ButterKnife.bind(this, dialog.customView!!) - val version = builder?.missingFeatures?.maxBy(MissingFeature::minimumVersion)?.minimumVersion + val version = builder?.missingFeatures?.maxByOrNull(MissingFeature::minimumVersion)?.minimumVersion ?: QuasselVersion.VERSION_0_13 message.text = Html.fromHtml(getString(R.string.info_missing_features, version.humanName)) message.movementMethod = BetterLinkMovementMethod.newInstance() diff --git a/build.gradle.kts b/build.gradle.kts index b43dc1edf38ce3e00a16d7c7ae40a6ab4aa3c409..74b20205ca7b27d7d50bb3f89c3742945323556c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -25,8 +25,8 @@ buildscript { jcenter() } dependencies { - classpath("com.android.tools.build:gradle:3.6.1") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.72") + classpath("com.android.tools.build:gradle:4.1.2") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0") } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c5052237fa3ea762db4ef9fb2e2f84f8732dd6e0..7eaa725b752dd575fefe05a43a76f5177ba6150e 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -18,4 +18,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https://services.gradle.org/distributions/gradle-5.6.4-all.zip +distributionUrl=https://services.gradle.org/distributions/gradle-7.0.1-all.zip diff --git a/invokergenerator/build.gradle.kts b/invokergenerator/build.gradle.kts index 917fc331cc0bfcce4cea9992e506271e36d152ba..d4c228f8cf220799364985e0d341f6cb444868bc 100644 --- a/invokergenerator/build.gradle.kts +++ b/invokergenerator/build.gradle.kts @@ -29,10 +29,10 @@ tasks.withType<KotlinCompile> { } dependencies { - implementation(kotlin("stdlib", "1.3.72")) + implementation(kotlin("stdlib", "1.5.0")) implementation(project(":invokerannotations")) - implementation("org.jetbrains.kotlin", "kotlin-compiler-embeddable", "1.3.72") - implementation("com.squareup", "kotlinpoet", "1.3.0") - compileOnly("com.google.auto.service:auto-service:1.0-rc6") - kapt("com.google.auto.service:auto-service:1.0-rc6") + implementation("org.jetbrains.kotlin", "kotlin-compiler-embeddable", "1.5.0") + implementation("com.squareup", "kotlinpoet", "1.8.0") + compileOnly("com.google.auto.service:auto-service:1.0-rc7") + kapt("com.google.auto.service:auto-service:1.0-rc7") } diff --git a/lib/build.gradle.kts b/lib/build.gradle.kts index bebf93e87459b934fe7c99d8e326d56bfb79c84a..91134539d2a427e1d04d67d25f4f2b017952dec4 100644 --- a/lib/build.gradle.kts +++ b/lib/build.gradle.kts @@ -23,7 +23,7 @@ plugins { } dependencies { - implementation(kotlin("stdlib", "1.3.72")) + implementation(kotlin("stdlib", "1.5.0")) implementation("androidx.annotation", "annotation", "1.1.0") diff --git a/lifecycle-ktx/build.gradle.kts b/lifecycle-ktx/build.gradle.kts index 1c350468f36834e0a2b066011ad8319519b212d3..295cd99f1c779060fa6cab572d68bb41cba5a9c9 100644 --- a/lifecycle-ktx/build.gradle.kts +++ b/lifecycle-ktx/build.gradle.kts @@ -22,7 +22,7 @@ plugins { } dependencies { - implementation(kotlin("stdlib", "1.3.72")) + implementation(kotlin("stdlib", "1.5.0")) implementation("androidx.annotation", "annotation", "1.1.0") diff --git a/malheur/build.gradle.kts b/malheur/build.gradle.kts index 9516e3b2ef6f4ed2598fa637389b81690c27fd1e..43b2a188aad2f5d543520498b480ad88ef411cc3 100644 --- a/malheur/build.gradle.kts +++ b/malheur/build.gradle.kts @@ -32,19 +32,17 @@ android { consumerProguardFiles("proguard-rules.pro") // Disable test runner analytics - testInstrumentationRunnerArguments = mapOf( - "disableAnalytics" to "true" - ) + testInstrumentationRunnerArguments["disableAnalytics"] = "true" } lintOptions { isWarningsAsErrors = true - setLintConfig(file("../lint.xml")) + lintConfig = file("../lint.xml") } } dependencies { - implementation(kotlin("stdlib", "1.3.72")) + implementation(kotlin("stdlib", "1.5.0")) implementation("com.google.code.gson", "gson", "2.8.5") implementation("androidx.annotation", "annotation", "1.1.0") diff --git a/persistence/build.gradle.kts b/persistence/build.gradle.kts index 1a91c005edbc0643b997f5a780581d0af6581959..0e4f1a71042a2c605eefed389990d3c9fe443834 100644 --- a/persistence/build.gradle.kts +++ b/persistence/build.gradle.kts @@ -34,24 +34,22 @@ android { javaCompileOptions { annotationProcessorOptions { - arguments = mapOf("room.schemaLocation" to "$projectDir/schemas") + arguments["room.schemaLocation"] = "$projectDir/schemas" } } // Disable test runner analytics - testInstrumentationRunnerArguments = mapOf( - "disableAnalytics" to "true" - ) + testInstrumentationRunnerArguments["disableAnalytics"] = "true" } lintOptions { isWarningsAsErrors = true - setLintConfig(file("../lint.xml")) + lintConfig = file("../lint.xml") } } dependencies { - implementation(kotlin("stdlib", "1.3.72")) + implementation(kotlin("stdlib", "1.5.0")) implementation("androidx.appcompat", "appcompat", "1.1.0") diff --git a/ui_spinner/build.gradle.kts b/ui_spinner/build.gradle.kts index b2b102c80a72067382ffbbdbcc9f3900fe6b8d6f..77101b242ef5d3dd062e1181611f755337858382 100644 --- a/ui_spinner/build.gradle.kts +++ b/ui_spinner/build.gradle.kts @@ -32,18 +32,16 @@ android { consumerProguardFiles("proguard-rules.pro") // Disable test runner analytics - testInstrumentationRunnerArguments = mapOf( - "disableAnalytics" to "true" - ) + testInstrumentationRunnerArguments["disableAnalytics"] = "true" } lintOptions { isWarningsAsErrors = true - setLintConfig(file("../lint.xml")) + lintConfig = file("../lint.xml") } } dependencies { - implementation(kotlin("stdlib", "1.3.72")) + implementation(kotlin("stdlib", "1.5.0")) implementation("androidx.appcompat", "appcompat", "1.1.0") } diff --git a/viewmodel/build.gradle.kts b/viewmodel/build.gradle.kts index 1fe56917c37e2e2b091bc8d4fc50a425cb2d33e5..5aa9f48c48a68d87c7bc1f086566d9add60bcd50 100644 --- a/viewmodel/build.gradle.kts +++ b/viewmodel/build.gradle.kts @@ -32,19 +32,17 @@ android { consumerProguardFiles("proguard-rules.pro") // Disable test runner analytics - testInstrumentationRunnerArguments = mapOf( - "disableAnalytics" to "true" - ) + testInstrumentationRunnerArguments["disableAnalytics"] = "true" } lintOptions { isWarningsAsErrors = true - setLintConfig(file("../lint.xml")) + lintConfig = file("../lint.xml") } } dependencies { - implementation(kotlin("stdlib", "1.3.72")) + implementation(kotlin("stdlib", "1.5.0")) implementation("androidx.appcompat", "appcompat", "1.1.0") withVersion("2.2.0") { diff --git a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/helper/ChatViewModelHelper.kt b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/helper/ChatViewModelHelper.kt index d9120a21af6081deddacb7d87e30c2fd6733c387..f5548b631fd15555bcaaa4bbd341c9a2f8d63ccd 100644 --- a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/helper/ChatViewModelHelper.kt +++ b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/helper/ChatViewModelHelper.kt @@ -147,7 +147,7 @@ open class ChatViewModelHelper @Inject constructor( val lowestMode = userModes.asSequence().mapNotNull { prefixModes.indexOf(it) - }.min() ?: prefixModes.size + }.minOrNull() ?: prefixModes.size IrcUserItem( bufferInfo.networkId, diff --git a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/helper/EditorViewModelHelper.kt b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/helper/EditorViewModelHelper.kt index cdc936775dad0a0d8dd882126da213334dc11be2..fa1ddf148e5eea1d4ee764acb0306c7af2aa7bec 100644 --- a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/helper/EditorViewModelHelper.kt +++ b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/helper/EditorViewModelHelper.kt @@ -148,7 +148,7 @@ open class EditorViewModelHelper @Inject constructor( val userModes = ircChannel.userModes(user) val prefixModes = network.prefixModes() - val lowestMode = userModes.mapNotNull(prefixModes::indexOf).min() + val lowestMode = userModes.mapNotNull(prefixModes::indexOf).minOrNull() ?: prefixModes.size AutoCompleteItem.UserItem(