Commit fe2a3a48 authored by wanglei's avatar wanglei

...

parent 446fc55e
package com.base.scanqrclear.bean
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_X
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_PAYPAL
data class PaypalUIBean(
val meLink: String? = null,
val meUsername: String? = null
) : ScanBean(KEY_X) {
val me: String? = null,
) : ScanBean(KEY_PAYPAL) {
companion object {
// https://www.paypal.me/www.baidu.com
fun PaypalUIBean.createPaypalMeLinkQrString(): String {
return "https://www.paypal.me/$meLink"
fun isPaypalQR(qrCodeValue: String): Boolean {
return qrCodeValue.startsWith("https://www.paypal.me")
}
fun createPaypalUIBean(qrCodeValue: String): PaypalUIBean {
val me = qrCodeValue.subSequence("https://www.paypal.me/".length, qrCodeValue.length)
return PaypalUIBean(me.toString())
}
// https://www.paypal.me/www.baidu.com
// https://www.paypal.me/koko
fun PaypalUIBean.createPaypalMeUserNameQrString(): String {
return "https://www.paypal.me/$meUsername"
fun PaypalUIBean.createPaypalQrString(): String {
return "https://www.paypal.me/$me"
}
}
......
......@@ -14,11 +14,14 @@ 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_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.InstagramUIBean
import com.base.scanqrclear.bean.InstagramUIBean.Companion.createInstagramQrString
import com.base.scanqrclear.bean.PaypalUIBean
import com.base.scanqrclear.bean.PaypalUIBean.Companion.createPaypalQrString
import com.base.scanqrclear.bean.ScanBean
import com.base.scanqrclear.bean.SpotifyUIBean
import com.base.scanqrclear.bean.SpotifyUIBean.Companion.createSpotifyQrString
......@@ -91,6 +94,15 @@ class QrResultsActivity : BaseActivity<ActivityQrResultsBinding>(ActivityQrResul
createNormalContent()
}
KEY_PAYPAL -> {
bean = Gson().fromJson(data, PaypalUIBean::class.java)
qrString = (bean as PaypalUIBean).createPaypalQrString()
binding.ivQrIcon.setImageResource(R.mipmap.h_paypal)
binding.tvQrTypeTitle.text = "Paypal"
qrTitle = "Content:"
createNormalContent()
}
KEY_SPOTIFY -> {
bean = Gson().fromJson(data, SpotifyUIBean::class.java)
qrString = (bean as SpotifyUIBean).createSpotifyQrString()
......
......@@ -24,6 +24,7 @@ import com.base.scanqrclear.bean.FacebookUIBean.Companion.createFaceBookUIBean
import com.base.scanqrclear.bean.FacebookUIBean.Companion.isFacebookQR
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
......@@ -31,6 +32,8 @@ import com.base.scanqrclear.bean.InstagramUIBean.Companion.createInstagramUIBean
import com.base.scanqrclear.bean.InstagramUIBean.Companion.isInstagramQR
import com.base.scanqrclear.bean.MessageUIBean.Companion.createMessageBean
import com.base.scanqrclear.bean.MessageUIBean.Companion.isMessageQR
import com.base.scanqrclear.bean.PaypalUIBean.Companion.createPaypalUIBean
import com.base.scanqrclear.bean.PaypalUIBean.Companion.isPaypalQR
import com.base.scanqrclear.bean.ProductUIBean
import com.base.scanqrclear.bean.ScanBean
import com.base.scanqrclear.bean.ScanBean.Companion.CREATE_TYPE_SCAN
......@@ -283,6 +286,25 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
return
}
if (isPaypalQR(qrCodeValue)) {
if (scanJump.get()) return
scanJump.set(true)
AdsMgr.showInsert(activity, true, object : AdsShowCallBack() {
override fun close(where: Int) {
jumpQrResultsActivity(activity, qrCodeValue, KEY_PAYPAL)
}
override fun failed(where: Int) {
jumpQrResultsActivity(activity, qrCodeValue, KEY_PAYPAL)
}
override fun googleFailed(where: Int) {
jumpQrResultsActivity(activity, qrCodeValue, KEY_PAYPAL)
}
})
return
}
if (isWebsiteQR(qrCodeValue)) {
if (scanJump.get()) return
scanJump.set(true)
......@@ -397,6 +419,8 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
return
}
if (valueType == Barcode.TYPE_TEXT) {
if (scanJump.get()) return
scanJump.set(true)
......@@ -428,6 +452,7 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
KEY_INSTAGRAM -> createInstagramUIBean(qrCodeValue)
KEY_X -> createXUIBean(qrCodeValue)
KEY_SPOTIFY -> createSpotifyUIBean(qrCodeValue)
KEY_PAYPAL -> createPaypalUIBean(qrCodeValue)
else -> ScanBean()
}
bean.needCreate = true
......
......@@ -12,8 +12,7 @@ import com.base.scanqrclear.R
import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.bean.PaypalUIBean
import com.base.scanqrclear.bean.PaypalUIBean.Companion.createPaypalMeLinkQrString
import com.base.scanqrclear.bean.PaypalUIBean.Companion.createPaypalMeUserNameQrString
import com.base.scanqrclear.bean.PaypalUIBean.Companion.createPaypalQrString
import com.base.scanqrclear.databinding.DialogPaypalBinding
import com.base.scanqrclear.qr.QrStyleActivity
......@@ -64,13 +63,10 @@ object PaypalDialog {
dialog.dismiss()
val content = binding.editContent.text.toString()
val bean = if (isMeLinkOrMeUsername) PaypalUIBean(meLink = content) else PaypalUIBean(meUsername = content)
val bean = PaypalUIBean(content)
startActivity(Intent(this, QrStyleActivity::class.java).apply {
putExtra(
"qrString",
if (isMeLinkOrMeUsername) bean.createPaypalMeLinkQrString() else bean.createPaypalMeUserNameQrString()
)
putExtra("qrString", bean.createPaypalQrString())
})
}
......
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