Commit fe2a3a48 authored by wanglei's avatar wanglei

...

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