diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/GalleryInfoBottomSheet.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/GalleryInfoBottomSheet.kt index 01f59375a..279862205 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/GalleryInfoBottomSheet.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/GalleryInfoBottomSheet.kt @@ -32,7 +32,7 @@ import com.hippo.ehviewer.client.data.GalleryInfo.Companion.LOCAL_FAVORITED import com.hippo.ehviewer.client.thumbUrl import com.hippo.ehviewer.databinding.InfoSheetBinding import com.hippo.ehviewer.ui.scene.navWithUrl -import com.hippo.ehviewer.util.tellClipboardWithToast +import com.hippo.ehviewer.util.addTextToClipboard private const val INDEX_URL = 2 private const val INDEX_PARENT = 9 @@ -83,7 +83,7 @@ class GalleryInfoBottomSheet(private val detail: GalleryDetail) : BottomSheetDia navController.navWithUrl(content) } } else { - context tellClipboardWithToast content + context.addTextToClipboard(content, true) if (index == INDEX_URL) { // Save it to avoid detect the gallery Settings.clipboardTextHashCode = data[index].hashCode() diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/MainActivity.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/MainActivity.kt index 4d92c5560..6219e6b84 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/MainActivity.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/MainActivity.kt @@ -151,11 +151,8 @@ class MainActivity : EhActivity() { val url = intent.data.toString() EditTextDialogBuilder(this@MainActivity, url, "") .setTitle(R.string.error_cannot_parse_the_url) - .setPositiveButton(android.R.string.copy) { _: DialogInterface?, _: Int -> - this@MainActivity.addTextToClipboard( - url, - false, - ) + .setPositiveButton(android.R.string.copy) { _, _ -> + this@MainActivity.addTextToClipboard(url) } .show() } diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.kt index 8fa0886b8..9f517f495 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.kt @@ -437,7 +437,7 @@ class GalleryCommentsScene : BaseToolbarScene(), View.OnClickListener, OnRefresh return@setItems } when (menuId[which]) { - R.id.copy -> requireActivity().addTextToClipboard(text, false) + R.id.copy -> requireActivity().addTextToClipboard(text) R.id.block_commenter -> showFilterCommenterDialog(comment.user, position) R.id.vote_up -> voteComment(comment.id, 1) R.id.vote_down -> voteComment(comment.id, -1) diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/scene/GalleryDetailScene.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/scene/GalleryDetailScene.kt index bab18ac7c..cb499d7b0 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/scene/GalleryDetailScene.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/scene/GalleryDetailScene.kt @@ -1209,11 +1209,11 @@ class GalleryDetailScene : BaseScene() { } R.id.copy -> { - requireActivity().addTextToClipboard(tag, false) + requireActivity().addTextToClipboard(tag) } R.id.copy_trans -> { - requireActivity().addTextToClipboard(translated, false) + requireActivity().addTextToClipboard(translated) } } }.show() diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/EhScreen.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/EhScreen.kt index 1b759fa15..eb02d4ba0 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/EhScreen.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/EhScreen.kt @@ -53,7 +53,7 @@ import com.hippo.ehviewer.ui.tools.TimePickerDialog import com.hippo.ehviewer.ui.tools.observed import com.hippo.ehviewer.ui.tools.rememberDialogState import com.hippo.ehviewer.ui.tools.rememberedAccessor -import com.hippo.ehviewer.util.whisperClipboard +import com.hippo.ehviewer.util.copyTextToClipboard import eu.kanade.tachiyomi.util.lang.withUIContext import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.async @@ -111,7 +111,7 @@ fun EhScreen() { val spanned = context.getString(R.string.settings_eh_identity_cookies_signed, str).parseAsHtml() setMessage(spanned) setNeutralButton(R.string.settings_eh_identity_cookies_copy) { _, _ -> - context whisperClipboard str.replace("
", "\n") + copyTextToClipboard(str.replace("
", "\n"), true) // Avoid double notify user since system have done that on Tiramisu above if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) launchSnackBar(copiedToClipboard) } diff --git a/app/src/main/kotlin/com/hippo/ehviewer/util/ClipboardUtil.kt b/app/src/main/kotlin/com/hippo/ehviewer/util/ClipboardUtil.kt index 64edd26d5..7ae864020 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/util/ClipboardUtil.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/util/ClipboardUtil.kt @@ -29,15 +29,7 @@ import com.hippo.ehviewer.ui.MainActivity import com.hippo.ehviewer.ui.scene.BaseScene import splitties.systemservices.clipboardManager -infix fun Context.tellClipboardWithToast(text: String?) { - addTextToClipboard(text, false, true) -} - -infix fun Context.whisperClipboard(text: String?) { - addTextToClipboard(text, true, false) -} - -fun Context.addTextToClipboard(text: CharSequence?, isSensitive: Boolean, useToast: Boolean = false) { +fun copyTextToClipboard(text: CharSequence?, isSensitive: Boolean) { clipboardManager.apply { setPrimaryClip( ClipData.newPlainText(null, text).apply { @@ -47,6 +39,10 @@ fun Context.addTextToClipboard(text: CharSequence?, isSensitive: Boolean, useToa }, ) } +} + +fun Context.addTextToClipboard(text: CharSequence?, useToast: Boolean = false) { + copyTextToClipboard(text, false) // Avoid double notify user since system have done that on Tiramisu above if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { val activity = findActivity()