forked from shihaam/thijooree
you can now hold to copy text from recipts even in full screen mode
This commit is contained in:
@@ -330,17 +330,30 @@ class TransferReceiptFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun showFullScreenReceipt() {
|
private fun showFullScreenReceipt() {
|
||||||
captureReceiptBitmap { bitmap ->
|
|
||||||
if (bitmap == null) return@captureReceiptBitmap
|
|
||||||
val ctx = requireContext()
|
val ctx = requireContext()
|
||||||
|
val bank = arguments?.getString(ARG_BANK, "MIB") ?: "MIB"
|
||||||
val dialog = Dialog(ctx, android.R.style.Theme_Black_NoTitleBar_Fullscreen)
|
val dialog = Dialog(ctx, android.R.style.Theme_Black_NoTitleBar_Fullscreen)
|
||||||
val iv = android.widget.ImageView(ctx).apply {
|
|
||||||
setImageBitmap(bitmap)
|
val scrollView = android.widget.ScrollView(ctx).apply {
|
||||||
scaleType = android.widget.ImageView.ScaleType.FIT_CENTER
|
|
||||||
setBackgroundColor(Color.BLACK)
|
setBackgroundColor(Color.BLACK)
|
||||||
}
|
}
|
||||||
iv.setOnClickListener { dialog.dismiss() }
|
|
||||||
dialog.setContentView(iv)
|
val cardView = if (bank == "MIB") {
|
||||||
|
val binding = FragmentReceiptMibBinding.inflate(layoutInflater)
|
||||||
|
bindMib(binding)
|
||||||
|
binding.receiptCard
|
||||||
|
} else {
|
||||||
|
val binding = FragmentReceiptBmlBinding.inflate(layoutInflater)
|
||||||
|
bindBml(binding)
|
||||||
|
binding.receiptCard
|
||||||
|
}
|
||||||
|
(cardView.parent as? ViewGroup)?.removeView(cardView)
|
||||||
|
cardView.setOnClickListener { dialog.dismiss() }
|
||||||
|
scrollView.addView(cardView)
|
||||||
|
scrollView.setOnTouchListener { _, _ -> dialog.dismiss(); true }
|
||||||
|
|
||||||
|
dialog.setContentView(scrollView)
|
||||||
|
|
||||||
val actWin = requireActivity().window
|
val actWin = requireActivity().window
|
||||||
val prevColor = actWin.statusBarColor
|
val prevColor = actWin.statusBarColor
|
||||||
val insetsCtrl = androidx.core.view.WindowInsetsControllerCompat(actWin, actWin.decorView)
|
val insetsCtrl = androidx.core.view.WindowInsetsControllerCompat(actWin, actWin.decorView)
|
||||||
@@ -356,13 +369,12 @@ class TransferReceiptFragment : Fragment() {
|
|||||||
dialog.show()
|
dialog.show()
|
||||||
dialog.window?.let { win ->
|
dialog.window?.let { win ->
|
||||||
androidx.core.view.WindowCompat.setDecorFitsSystemWindows(win, false)
|
androidx.core.view.WindowCompat.setDecorFitsSystemWindows(win, false)
|
||||||
androidx.core.view.WindowInsetsControllerCompat(win, iv).apply {
|
androidx.core.view.WindowInsetsControllerCompat(win, scrollView).apply {
|
||||||
hide(androidx.core.view.WindowInsetsCompat.Type.systemBars())
|
hide(androidx.core.view.WindowInsetsCompat.Type.systemBars())
|
||||||
systemBarsBehavior = androidx.core.view.WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
|
systemBarsBehavior = androidx.core.view.WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private fun copyOnLongClick(vararg views: android.widget.TextView) {
|
private fun copyOnLongClick(vararg views: android.widget.TextView) {
|
||||||
for (tv in views) {
|
for (tv in views) {
|
||||||
|
|||||||
Reference in New Issue
Block a user