Fix crash when copying cookies
This commit is contained in:
1 parent
1021efb239
commit
7a3a641a07
6 files changed
+14
-21
No files matched your search
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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("<br>", "\n")
|
||||
copyTextToClipboard(str.replace("<br>", "\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)
|
||||
}
|
||||
|
||||
@@ -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<MainActivity>()
|
||||
|
||||
Reference in new issue
Block a user