From 7e6f3ef22f0bf77a7810619d1632491bfee75a8d Mon Sep 17 00:00:00 2001
From: Janne Mareike Koschinski <janne@kuschku.de>
Date: Wed, 26 May 2021 19:09:43 +0200
Subject: [PATCH] Update dependencies

---
 app/build.gradle.kts                                 | 12 +++++-------
 .../kuschku/quasseldroid/service/BacklogRequester.kt |  2 +-
 .../service/QuasselNotificationBackend.kt            |  2 +-
 .../settings/SettingsMigrationManager.kt             |  2 +-
 .../de/kuschku/quasseldroid/ui/chat/ChatActivity.kt  |  6 +++---
 .../quasseldroid/ui/chat/input/AutoCompleteHelper.kt |  2 +-
 .../ui/clientsettings/about/AboutFragment.kt         |  2 +-
 .../highlightlist/HighlightListFragment.kt           |  4 ++--
 .../quasseldroid/util/helper/CharSequenceHelper.kt   |  4 ++--
 .../util/missingfeatures/MissingFeaturesDialog.kt    |  2 +-
 build.gradle.kts                                     |  4 ++--
 gradle/wrapper/gradle-wrapper.properties             |  2 +-
 invokergenerator/build.gradle.kts                    | 10 +++++-----
 lib/build.gradle.kts                                 |  2 +-
 lifecycle-ktx/build.gradle.kts                       |  2 +-
 malheur/build.gradle.kts                             |  8 +++-----
 persistence/build.gradle.kts                         | 10 ++++------
 ui_spinner/build.gradle.kts                          |  8 +++-----
 viewmodel/build.gradle.kts                           |  8 +++-----
 .../viewmodel/helper/ChatViewModelHelper.kt          |  2 +-
 .../viewmodel/helper/EditorViewModelHelper.kt        |  2 +-
 21 files changed, 43 insertions(+), 53 deletions(-)

diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index a0c31cf78..cafb21e22 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 38215a15d..05d432727 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 efd1e427a..c032aa5de 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 591e0d819..db8048256 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 ad058aedc..5f8b613bc 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 1b54b7762..af6568a09 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 574b03fb8..b8976f745 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 4458a826f..cd939ee03 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 d38d25850..fa0c80ddc 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 40a2b53fd..4bd302c9b 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 b43dc1edf..74b20205c 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 c5052237f..7eaa725b7 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 917fc331c..d4c228f8c 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 bebf93e87..91134539d 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 1c350468f..295cd99f1 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 9516e3b2e..43b2a188a 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 1a91c005e..0e4f1a710 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 b2b102c80..77101b242 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 1fe56917c..5aa9f48c4 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 d9120a21a..f5548b631 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 cdc936775..fa1ddf148 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(
-- 
GitLab