From 4f0f9a7a12b669f20c6eb09a2109e986538ccdb4 Mon Sep 17 00:00:00 2001
From: Konrad Pozniak <connyduck@users.noreply.github.com>
Date: Sun, 7 Aug 2022 19:36:09 +0200
Subject: [PATCH] update Kotlin to 1.7.10 and fix some (new?) warnings (#2647)

* update Kotlin to 1.7.10 and fix some (new?) warnings

* remove unused import
---
 .../components/compose/ComposeTokenizer.kt    |  4 +-
 .../compose/dialog/AddPollDialog.kt           |  2 +-
 .../components/search/SearchViewModel.kt      |  4 --
 .../fragments/SearchStatusesFragment.kt       |  2 +-
 .../tusky/fragment/ViewVideoFragment.kt       |  3 +-
 .../util/ListStatusAccessibilityDelegate.kt   |  2 +-
 .../com/keylesspalace/tusky/util/ListUtils.kt |  4 --
 .../keylesspalace/tusky/util/MediaUtils.kt    | 38 -------------------
 .../tusky/util/StatusViewHelper.kt            |  2 +-
 .../tusky/util/ViewBindingExtensions.kt       | 19 +++++-----
 build.gradle                                  |  2 +-
 11 files changed, 17 insertions(+), 65 deletions(-)

diff --git a/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeTokenizer.kt b/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeTokenizer.kt
index 7b3d208b..99e68db7 100644
--- a/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeTokenizer.kt
+++ b/app/src/main/java/com/keylesspalace/tusky/components/compose/ComposeTokenizer.kt
@@ -97,11 +97,11 @@ class ComposeTokenizer : MultiAutoCompleteTextView.Tokenizer {
         return if (i > 0 && text[i - 1] == ' ') {
             text
         } else if (text is Spanned) {
-            val s = SpannableString(text.toString() + " ")
+            val s = SpannableString("$text ")
             TextUtils.copySpansFrom(text, 0, text.length, Object::class.java, s, 0)
             s
         } else {
-            text.toString() + " "
+            "$text "
         }
     }
 }
diff --git a/app/src/main/java/com/keylesspalace/tusky/components/compose/dialog/AddPollDialog.kt b/app/src/main/java/com/keylesspalace/tusky/components/compose/dialog/AddPollDialog.kt
index a87b1b23..005e6729 100644
--- a/app/src/main/java/com/keylesspalace/tusky/components/compose/dialog/AddPollDialog.kt
+++ b/app/src/main/java/com/keylesspalace/tusky/components/compose/dialog/AddPollDialog.kt
@@ -77,7 +77,7 @@ fun showAddPollDialog(
     }
 
     val pollDurationId = durations.indexOfLast {
-        it <= poll?.expiresIn ?: 0
+        it <= (poll?.expiresIn ?: 0)
     }
 
     binding.pollDurationSpinner.setSelection(pollDurationId)
diff --git a/app/src/main/java/com/keylesspalace/tusky/components/search/SearchViewModel.kt b/app/src/main/java/com/keylesspalace/tusky/components/search/SearchViewModel.kt
index af886cdd..738c662a 100644
--- a/app/src/main/java/com/keylesspalace/tusky/components/search/SearchViewModel.kt
+++ b/app/src/main/java/com/keylesspalace/tusky/components/search/SearchViewModel.kt
@@ -191,10 +191,6 @@ class SearchViewModel @Inject constructor(
             .autoDispose()
     }
 
-    fun getAllAccountsOrderedByActive(): List<AccountEntity> {
-        return accountManager.getAllAccountsOrderedByActive()
-    }
-
     fun muteAccount(accountId: String, notifications: Boolean, duration: Int?) {
         timelineCases.mute(accountId, notifications, duration)
     }
diff --git a/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt b/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt
index 2e7849c1..63bc0b64 100644
--- a/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt
+++ b/app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt
@@ -288,7 +288,7 @@ class SearchStatusesFragment : SearchFragment<StatusViewData.Concrete>(), Status
 
                     val stringToShare = statusToShare.account.username +
                         " - " +
