From f5f58b5e79285a210351e89c95c51328d825dd0f Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Sun, 10 Mar 2019 18:43:31 +0100
Subject: [PATCH] Updated Dependencies

---
 app/build.gradle.kts                          | 42 ++++++++++---------
 .../ui/clientsettings/about/AboutFragment.kt  | 30 ++++++-------
 build.gradle.kts                              |  5 +--
 buildSrc/build.gradle.kts                     |  6 ++-
 buildSrc/src/main/kotlin/VersionContext.kt    |  8 ++--
 desktop/build.gradle.kts                      |  2 +-
 invokergenerator/build.gradle.kts             |  6 +--
 lib/build.gradle.kts                          |  2 +-
 lifecycle-ktx/build.gradle.kts                |  9 +---
 malheur/build.gradle.kts                      |  2 +-
 persistence/build.gradle.kts                  | 18 ++++----
 viewmodel/build.gradle.kts                    | 11 ++---
 .../viewmodel/QuasselViewModel.kt             |  1 +
 13 files changed, 71 insertions(+), 71 deletions(-)

diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 907d1f2e6..944c33031 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -101,10 +101,10 @@ android {
 }
 
 dependencies {
-  implementation(kotlin("stdlib", "1.3.20"))
+  implementation(kotlin("stdlib", "1.3.21"))
 
   // App Compat
-  implementation("com.google.android.material", "material", "1.0.0-rc01")
+  implementation("com.google.android.material", "material", "1.0.0")
 
   implementation("androidx.appcompat", "appcompat", "1.0.0")
   implementation("androidx.browser", "browser", "1.0.0")
@@ -114,30 +114,32 @@ dependencies {
   implementation("androidx.legacy", "legacy-preference-v14", "1.0.0")
   implementation("androidx.constraintlayout", "constraintlayout", "1.1.2")
 
-  implementation("androidx.lifecycle", "lifecycle-extensions", "2.0.0-rc01")
-  implementation("androidx.lifecycle", "lifecycle-reactivestreams", "2.0.0-rc01")
-  testImplementation("androidx.arch.core", "core-testing", "2.0.0-rc01")
-  implementation(project(":lifecycle-ktx"))
+  withVersion("2.0.0") {
+    implementation("androidx.room", "room-runtime", version)
+    kapt("androidx.room", "room-compiler", version)
+    implementation("androidx.room", "room-rxjava2", version)
+    testImplementation("androidx.room", "room-testing", version)
 
-  implementation("androidx.room", "room-runtime", "2.0.0-rc01")
-  kapt("androidx.room", "room-compiler", "2.0.0-rc01")
-  implementation("androidx.room", "room-rxjava2", "2.0.0-rc01")
-  testImplementation("androidx.room", "room-testing", "2.0.0-rc01")
+    implementation("androidx.lifecycle", "lifecycle-extensions", version)
+    implementation("androidx.lifecycle", "lifecycle-reactivestreams", version)
+    testImplementation("androidx.arch.core", "core-testing", version)
+  }
+  implementation(project(":lifecycle-ktx"))
 
-  implementation("androidx.paging", "paging-runtime", "2.0.0-rc01")
+  implementation("androidx.paging", "paging-runtime", "2.1.0")
 
-  implementation("androidx.multidex", "multidex", "2.0.0")
+  implementation("androidx.multidex", "multidex", "2.0.1")
 
   // Utility
   implementation("io.reactivex.rxjava2", "rxandroid", "2.0.2")
   implementation("io.reactivex.rxjava2", "rxjava", "2.1.9")
   implementation("org.threeten", "threetenbp", "1.3.8", classifier = "no-tzdb")
-  implementation("org.jetbrains", "annotations", "16.0.3")
+  implementation("org.jetbrains", "annotations", "17.0.0")
   implementation("com.google.code.gson", "gson", "2.8.5")
-  implementation("commons-codec", "commons-codec", "1.11")
+  implementation("commons-codec", "commons-codec", "1.12")
   implementation("com.squareup.retrofit2", "retrofit", "2.5.0")
   implementation("com.squareup.retrofit2", "converter-gson", "2.5.0")
-  withVersion("10.0.0") {
+  withVersion("10.1.0") {
     implementation("com.jakewharton", "butterknife", version)
     kapt("com.jakewharton", "butterknife-compiler", version)
   }
@@ -150,12 +152,12 @@ dependencies {
   }
 
   // UI
-  implementation("me.zhanghai.android.materialprogressbar", "library", "1.6.0")
+  implementation("me.zhanghai.android.materialprogressbar", "library", "1.6.1")
   withVersion("0.9.6.0") {
     implementation("com.afollestad.material-dialogs", "core", version)
     implementation("com.afollestad.material-dialogs", "commons", version)
   }
-  withVersion("4.8.0") {
+  withVersion("4.9.0") {
     implementation("com.github.bumptech.glide", "glide", version)
     implementation("com.github.bumptech.glide", "recyclerview-integration", version)
     kapt("com.github.bumptech.glide", "compiler", version)
@@ -163,7 +165,7 @@ dependencies {
 
   // Quality Assurance
   implementation(project(":malheur"))
-  withVersion("1.6.2") {
+  withVersion("1.6.3") {
     debugImplementation("com.squareup.leakcanary", "leakcanary-android", version)
     releaseImplementation("com.squareup.leakcanary", "leakcanary-android-no-op", version)
     testImplementation("com.squareup.leakcanary", "leakcanary-android-no-op", version)
@@ -171,7 +173,7 @@ dependencies {
   }
 
   // Dependency Injection
-  withVersion("2.20") {
+  withVersion("2.21") {
     implementation("com.google.dagger", "dagger", version)
     kapt("com.google.dagger", "dagger-compiler", version)
     kapt("com.google.dagger", "dagger-android-processor", version)
@@ -180,7 +182,7 @@ dependencies {
   }
 
   testImplementation("junit", "junit", "4.12")
-  testImplementation("org.robolectric", "robolectric", "4.1") {
+  testImplementation("org.robolectric", "robolectric", "4.2") {
     exclude(group = "org.threeten", module = "threetenbp")
   }
 }
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 533a9dc21..8977f4d0b 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
@@ -144,13 +144,13 @@ class AboutFragment : DaggerFragment() {
       ),
       Library(
         name = "Butter Knife",
-        version = "8.9.0",
+        version = "10.1.0",
         license = apache2,
         url = "http://jakewharton.github.io/butterknife/"
       ),
       Library(
         name = "Dagger 2",
-        version = "2.15",
+        version = "2.21",
         license = apache2,
         url = "https://google.github.io/dagger/"
       ),
@@ -165,13 +165,13 @@ class AboutFragment : DaggerFragment() {
       ),
       Library(
         name = "Glide",
-        version = "4.8.0",
+        version = "4.9.0",
         license = apache2,
         url = "https://bumptech.github.io/glide/"
       ),
       Library(
         name = "Gson",
-        version = "2.8.2",
+        version = "2.8.5",
         license = apache2,
         url = "https://github.com/google/gson"
       ),
@@ -185,26 +185,26 @@ class AboutFragment : DaggerFragment() {
         url = "https://github.com/morhetz/gruvbox"
       ),
       Library(
-        name = "JavaPoet",
-        version = "1.10.0",
+        name = "KotlinPoet",
+        version = "1.1.0",
         license = apache2,
-        url = "https://github.com/square/javapoet"
+        url = "https://github.com/square/kotlinpoet"
       ),
       Library(
         name = "JetBrains Java Annotations",
-        version = "16.0.1",
+        version = "17.0.0",
         license = apache2,
         url = "https://github.com/JetBrains/java-annotations"
       ),
       Library(
         name = "Kotlin Standard Library",
-        version = "1.3.20",
+        version = "1.3.21",
         license = apache2,
         url = "https://kotlinlang.org/"
       ),
       Library(
         name = "LeakCanary",
-        version = "1.5.4",
+        version = "1.6.3",
         license = apache2,
         url = "https://github.com/square/leakcanary"
       ),
@@ -241,7 +241,7 @@ class AboutFragment : DaggerFragment() {
       ),
       Library(
         name = "Quassel",
-        version = "0.13.0",
+        version = "0.13.1",
         license = License(
           shortName = "GPLv3",
           fullName = "GNU GENERAL PUBLIC LICENSE",
@@ -257,17 +257,17 @@ class AboutFragment : DaggerFragment() {
           fullName = "Creative Commons CC0 1.0 Universal",
           text = R.raw.license_cc_0
         ),
-        url = "https://github.com/ReactiveX/RxJava"
+        url = "http://www.reactive-streams.org/"
       ),
       Library(
         name = "RecyclerView-FastScroll",
-        version = "1.0.18",
+        version = "2.0.",
         license = apache2,
         url = "https://github.com/timusus/RecyclerView-FastScroll"
       ),
       Library(
         name = "Retrofit",
-        version = "2.4.0",
+        version = "2.5.0",
         license = apache2,
         url = "https://square.github.io/retrofit/"
       ),
@@ -288,7 +288,7 @@ class AboutFragment : DaggerFragment() {
       ),
       Library(
         name = "ThreeTen backport project",
-        version = "1.3.6",
+        version = "1.3.8",
         license = License(
           shortName = "BSD 3-clause",
           text = R.raw.license_threetenbp
diff --git a/build.gradle.kts b/build.gradle.kts
index 172e1d2de..7424b6f4d 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,4 +1,3 @@
-import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
 
 /*
@@ -26,8 +25,8 @@ buildscript {
     jcenter()
   }
   dependencies {
-    classpath("com.android.tools.build:gradle:3.3.0")
-    classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.20")
+    classpath("com.android.tools.build:gradle:3.3.2")
+    classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.21")
   }
 }
 
diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts
index b031ac260..cca94c835 100644
--- a/buildSrc/build.gradle.kts
+++ b/buildSrc/build.gradle.kts
@@ -17,12 +17,14 @@
  * with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 
-import org.gradle.kotlin.dsl.`kotlin-dsl`
-
 plugins {
   `kotlin-dsl`
 }
 
+kotlinDslPluginOptions {
+  experimentalWarning.set(false)
+}
+
 repositories {
   jcenter()
 }
diff --git a/buildSrc/src/main/kotlin/VersionContext.kt b/buildSrc/src/main/kotlin/VersionContext.kt
index 4d4e18dfd..675f24fe4 100644
--- a/buildSrc/src/main/kotlin/VersionContext.kt
+++ b/buildSrc/src/main/kotlin/VersionContext.kt
@@ -17,10 +17,10 @@
  * with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 
-data class VersionContext(val version: String)
+data class VersionContext<T>(val version: T)
 
-inline fun withVersion(version: Any?, f: VersionContext.() -> Unit) {
-  (version as? String)?.let {
-    VersionContext(version).f()
+inline fun <T> withVersion(version: T?, f: VersionContext<T>.() -> Unit) {
+  version?.let {
+    f.invoke(VersionContext(version))
   }
 }
diff --git a/desktop/build.gradle.kts b/desktop/build.gradle.kts
index 0e48105c2..6c7d2eda5 100644
--- a/desktop/build.gradle.kts
+++ b/desktop/build.gradle.kts
@@ -28,7 +28,7 @@ application {
 }
 
 dependencies {
-  implementation(kotlin("stdlib", "1.3.20"))
+  implementation(kotlin("stdlib", "1.3.21"))
 
   implementation("io.reactivex.rxjava2", "rxjava", "2.1.9")
   implementation("info.picocli", "picocli", "3.9.0")
diff --git a/invokergenerator/build.gradle.kts b/invokergenerator/build.gradle.kts
index 0e4ff262b..3b6813c4a 100644
--- a/invokergenerator/build.gradle.kts
+++ b/invokergenerator/build.gradle.kts
@@ -23,10 +23,10 @@ plugins {
 }
 
 dependencies {
-  implementation(kotlin("stdlib", "1.3.20"))
+  implementation(kotlin("stdlib", "1.3.21"))
   implementation(project(":invokerannotations"))
-  implementation("org.jetbrains.kotlin", "kotlin-compiler-embeddable", "1.3.20")
-  implementation("com.squareup", "kotlinpoet", "1.0.1")
+  implementation("org.jetbrains.kotlin", "kotlin-compiler-embeddable", "1.3.21")
+  implementation("com.squareup", "kotlinpoet", "1.1.0")
   implementation("com.google.auto.service:auto-service:1.0-rc4")
   kapt("com.google.auto.service:auto-service:1.0-rc4")
 }
diff --git a/lib/build.gradle.kts b/lib/build.gradle.kts
index 1e90cc732..698a5e8af 100644
--- a/lib/build.gradle.kts
+++ b/lib/build.gradle.kts
@@ -23,7 +23,7 @@ plugins {
 }
 
 dependencies {
-  implementation(kotlin("stdlib", "1.3.20"))
+  implementation(kotlin("stdlib", "1.3.21"))
 
   implementation("androidx.annotation", "annotation", "1.0.0")
 
diff --git a/lifecycle-ktx/build.gradle.kts b/lifecycle-ktx/build.gradle.kts
index cf3c1f411..ddeaa316f 100644
--- a/lifecycle-ktx/build.gradle.kts
+++ b/lifecycle-ktx/build.gradle.kts
@@ -17,19 +17,14 @@
  * with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 
-import org.gradle.api.Project
-import org.gradle.api.artifacts.ExternalModuleDependency
-import org.gradle.kotlin.dsl.*
-import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
-
 plugins {
   kotlin("jvm")
 }
 
 dependencies {
-  implementation(kotlin("stdlib", "1.3.20"))
+  implementation(kotlin("stdlib", "1.3.21"))
 
   implementation("androidx.annotation", "annotation", "1.0.0")
 
-  implementation("androidx.lifecycle", "lifecycle-common", "2.0.0-rc01")
+  implementation("androidx.lifecycle", "lifecycle-common", "2.0.0")
 }
diff --git a/malheur/build.gradle.kts b/malheur/build.gradle.kts
index c378eaf17..ec51428a0 100644
--- a/malheur/build.gradle.kts
+++ b/malheur/build.gradle.kts
@@ -44,7 +44,7 @@ android {
 }
 
 dependencies {
-  implementation(kotlin("stdlib", "1.3.20"))
+  implementation(kotlin("stdlib", "1.3.21"))
 
   implementation("com.google.code.gson", "gson", "2.8.5")
 }
diff --git a/persistence/build.gradle.kts b/persistence/build.gradle.kts
index d2bb7239d..4baf972bd 100644
--- a/persistence/build.gradle.kts
+++ b/persistence/build.gradle.kts
@@ -1,5 +1,3 @@
-import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
-
 /*
  * Quasseldroid - Quassel client for Android
  *
@@ -53,20 +51,22 @@ android {
 }
 
 dependencies {
-  implementation(kotlin("stdlib", "1.3.20"))
+  implementation(kotlin("stdlib", "1.3.21"))
 
   implementation("androidx.appcompat", "appcompat", "1.0.0")
 
-  implementation("androidx.room", "room-runtime", "2.0.0-rc01")
-  kapt("androidx.room", "room-compiler", "2.0.0-rc01")
-  implementation("androidx.room", "room-rxjava2", "2.0.0-rc01")
-  testImplementation("androidx.room", "room-testing", "2.0.0-rc01")
+  withVersion("2.0.0") {
+    implementation("androidx.room", "room-runtime", version)
+    kapt("androidx.room", "room-compiler", version)
+    implementation("androidx.room", "room-rxjava2", version)
+    testImplementation("androidx.room", "room-testing", version)
+  }
 
-  implementation("androidx.paging", "paging-runtime", "2.0.0-rc01")
+  implementation("androidx.paging", "paging-runtime", "2.1.0")
 
   // Utility
   implementation("org.threeten", "threetenbp", "1.3.8", classifier = "no-tzdb")
-  implementation("org.jetbrains", "annotations", "16.0.3")
+  implementation("org.jetbrains", "annotations", "17.0.0")
 
   // Quassel
   implementation(project(":lib")) {
diff --git a/viewmodel/build.gradle.kts b/viewmodel/build.gradle.kts
index a4d86f44a..581299a8c 100644
--- a/viewmodel/build.gradle.kts
+++ b/viewmodel/build.gradle.kts
@@ -44,18 +44,19 @@ android {
 }
 
 dependencies {
-  implementation(kotlin("stdlib", "1.3.20"))
+  implementation(kotlin("stdlib", "1.3.21"))
 
   implementation("androidx.appcompat", "appcompat", "1.0.0")
-
-  implementation("androidx.lifecycle", "lifecycle-extensions", "2.0.0-rc01")
-  implementation("androidx.lifecycle", "lifecycle-reactivestreams", "2.0.0-rc01")
+  withVersion("2.0.0") {
+    implementation("androidx.lifecycle", "lifecycle-extensions", version)
+    implementation("androidx.lifecycle", "lifecycle-reactivestreams", version)
+  }
 
   // Utility
   implementation("io.reactivex.rxjava2", "rxandroid", "2.0.2")
   implementation("io.reactivex.rxjava2", "rxjava", "2.1.9")
   implementation("org.threeten", "threetenbp", "1.3.8", classifier = "no-tzdb")
-  implementation("org.jetbrains", "annotations", "16.0.3")
+  implementation("org.jetbrains", "annotations", "17.0.0")
 
   // Quassel
   implementation(project(":persistence"))
diff --git a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt
index 1c2442851..da0eac52f 100644
--- a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt
+++ b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt
@@ -77,6 +77,7 @@ class QuasselViewModel : ViewModel() {
   fun addRecentlySentMessage(message: CharSequence) {
     recentlySentMessages.onNext(
       listOf(message) + recentlySentMessages.value
+        .orEmpty()
         .filter { it != message }
         .take(MAX_RECENT_MESSAGES - 1)
     )
-- 
GitLab