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()