Commit d40c2db8 authored by wanglei's avatar wanglei

...

parent b2c901d9
...@@ -5,11 +5,12 @@ import android.graphics.Bitmap ...@@ -5,11 +5,12 @@ import android.graphics.Bitmap
import android.graphics.Color import android.graphics.Color
import android.graphics.Point import android.graphics.Point
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.util.Log
import androidx.activity.addCallback import androidx.activity.addCallback
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import androidx.lifecycle.ViewModelProvider
import com.base.scanqrclear.R import com.base.scanqrclear.R
import com.base.scanqrclear.ads.AdsMgr import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.base.BaseActivity import com.base.scanqrclear.base.BaseActivity
import com.base.scanqrclear.bean.AddressUIBean import com.base.scanqrclear.bean.AddressUIBean
import com.base.scanqrclear.bean.AddressUIBean.Companion.createAddressUIBeanQrString import com.base.scanqrclear.bean.AddressUIBean.Companion.createAddressUIBeanQrString
...@@ -37,11 +38,23 @@ import com.base.scanqrclear.bean.XUIBean ...@@ -37,11 +38,23 @@ import com.base.scanqrclear.bean.XUIBean
import com.base.scanqrclear.bean.XUIBean.Companion.createXUIBeanQrString import com.base.scanqrclear.bean.XUIBean.Companion.createXUIBeanQrString
import com.base.scanqrclear.bean.YoutubeUIBean import com.base.scanqrclear.bean.YoutubeUIBean
import com.base.scanqrclear.bean.YoutubeUIBean.Companion.createYoutubeQrString import com.base.scanqrclear.bean.YoutubeUIBean.Companion.createYoutubeQrString
import com.base.scanqrclear.bean.config.AdConfigBean
import com.base.scanqrclear.databinding.ActivityQrStyleResultBinding import com.base.scanqrclear.databinding.ActivityQrStyleResultBinding
import com.base.scanqrclear.qr.QrStyleUtils.generateQRCodeWithBackground import com.base.scanqrclear.qr.QrStyleUtils.generateQRCodeWithBackground
import com.base.scanqrclear.ui.addressqr.AddressDialog.showAddressDialog
import com.base.scanqrclear.ui.facebookqr.FacebookDialog.showFacebookDialog
import com.base.scanqrclear.ui.insqr.InstagramDialog.showInstagramDialog
import com.base.scanqrclear.ui.paypalqr.PaypalDialog.showPaypalDialog
import com.base.scanqrclear.ui.spotifyqr.SpotifyDialog.showSpotifyDialog
import com.base.scanqrclear.ui.vm.QrViewModel
import com.base.scanqrclear.ui.whatsappqr.WhatsappDialog.showWhatsappDialog
import com.base.scanqrclear.ui.widget.HintDialog.showHintDialog import com.base.scanqrclear.ui.widget.HintDialog.showHintDialog
import com.base.scanqrclear.ui.widget.InputNameDialog.showInputNameDialog
import com.base.scanqrclear.ui.xqr.XDialog.showXDialog
import com.base.scanqrclear.ui.youtubeqr.YoutubeDialog.showYoutubeDialog
import com.base.scanqrclear.utils.BarUtils import com.base.scanqrclear.utils.BarUtils
import com.base.scanqrclear.utils.BitmapUtils.saveBitmapToFile import com.base.scanqrclear.utils.BitmapUtils.saveBitmapToFile
import com.base.scanqrclear.utils.IntentUtils.intentShareImage
import com.base.scanqrclear.utils.LogEx import com.base.scanqrclear.utils.LogEx
import com.base.scanqrclear.utils.SpJsonUtils import com.base.scanqrclear.utils.SpJsonUtils
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
...@@ -58,6 +71,10 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit ...@@ -58,6 +71,10 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit
private var qrString = "" private var qrString = ""
private var tempImagePath: String = "" private var tempImagePath: String = ""
private val viewModel by lazy(LazyThreadSafetyMode.NONE) {
ViewModelProvider(this)[QrViewModel::class.java]
}
override fun initView() { override fun initView() {
super.initView() super.initView()
binding.clTop.updatePadding(top = BarUtils.getStatusBarHeight()) binding.clTop.updatePadding(top = BarUtils.getStatusBarHeight())
...@@ -118,8 +135,7 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit ...@@ -118,8 +135,7 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit
override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) { override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
// 在这里获取到 Bitmap // 在这里获取到 Bitmap
processBitmap(resource, bean) processBitmap(resource, bean)
//创建临时图片
createTempImageFile(resource)
} }
override fun onLoadCleared(placeholder: Drawable?) { override fun onLoadCleared(placeholder: Drawable?) {
...@@ -336,9 +352,14 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit ...@@ -336,9 +352,14 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit
binding.iv.setImageBitmap(qrBitmap) binding.iv.setImageBitmap(qrBitmap)
} }
qrBitmap?.let {
//创建临时图片
createTempImageFile(it)
}
}.start() }.start()
fun createTempImageFile(bitmap: Bitmap) = Thread { private fun createTempImageFile(bitmap: Bitmap) = Thread {
val file = File(cacheDir, System.currentTimeMillis().toString() + ".jpg") val file = File(cacheDir, System.currentTimeMillis().toString() + ".jpg")
val flag = saveBitmapToFile(bitmap, file.absolutePath) val flag = saveBitmapToFile(bitmap, file.absolutePath)
if (flag) { if (flag) {
...@@ -355,7 +376,10 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit ...@@ -355,7 +376,10 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit
onBackPressedDispatcher.onBackPressed() onBackPressedDispatcher.onBackPressed()
} }
binding.llDelete.setOnClickListener { binding.llDelete.setOnClickListener {
showHintDialog { } showHintDialog {
viewModel.deleteScanBean(key, scanBean)
finishToMainTop()
}
} }
binding.llReplaceStyle.setOnClickListener { binding.llReplaceStyle.setOnClickListener {
startActivity(Intent(this, QrStyleActivity::class.java).apply { startActivity(Intent(this, QrStyleActivity::class.java).apply {
...@@ -365,8 +389,94 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit ...@@ -365,8 +389,94 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit
}) })
finish() finish()
} }
binding.llRegenerate.setOnClickListener {
when (key) {
KEY_WHATSAPP -> {
showWhatsappDialog(launcher, dismissAction = {
if (it) finish()
})
}
KEY_YOUTUBE -> {
showYoutubeDialog(dismissAction = {
if (it) finish()
})
}
KEY_FACEBOOK -> {
showFacebookDialog(dismissAction = {
if (it) finish()
})
}
KEY_INSTAGRAM -> {
showInstagramDialog(dismissAction = {
if (it) finish()
})
}
KEY_X -> {
showXDialog(dismissAction = {
if (it) finish()
})
}
KEY_SPOTIFY -> {
showSpotifyDialog(dismissAction = {
if (it) finish()
})
}
KEY_PAYPAL -> {
showPaypalDialog(dismissAction = {
if (it) finish()
})
}
KEY_ADDRESS -> {
showAddressDialog(dismissAction = {
if (it) finish()
})
}
}
}
binding.tvShare.setOnClickListener {
val intent = intentShareImage(this, tempImagePath)
runCatching {
startActivity(intent)
}
}
binding.tvSave.setOnClickListener {
if (AdConfigBean.adsConfigBean.functionUseShowAd) {
AdsMgr.showInsert(this, true, object : AdsShowCallBack() {
override fun close(where: Int) {
useDownload()
}
override fun failed(where: Int) {
useDownload()
}
override fun googleFailed(where: Int) {
useDownload()
}
})
} else {
useDownload()
}
}
} }
fun useDownload() {
kotlin.runCatching {
val newName = File(tempImagePath).name
showInputNameDialog(newName) { name ->
viewModel.copyFileToDownloads(this, name, tempImagePath)
}
}
}
override fun configSystemBar() { override fun configSystemBar() {
immersionBar { immersionBar {
statusBarColor("#FFFFFFFF") statusBarColor("#FFFFFFFF")
......
...@@ -12,7 +12,6 @@ import com.base.scanqrclear.R ...@@ -12,7 +12,6 @@ import com.base.scanqrclear.R
import com.base.scanqrclear.ads.AdsMgr import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.bean.AddressUIBean import com.base.scanqrclear.bean.AddressUIBean
import com.base.scanqrclear.bean.AddressUIBean.Companion.createAddressUIBeanQrString
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_ADDRESS import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_ADDRESS
import com.base.scanqrclear.databinding.DialogAddressBinding import com.base.scanqrclear.databinding.DialogAddressBinding
import com.base.scanqrclear.qr.QrStyleActivity import com.base.scanqrclear.qr.QrStyleActivity
...@@ -20,7 +19,9 @@ import com.google.gson.Gson ...@@ -20,7 +19,9 @@ import com.google.gson.Gson
object AddressDialog { object AddressDialog {
fun Activity.showAddressDialog() { fun Activity.showAddressDialog(
dismissAction: ((flag: Boolean) -> Unit)? = null
) {
val dialog = AlertDialog.Builder(this).create() val dialog = AlertDialog.Builder(this).create()
val binding = DialogAddressBinding.inflate(LayoutInflater.from(this)) val binding = DialogAddressBinding.inflate(LayoutInflater.from(this))
dialog.setView(binding.root) dialog.setView(binding.root)
...@@ -62,9 +63,9 @@ object AddressDialog { ...@@ -62,9 +63,9 @@ object AddressDialog {
putExtra("key", KEY_ADDRESS) putExtra("key", KEY_ADDRESS)
}) })
} }
var dismissFlag = false
binding.tvBtn.setOnClickListener { binding.tvBtn.setOnClickListener {
dismissFlag = true
AdsMgr.showInsert(this, false, object : AdsShowCallBack() { AdsMgr.showInsert(this, false, object : AdsShowCallBack() {
override fun close(where: Int) { override fun close(where: Int) {
jump.invoke() jump.invoke()
...@@ -81,6 +82,9 @@ object AddressDialog { ...@@ -81,6 +82,9 @@ object AddressDialog {
} }
dialog.setOnDismissListener {
dismissAction?.invoke(dismissFlag)
}
} }
} }
\ No newline at end of file
...@@ -12,7 +12,6 @@ import com.base.scanqrclear.R ...@@ -12,7 +12,6 @@ import com.base.scanqrclear.R
import com.base.scanqrclear.ads.AdsMgr import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.bean.FacebookUIBean import com.base.scanqrclear.bean.FacebookUIBean
import com.base.scanqrclear.bean.FacebookUIBean.Companion.createFacebookQrString
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_FACEBOOK import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_FACEBOOK
import com.base.scanqrclear.databinding.DialogFacebookBinding import com.base.scanqrclear.databinding.DialogFacebookBinding
import com.base.scanqrclear.qr.QrStyleActivity import com.base.scanqrclear.qr.QrStyleActivity
...@@ -21,7 +20,9 @@ import com.google.gson.Gson ...@@ -21,7 +20,9 @@ import com.google.gson.Gson
object FacebookDialog { object FacebookDialog {
fun Activity.showFacebookDialog() { fun Activity.showFacebookDialog(
dismissAction: ((flag: Boolean) -> Unit)? = null
) {
val dialog = AlertDialog.Builder(this).create() val dialog = AlertDialog.Builder(this).create()
val binding = DialogFacebookBinding.inflate(LayoutInflater.from(this)) val binding = DialogFacebookBinding.inflate(LayoutInflater.from(this))
...@@ -74,8 +75,9 @@ object FacebookDialog { ...@@ -74,8 +75,9 @@ object FacebookDialog {
}) })
} }
var dismissFlag = false
binding.tvBtn.setOnClickListener { binding.tvBtn.setOnClickListener {
dismissFlag = true
AdsMgr.showInsert(this, false, object : AdsShowCallBack() { AdsMgr.showInsert(this, false, object : AdsShowCallBack() {
override fun close(where: Int) { override fun close(where: Int) {
jump.invoke() jump.invoke()
...@@ -91,6 +93,9 @@ object FacebookDialog { ...@@ -91,6 +93,9 @@ object FacebookDialog {
}) })
} }
dialog.setOnDismissListener {
dismissAction?.invoke(dismissFlag)
}
} }
} }
\ No newline at end of file
...@@ -13,14 +13,15 @@ import com.base.scanqrclear.ads.AdsMgr ...@@ -13,14 +13,15 @@ import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_INSTAGRAM import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_INSTAGRAM
import com.base.scanqrclear.bean.InstagramUIBean import com.base.scanqrclear.bean.InstagramUIBean
import com.base.scanqrclear.bean.InstagramUIBean.Companion.createInstagramQrString
import com.base.scanqrclear.databinding.DialogFacebookBinding import com.base.scanqrclear.databinding.DialogFacebookBinding
import com.base.scanqrclear.qr.QrStyleActivity import com.base.scanqrclear.qr.QrStyleActivity
import com.google.gson.Gson import com.google.gson.Gson
object InstagramDialog { object InstagramDialog {
fun Activity.showInstagramDialog() { fun Activity.showInstagramDialog(
dismissAction: ((flag: Boolean) -> Unit)? = null
) {
val dialog = AlertDialog.Builder(this).create() val dialog = AlertDialog.Builder(this).create()
val binding = DialogFacebookBinding.inflate(LayoutInflater.from(this)) val binding = DialogFacebookBinding.inflate(LayoutInflater.from(this))
...@@ -73,8 +74,9 @@ object InstagramDialog { ...@@ -73,8 +74,9 @@ object InstagramDialog {
}) })
} }
var dismissFlag = false
binding.tvBtn.setOnClickListener { binding.tvBtn.setOnClickListener {
dismissFlag = true
AdsMgr.showInsert(this, false, object : AdsShowCallBack() { AdsMgr.showInsert(this, false, object : AdsShowCallBack() {
override fun close(where: Int) { override fun close(where: Int) {
jump.invoke() jump.invoke()
...@@ -90,5 +92,9 @@ object InstagramDialog { ...@@ -90,5 +92,9 @@ object InstagramDialog {
}) })
} }
dialog?.setOnDismissListener {
dismissAction?.invoke(dismissFlag)
}
} }
} }
\ No newline at end of file
...@@ -13,14 +13,15 @@ import com.base.scanqrclear.ads.AdsMgr ...@@ -13,14 +13,15 @@ import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_PAYPAL import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_PAYPAL
import com.base.scanqrclear.bean.PaypalUIBean import com.base.scanqrclear.bean.PaypalUIBean
import com.base.scanqrclear.bean.PaypalUIBean.Companion.createPaypalQrString
import com.base.scanqrclear.databinding.DialogPaypalBinding import com.base.scanqrclear.databinding.DialogPaypalBinding
import com.base.scanqrclear.qr.QrStyleActivity import com.base.scanqrclear.qr.QrStyleActivity
import com.google.gson.Gson import com.google.gson.Gson
object PaypalDialog { object PaypalDialog {
fun Activity.showPaypalDialog() { fun Activity.showPaypalDialog(
dismissAction: ((flag: Boolean) -> Unit)? = null
) {
val dialog = AlertDialog.Builder(this).create() val dialog = AlertDialog.Builder(this).create()
val binding = DialogPaypalBinding.inflate(LayoutInflater.from(this)) val binding = DialogPaypalBinding.inflate(LayoutInflater.from(this))
...@@ -72,9 +73,9 @@ object PaypalDialog { ...@@ -72,9 +73,9 @@ object PaypalDialog {
putExtra("key", KEY_PAYPAL) putExtra("key", KEY_PAYPAL)
}) })
} }
var dismissFlag = false
binding.tvBtn.setOnClickListener { binding.tvBtn.setOnClickListener {
dismissFlag = true
AdsMgr.showInsert(this, false, object : AdsShowCallBack() { AdsMgr.showInsert(this, false, object : AdsShowCallBack() {
override fun close(where: Int) { override fun close(where: Int) {
jump.invoke() jump.invoke()
...@@ -91,6 +92,10 @@ object PaypalDialog { ...@@ -91,6 +92,10 @@ object PaypalDialog {
} }
dialog.setOnDismissListener {
dismissAction?.invoke(dismissFlag)
}
} }
} }
\ No newline at end of file
...@@ -13,14 +13,15 @@ import com.base.scanqrclear.ads.AdsMgr ...@@ -13,14 +13,15 @@ import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_SPOTIFY import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_SPOTIFY
import com.base.scanqrclear.bean.SpotifyUIBean import com.base.scanqrclear.bean.SpotifyUIBean
import com.base.scanqrclear.bean.SpotifyUIBean.Companion.createSpotifyQrString
import com.base.scanqrclear.databinding.DialogSpotifyBinding import com.base.scanqrclear.databinding.DialogSpotifyBinding
import com.base.scanqrclear.qr.QrStyleActivity import com.base.scanqrclear.qr.QrStyleActivity
import com.google.gson.Gson import com.google.gson.Gson
object SpotifyDialog { object SpotifyDialog {
fun Activity.showSpotifyDialog() { fun Activity.showSpotifyDialog(
dismissAction: ((flag: Boolean) -> Unit)? = null
) {
val dialog = AlertDialog.Builder(this).create() val dialog = AlertDialog.Builder(this).create()
val binding = DialogSpotifyBinding.inflate(LayoutInflater.from(this)) val binding = DialogSpotifyBinding.inflate(LayoutInflater.from(this))
dialog.setView(binding.root) dialog.setView(binding.root)
...@@ -62,9 +63,9 @@ object SpotifyDialog { ...@@ -62,9 +63,9 @@ object SpotifyDialog {
putExtra("key", KEY_SPOTIFY) putExtra("key", KEY_SPOTIFY)
}) })
} }
var dismissFlag = false
binding.tvBtn.setOnClickListener { binding.tvBtn.setOnClickListener {
dismissFlag = true
AdsMgr.showInsert(this, false, object : AdsShowCallBack() { AdsMgr.showInsert(this, false, object : AdsShowCallBack() {
override fun close(where: Int) { override fun close(where: Int) {
jump.invoke() jump.invoke()
...@@ -80,6 +81,9 @@ object SpotifyDialog { ...@@ -80,6 +81,9 @@ object SpotifyDialog {
}) })
} }
dialog.setOnDismissListener {
dismissAction?.invoke(dismissFlag)
}
} }
} }
\ No newline at end of file
...@@ -5,6 +5,24 @@ import android.os.Environment ...@@ -5,6 +5,24 @@ import android.os.Environment
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import com.base.scanqrclear.R import com.base.scanqrclear.R
import com.base.scanqrclear.bean.AddressUIBean
import com.base.scanqrclear.bean.FacebookUIBean
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_ADDRESS
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_FACEBOOK
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_INSTAGRAM
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_PAYPAL
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_SPOTIFY
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_WHATSAPP
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_X
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_YOUTUBE
import com.base.scanqrclear.bean.InstagramUIBean
import com.base.scanqrclear.bean.PaypalUIBean
import com.base.scanqrclear.bean.ScanBean
import com.base.scanqrclear.bean.SpotifyUIBean
import com.base.scanqrclear.bean.WhatsappUIBean
import com.base.scanqrclear.bean.XUIBean
import com.base.scanqrclear.bean.YoutubeUIBean
import com.base.scanqrclear.utils.SpJsonUtils
import com.base.scanqrclear.utils.ToastUtils.toast import com.base.scanqrclear.utils.ToastUtils.toast
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
...@@ -32,4 +50,58 @@ class QrViewModel : ViewModel() { ...@@ -32,4 +50,58 @@ class QrViewModel : ViewModel() {
} }
} }
} }
fun deleteScanBean(key: String, scanBean: ScanBean?) {
when (key) {
KEY_WHATSAPP -> {
val list = SpJsonUtils.getSpJsonList<WhatsappUIBean>(KEY_WHATSAPP).toMutableList()
list.removeIf { it.createTime == scanBean?.createTime }
SpJsonUtils.saveJsonBeanList(KEY_WHATSAPP, list)
}
KEY_YOUTUBE -> {
val list = SpJsonUtils.getSpJsonList<YoutubeUIBean>(KEY_YOUTUBE).toMutableList()
list.removeIf { it.createTime == scanBean?.createTime }
SpJsonUtils.saveJsonBeanList(KEY_YOUTUBE, list)
}
KEY_FACEBOOK -> {
val list = SpJsonUtils.getSpJsonList<FacebookUIBean>(KEY_FACEBOOK).toMutableList()
list.removeIf { it.createTime == scanBean?.createTime }
SpJsonUtils.saveJsonBeanList(KEY_FACEBOOK, list)
}
KEY_INSTAGRAM -> {
val list = SpJsonUtils.getSpJsonList<InstagramUIBean>(KEY_INSTAGRAM).toMutableList()
list.removeIf { it.createTime == scanBean?.createTime }
SpJsonUtils.saveJsonBeanList(KEY_INSTAGRAM, list)
}
KEY_X -> {
val list = SpJsonUtils.getSpJsonList<XUIBean>(KEY_X).toMutableList()
list.removeIf { it.createTime == scanBean?.createTime }
SpJsonUtils.saveJsonBeanList(KEY_X, list)
}
KEY_SPOTIFY -> {
val list = SpJsonUtils.getSpJsonList<SpotifyUIBean>(KEY_SPOTIFY).toMutableList()
list.removeIf { it.createTime == scanBean?.createTime }
SpJsonUtils.saveJsonBeanList(KEY_SPOTIFY, list)
}
KEY_PAYPAL -> {
val list = SpJsonUtils.getSpJsonList<PaypalUIBean>(KEY_PAYPAL).toMutableList()
list.removeIf { it.createTime == scanBean?.createTime }
SpJsonUtils.saveJsonBeanList(KEY_PAYPAL, list)
}
KEY_ADDRESS -> {
val list = SpJsonUtils.getSpJsonList<AddressUIBean>(KEY_ADDRESS).toMutableList()
list.removeIf { it.createTime == scanBean?.createTime }
SpJsonUtils.saveJsonBeanList(KEY_ADDRESS, list)
}
}
}
} }
\ No newline at end of file
...@@ -15,7 +15,6 @@ import com.base.scanqrclear.ads.AdsMgr ...@@ -15,7 +15,6 @@ import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_WHATSAPP import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_WHATSAPP
import com.base.scanqrclear.bean.WhatsappUIBean import com.base.scanqrclear.bean.WhatsappUIBean
import com.base.scanqrclear.bean.WhatsappUIBean.Companion.createWhatsappQrString
import com.base.scanqrclear.databinding.DialogWhastsppBinding import com.base.scanqrclear.databinding.DialogWhastsppBinding
import com.base.scanqrclear.qr.QrStyleActivity import com.base.scanqrclear.qr.QrStyleActivity
import com.base.scanqrclear.utils.ActivityLauncher import com.base.scanqrclear.utils.ActivityLauncher
...@@ -29,8 +28,10 @@ object WhatsappDialog { ...@@ -29,8 +28,10 @@ object WhatsappDialog {
private val TAG = "WhatsappDialog" private val TAG = "WhatsappDialog"
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
fun Activity.showWhatsappDialog(launcher: ActivityLauncher) { fun Activity.showWhatsappDialog(
launcher: ActivityLauncher,
dismissAction: ((dismissFlag: Boolean) -> Unit)? = null
) {
val dialog = AlertDialog.Builder(this).create() val dialog = AlertDialog.Builder(this).create()
val binding = DialogWhastsppBinding.inflate(LayoutInflater.from(this)) val binding = DialogWhastsppBinding.inflate(LayoutInflater.from(this))
...@@ -89,9 +90,9 @@ object WhatsappDialog { ...@@ -89,9 +90,9 @@ object WhatsappDialog {
putExtra("key", KEY_WHATSAPP) putExtra("key", KEY_WHATSAPP)
}) })
} }
var dismissFlag: Boolean = false
binding.tvBtn.setOnClickListener { binding.tvBtn.setOnClickListener {
dismissFlag = true
AdsMgr.showInsert(this, false, object : AdsShowCallBack() { AdsMgr.showInsert(this, false, object : AdsShowCallBack() {
override fun close(where: Int) { override fun close(where: Int) {
jump.invoke() jump.invoke()
...@@ -106,9 +107,11 @@ object WhatsappDialog { ...@@ -106,9 +107,11 @@ object WhatsappDialog {
} }
}) })
} }
dialog?.setOnDismissListener {
dismissAction?.invoke(dismissFlag)
}
} }
} }
\ No newline at end of file
...@@ -13,14 +13,15 @@ import com.base.scanqrclear.ads.AdsMgr ...@@ -13,14 +13,15 @@ import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_X import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_X
import com.base.scanqrclear.bean.XUIBean import com.base.scanqrclear.bean.XUIBean
import com.base.scanqrclear.bean.XUIBean.Companion.createXUIBeanQrString
import com.base.scanqrclear.databinding.DialogXBinding import com.base.scanqrclear.databinding.DialogXBinding
import com.base.scanqrclear.qr.QrStyleActivity import com.base.scanqrclear.qr.QrStyleActivity
import com.google.gson.Gson import com.google.gson.Gson
object XDialog { object XDialog {
fun Activity.showXDialog() { fun Activity.showXDialog(
dismissAction: ((flag: Boolean) -> Unit)? = null
) {
val dialog = AlertDialog.Builder(this).create() val dialog = AlertDialog.Builder(this).create()
val binding = DialogXBinding.inflate(LayoutInflater.from(this)) val binding = DialogXBinding.inflate(LayoutInflater.from(this))
...@@ -73,8 +74,9 @@ object XDialog { ...@@ -73,8 +74,9 @@ object XDialog {
}) })
} }
var dismissFlag = false
binding.tvBtn.setOnClickListener { binding.tvBtn.setOnClickListener {
dismissFlag = true
AdsMgr.showInsert(this, false, object : AdsShowCallBack() { AdsMgr.showInsert(this, false, object : AdsShowCallBack() {
override fun close(where: Int) { override fun close(where: Int) {
jump.invoke() jump.invoke()
...@@ -91,5 +93,9 @@ object XDialog { ...@@ -91,5 +93,9 @@ object XDialog {
} }
dialog.setOnDismissListener {
dismissAction?.invoke(dismissFlag)
}
} }
} }
\ No newline at end of file
...@@ -13,14 +13,15 @@ import com.base.scanqrclear.ads.AdsMgr ...@@ -13,14 +13,15 @@ import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_YOUTUBE import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_YOUTUBE
import com.base.scanqrclear.bean.YoutubeUIBean import com.base.scanqrclear.bean.YoutubeUIBean
import com.base.scanqrclear.bean.YoutubeUIBean.Companion.createYoutubeQrString
import com.base.scanqrclear.databinding.DialogYoutubeBinding import com.base.scanqrclear.databinding.DialogYoutubeBinding
import com.base.scanqrclear.qr.QrStyleActivity import com.base.scanqrclear.qr.QrStyleActivity
import com.google.gson.Gson import com.google.gson.Gson
object YoutubeDialog { object YoutubeDialog {
fun Activity.showYoutubeDialog() { fun Activity.showYoutubeDialog(
dismissAction: ((flag: Boolean) -> Unit)? = null
) {
val dialog = AlertDialog.Builder(this).create() val dialog = AlertDialog.Builder(this).create()
val binding = DialogYoutubeBinding.inflate(LayoutInflater.from(this)) val binding = DialogYoutubeBinding.inflate(LayoutInflater.from(this))
...@@ -76,9 +77,9 @@ object YoutubeDialog { ...@@ -76,9 +77,9 @@ object YoutubeDialog {
}) })
} }
var dismissFlag: Boolean = false
binding.tvBtn.setOnClickListener { binding.tvBtn.setOnClickListener {
dismissFlag = true
AdsMgr.showInsert(this, false, object : AdsShowCallBack() { AdsMgr.showInsert(this, false, object : AdsShowCallBack() {
override fun close(where: Int) { override fun close(where: Int) {
jump.invoke() jump.invoke()
...@@ -95,5 +96,9 @@ object YoutubeDialog { ...@@ -95,5 +96,9 @@ object YoutubeDialog {
} }
dialog.setOnDismissListener {
dismissAction?.invoke(dismissFlag)
}
} }
} }
\ No newline at end of file
...@@ -167,6 +167,7 @@ ...@@ -167,6 +167,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/llRegenerate"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment