diff --git a/app/src/main/java/moe/apex/breadboard/saucenao/ReverseSearchScreen.kt b/app/src/main/java/moe/apex/breadboard/saucenao/ReverseSearchScreen.kt index 2392a64..8d86d2c 100644 --- a/app/src/main/java/moe/apex/breadboard/saucenao/ReverseSearchScreen.kt +++ b/app/src/main/java/moe/apex/breadboard/saucenao/ReverseSearchScreen.kt @@ -205,24 +205,28 @@ fun ReverseSearchScreen( clipboard.nativeClipboard.primaryClip?.getItemAt( 0 ) - - if (clipboardItem != null) { - val uri = clipboardItem.uri - val mimeType = uri?.let { + val mimeType = + clipboardItem?.uri?.let { context.contentResolver.getType(it) } - if (mimeType?.startsWith("image/") == true) { - selectedFileUri = uri - } else { + if (mimeType?.startsWith("image/") == true) { + selectedFileUri = clipboardItem.uri + } else { + val clipboardText = + clipboardItem?.text?.toString()?.trim()?.takeIf { + it.isNotEmpty() + } + + if (clipboardText != null) { /* onValueChange does not trigger when you mutate imageUrl via code, so we still have to reset selectedFileUri here. */ selectedFileUri = null - imageUrl = clipboardItem.text.toString() + imageUrl = clipboardText + } else { + showToast(context, "Nothing on the clipboard") } - } else { - showToast(context, "Nothing on the clipboard") } } }