-                        statusToShare.content.toString()
+                        statusToShare.content
                     sendIntent.putExtra(Intent.EXTRA_TEXT, stringToShare)
                     sendIntent.type = "text/plain"
                     startActivity(Intent.createChooser(sendIntent, resources.getText(R.string.send_post_content_to)))
diff --git a/app/src/main/java/com/keylesspalace/tusky/fragment/ViewVideoFragment.kt b/app/src/main/java/com/keylesspalace/tusky/fragment/ViewVideoFragment.kt
index a1930da8..214741a8 100644
--- a/app/src/main/java/com/keylesspalace/tusky/fragment/ViewVideoFragment.kt
+++ b/app/src/main/java/com/keylesspalace/tusky/fragment/ViewVideoFragment.kt
@@ -171,12 +171,11 @@ class ViewVideoFragment : ViewMediaFragment() {
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
         val attachment = arguments?.getParcelable<Attachment>(ARG_ATTACHMENT)
-        val url: String
 
         if (attachment == null) {
             throw IllegalArgumentException("attachment has to be set")
         }
-        url = attachment.url
+        val url = attachment.url
         isAudio = attachment.type == Attachment.Type.AUDIO
         finalizeViewSetup(url, attachment.previewUrl, attachment.description)
     }
diff --git a/app/src/main/java/com/keylesspalace/tusky/util/ListStatusAccessibilityDelegate.kt b/app/src/main/java/com/keylesspalace/tusky/util/ListStatusAccessibilityDelegate.kt
index 501f9056..8540b013 100644
--- a/app/src/main/java/com/keylesspalace/tusky/util/ListStatusAccessibilityDelegate.kt
+++ b/app/src/main/java/com/keylesspalace/tusky/util/ListStatusAccessibilityDelegate.kt
@@ -48,7 +48,7 @@ class ListStatusAccessibilityDelegate(
             val pos = recyclerView.getChildAdapterPosition(host)
             val status = statusProvider.getStatus(pos) ?: return
             if (status is StatusViewData.Concrete) {
-                if (!status.spoilerText.isNullOrEmpty()) {
+                if (status.spoilerText.isNotEmpty()) {
                     info.addAction(if (status.isExpanded) collapseCwAction else expandCwAction)
                 }
 
diff --git a/app/src/main/java/com/keylesspalace/tusky/util/ListUtils.kt b/app/src/main/java/com/keylesspalace/tusky/util/ListUtils.kt
index 7cdc12e8..e7f03fca 100644
--- a/app/src/main/java/com/keylesspalace/tusky/util/ListUtils.kt
+++ b/app/src/main/java/com/keylesspalace/tusky/util/ListUtils.kt
@@ -52,7 +52,3 @@ inline fun <T> List<T>.replacedFirstWhich(replacement: T, predicate: (T) -> Bool
     }
     return newList
 }
-
-inline fun <reified R> Iterable<*>.firstIsInstanceOrNull(): R? {
-    return firstOrNull { it is R }?.let { it as R }
-}
diff --git a/app/src/main/java/com/keylesspalace/tusky/util/MediaUtils.kt b/app/src/main/java/com/keylesspalace/tusky/util/MediaUtils.kt
index 5482b292..9568d73d 100644
--- a/app/src/main/java/com/keylesspalace/tusky/util/MediaUtils.kt
+++ b/app/src/main/java/com/keylesspalace/tusky/util/MediaUtils.kt
@@ -23,7 +23,6 @@ import android.graphics.Matrix
 import android.net.Uri
 import android.provider.OpenableColumns
 import android.util.Log
-import androidx.annotation.Px
 import androidx.exifinterface.media.ExifInterface
 import java.io.File
 import java.io.FileNotFoundException
@@ -68,43 +67,6 @@ fun getMediaSize(contentResolver: ContentResolver, uri: Uri?): Long {
     return mediaSize
 }
 
-fun getSampledBitmap(contentResolver: ContentResolver, uri: Uri, @Px reqWidth: Int, @Px reqHeight: Int): Bitmap? {
-    // First decode with inJustDecodeBounds=true to check dimensions
-    val options = BitmapFactory.Options()
-    options.inJustDecodeBounds = true
-    var stream: InputStream?
-    try {
-        stream = contentResolver.openInputStream(uri)
-    } catch (e: FileNotFoundException) {
-        Log.w(TAG, e)
-        return null
-    }
-
-    BitmapFactory.decodeStream(stream, null, options)
-
-    IOUtils.closeQuietly(stream)
-
-    // Calculate inSampleSize
-    options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight)
-
-    // Decode bitmap with inSampleSize set
-    options.inJustDecodeBounds = false
-    return try {
-        stream = contentResolver.openInputStream(uri)
-        val bitmap = BitmapFactory.decodeStream(stream, null, options)
-        val orientation = getImageOrientation(uri, contentResolver)
-        reorientBitmap(bitmap, orientation)
-    } catch (e: FileNotFoundException) {
-        Log.w(TAG, e)
-        null
-    } catch (e: OutOfMemoryError) {
-        Log.e(TAG, "OutOfMemoryError while trying to get sampled Bitmap", e)
-        null
-    } finally {
-        IOUtils.closeQuietly(stream)
-    }
-}
-
 @Throws(FileNotFoundException::class)
 fun getImageSquarePixels(contentResolver: ContentResolver, uri: Uri): Long {
     val input = contentResolver.openInputStream(uri)
diff --git a/app/src/main/java/com/keylesspalace/tusky/util/StatusViewHelper.kt b/app/src/main/java/com/keylesspalace/tusky/util/StatusViewHelper.kt
index 44d9fee3..253ea7a0 100644
--- a/app/src/main/java/com/keylesspalace/tusky/util/StatusViewHelper.kt
+++ b/app/src/main/java/com/keylesspalace/tusky/util/StatusViewHelper.kt
@@ -166,7 +166,7 @@ class StatusViewHelper(private val itemView: View) {
                 mediaPreviews[3].layoutParams.height = mediaPreviewHeight
             }
         }
-        if (attachments.isNullOrEmpty()) {
+        if (attachments.isEmpty()) {
             sensitiveMediaWarning.visibility = View.GONE
             sensitiveMediaShow.visibility = View.GONE
         } else {
diff --git a/app/src/main/java/com/keylesspalace/tusky/util/ViewBindingExtensions.kt b/app/src/main/java/com/keylesspalace/tusky/util/ViewBindingExtensions.kt
index e2db79c6..5342cbf3 100644
--- a/app/src/main/java/com/keylesspalace/tusky/util/ViewBindingExtensions.kt
+++ b/app/src/main/java/com/keylesspalace/tusky/util/ViewBindingExtensions.kt
@@ -32,17 +32,16 @@ class FragmentViewBindingDelegate<T : ViewBinding>(
             object : DefaultLifecycleObserver {
                 override fun onCreate(owner: LifecycleOwner) {
                     fragment.viewLifecycleOwnerLiveData.observe(
-                        fragment,
-                        { t ->
-                            t?.lifecycle?.addObserver(
-                                object : DefaultLifecycleObserver {
-                                    override fun onDestroy(owner: LifecycleOwner) {
-                                        binding = null
-                                    }
+                        fragment
+                    ) { t ->
+                        t?.lifecycle?.addObserver(
+                            object : DefaultLifecycleObserver {
+                                override fun onDestroy(owner: LifecycleOwner) {
+                                    binding = null
                                 }
-                            )
-                        }
-                    )
+                            }
+                        )
+                    }
                 }
             }
         )
diff --git a/build.gradle b/build.gradle
index 28f8fae1..71619265 100644
--- a/build.gradle
+++ b/build.gradle
@@ -6,7 +6,7 @@ buildscript {
     }
     dependencies {
         classpath "com.android.tools.build:gradle:7.2.2"
-        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10"
         classpath "org.jlleitschuh.gradle:ktlint-gradle:10.3.0"
     }
 }