Commit 3fd02b8f authored by wanglei's avatar wanglei

...

parent 3c9d6f92
......@@ -7,6 +7,7 @@ open class ScanBean(
var createTime = System.currentTimeMillis()
var createType: Int = CREATE_TYPE_USER//0手动创建 1扫描创建
var needCreate: Boolean = true//是否需要创建
var qrStyleBean: QrStyleBean? = null//创建qr的样式
companion object {
const val CREATE_TYPE_USER = 0
......
......@@ -2,6 +2,7 @@ package com.base.scanqrclear.bean
data class WhatsappUIBean(val phone: String) : ScanBean(FunctionUIBean.KEY_WHATSAPP) {
companion object {
fun createWhatsappUIBean(qrCodeValue: String): WhatsappUIBean {
......
......@@ -4,6 +4,23 @@ import android.content.Intent
import androidx.activity.addCallback
import androidx.core.view.updatePadding
import com.base.scanqrclear.base.BaseActivity
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.databinding.ActivityQrStyleBinding
import com.base.scanqrclear.qr.QrStyleUtils.getQrStyleBean
import com.base.scanqrclear.utils.BarUtils
......@@ -12,12 +29,52 @@ import com.gyf.immersionbar.ktx.immersionBar
class QrStyleActivity : BaseActivity<ActivityQrStyleBinding>(ActivityQrStyleBinding::inflate) {
private var qrString = ""
private val adapter = QrStyleAdapter()
private var scanBean: ScanBean? = null
private var key: String = ""
override fun initView() {
super.initView()
binding.clTop.updatePadding(top = BarUtils.getStatusBarHeight())
qrString = intent.extras?.getString("qrString", "") ?: ""
key = intent.extras?.getString("key") ?: ""
val data = intent.extras?.getString("data") ?: ""
when (key) {
KEY_WHATSAPP -> {
scanBean = Gson().fromJson(data, WhatsappUIBean::class.java)
}
KEY_YOUTUBE -> {
scanBean = Gson().fromJson(data, YoutubeUIBean::class.java)
}
KEY_PAYPAL -> {
scanBean = Gson().fromJson(data, PaypalUIBean::class.java)
}
KEY_X -> {
scanBean = Gson().fromJson(data, XUIBean::class.java)
}
KEY_ADDRESS -> {
scanBean = Gson().fromJson(data, AddressUIBean::class.java)
}
KEY_FACEBOOK -> {
scanBean = Gson().fromJson(data, FacebookUIBean::class.java)
}
KEY_INSTAGRAM -> {
scanBean = Gson().fromJson(data, InstagramUIBean::class.java)
}
KEY_SPOTIFY -> {
scanBean = Gson().fromJson(data, SpotifyUIBean::class.java)
}
}
initAdapter()
}
......@@ -43,9 +100,11 @@ class QrStyleActivity : BaseActivity<ActivityQrStyleBinding>(ActivityQrStyleBind
binding.tvConfirm.setOnClickListener {
startActivity(Intent(this, QrStyleResultActivity::class.java).apply {
val data = adapter.items.find { it.isSelect }
putExtra("data", Gson().toJson(data))
putExtra("qrString", qrString)
val qrStyleBean = adapter.items.find { it.isSelect }
scanBean?.qrStyleBean = qrStyleBean
putExtra("key", key)
putExtra("data", Gson().toJson(scanBean))
})
}
......
......@@ -6,10 +6,38 @@ import android.graphics.Point
import android.graphics.drawable.Drawable
import androidx.activity.addCallback
import androidx.core.view.updatePadding
import com.base.scanqrclear.R
import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.base.BaseActivity
import com.base.scanqrclear.bean.AddressUIBean
import com.base.scanqrclear.bean.AddressUIBean.Companion.createAddressUIBeanQrString
import com.base.scanqrclear.bean.FacebookUIBean
import com.base.scanqrclear.bean.FacebookUIBean.Companion.createFacebookQrString
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.InstagramUIBean.Companion.createInstagramQrString
import com.base.scanqrclear.bean.PaypalUIBean
import com.base.scanqrclear.bean.PaypalUIBean.Companion.createPaypalQrString
import com.base.scanqrclear.bean.QrStyleBean
import com.base.scanqrclear.bean.ScanBean
import com.base.scanqrclear.bean.SpotifyUIBean
import com.base.scanqrclear.bean.SpotifyUIBean.Companion.createSpotifyQrString
import com.base.scanqrclear.bean.WhatsappUIBean
import com.base.scanqrclear.bean.WhatsappUIBean.Companion.createWhatsappQrString
import com.base.scanqrclear.bean.XUIBean
import com.base.scanqrclear.bean.XUIBean.Companion.createXUIBeanQrString
import com.base.scanqrclear.bean.YoutubeUIBean
import com.base.scanqrclear.bean.YoutubeUIBean.Companion.createYoutubeQrString
import com.base.scanqrclear.databinding.ActivityQrStyleResultBinding
import com.base.scanqrclear.qr.QrStyleUtils.generateQRCodeWithBackground
import com.base.scanqrclear.ui.widget.HintDialog.showHintDialog
import com.base.scanqrclear.utils.BarUtils
import com.base.scanqrclear.utils.LogEx
import com.bumptech.glide.Glide
......@@ -20,20 +48,63 @@ import com.gyf.immersionbar.ktx.immersionBar
class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(ActivityQrStyleResultBinding::inflate) {
private var qrStyleBean: QrStyleBean? = null
private var qrString: String = ""
private var scanBean: ScanBean? = null
private var key: String = ""
private var qrString = ""
override fun initView() {
super.initView()
binding.clTop.updatePadding(top = BarUtils.getStatusBarHeight())
qrString = intent.extras?.getString("qrString", "") ?: ""
LogEx.logDebug(TAG, "qrString=$qrString")
val data = intent.extras?.getString("data", "")
data?.let {
qrStyleBean = Gson().fromJson(it, QrStyleBean::class.java)
AdsMgr.showNative(binding.flAd, R.layout.layout_admob_native_custom)
key = intent.extras?.getString("key") ?: ""
val data = intent.extras?.getString("data") ?: ""
when (key) {
KEY_WHATSAPP -> {
scanBean = Gson().fromJson(data, WhatsappUIBean::class.java)
qrString = (scanBean as WhatsappUIBean).createWhatsappQrString()
}
KEY_YOUTUBE -> {
scanBean = Gson().fromJson(data, YoutubeUIBean::class.java)
qrString = (scanBean as YoutubeUIBean).createYoutubeQrString()
}
KEY_PAYPAL -> {
scanBean = Gson().fromJson(data, PaypalUIBean::class.java)
qrString = (scanBean as PaypalUIBean).createPaypalQrString()
}
KEY_X -> {
scanBean = Gson().fromJson(data, XUIBean::class.java)
qrString = (scanBean as XUIBean).createXUIBeanQrString()
}
qrStyleBean?.let { bean ->
KEY_ADDRESS -> {
scanBean = Gson().fromJson(data, AddressUIBean::class.java)
qrString = (scanBean as AddressUIBean).createAddressUIBeanQrString()
}
KEY_FACEBOOK -> {
scanBean = Gson().fromJson(data, FacebookUIBean::class.java)
qrString = (scanBean as FacebookUIBean).createFacebookQrString()
}
KEY_INSTAGRAM -> {
scanBean = Gson().fromJson(data, InstagramUIBean::class.java)
qrString = (scanBean as InstagramUIBean).createInstagramQrString()
}
KEY_SPOTIFY -> {
scanBean = Gson().fromJson(data, SpotifyUIBean::class.java)
qrString = (scanBean as SpotifyUIBean).createSpotifyQrString()
}
}
scanBean?.qrStyleBean?.let { bean ->
Glide.with(this)
.asBitmap() // 指定加载为 Bitmap
.load(bean.img_url)
......@@ -135,6 +206,7 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit
qrBgColor = Color.TRANSPARENT
}
LogEx.logDebug(TAG, "qrString=$qrString")
LogEx.logDebug(TAG, "id=${bean.id} scale=$scale ${bean.color} ${bean.img_url}")
val qrBitmap = generateQRCodeWithBackground(
......@@ -154,6 +226,10 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit
binding.flBack.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
binding.llDelete.setOnClickListener {
showHintDialog { }
}
}
override fun configSystemBar() {
......
......@@ -13,8 +13,10 @@ import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack
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.databinding.DialogAddressBinding
import com.base.scanqrclear.qr.QrStyleActivity
import com.google.gson.Gson
object AddressDialog {
......@@ -56,7 +58,8 @@ object AddressDialog {
val bean = AddressUIBean(longitude, latitude)
startActivity(Intent(this, QrStyleActivity::class.java).apply {
putExtra("qrString", bean.createAddressUIBeanQrString())
putExtra("data", Gson().toJson(bean))
putExtra("key", KEY_ADDRESS)
})
}
......
......@@ -13,6 +13,7 @@ import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack
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.databinding.DialogFacebookBinding
import com.base.scanqrclear.qr.QrStyleActivity
import com.google.gson.Gson
......@@ -68,7 +69,8 @@ object FacebookDialog {
val bean = FacebookUIBean(content)
startActivity(Intent(this, QrStyleActivity::class.java).apply {
putExtra("qrString", bean.createFacebookQrString())
putExtra("data", Gson().toJson(bean))
putExtra("key", KEY_FACEBOOK)
})
}
......
......@@ -11,10 +11,12 @@ import androidx.core.widget.addTextChangedListener
import com.base.scanqrclear.R
import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_INSTAGRAM
import com.base.scanqrclear.bean.InstagramUIBean
import com.base.scanqrclear.bean.InstagramUIBean.Companion.createInstagramQrString
import com.base.scanqrclear.databinding.DialogFacebookBinding
import com.base.scanqrclear.qr.QrStyleActivity
import com.google.gson.Gson
object InstagramDialog {
......@@ -66,7 +68,8 @@ object InstagramDialog {
val bean = InstagramUIBean(content)
startActivity(Intent(this, QrStyleActivity::class.java).apply {
putExtra("qrString", bean.createInstagramQrString())
putExtra("data", Gson().toJson(bean))
putExtra("key", KEY_INSTAGRAM)
})
}
......
......@@ -11,10 +11,12 @@ import androidx.core.widget.addTextChangedListener
import com.base.scanqrclear.R
import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_PAYPAL
import com.base.scanqrclear.bean.PaypalUIBean
import com.base.scanqrclear.bean.PaypalUIBean.Companion.createPaypalQrString
import com.base.scanqrclear.databinding.DialogPaypalBinding
import com.base.scanqrclear.qr.QrStyleActivity
import com.google.gson.Gson
object PaypalDialog {
......@@ -66,7 +68,8 @@ object PaypalDialog {
val bean = PaypalUIBean(content)
startActivity(Intent(this, QrStyleActivity::class.java).apply {
putExtra("qrString", bean.createPaypalQrString())
putExtra("data", Gson().toJson(bean))
putExtra("key", KEY_PAYPAL)
})
}
......
......@@ -11,10 +11,12 @@ import androidx.core.widget.addTextChangedListener
import com.base.scanqrclear.R
import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_SPOTIFY
import com.base.scanqrclear.bean.SpotifyUIBean
import com.base.scanqrclear.bean.SpotifyUIBean.Companion.createSpotifyQrString
import com.base.scanqrclear.databinding.DialogSpotifyBinding
import com.base.scanqrclear.qr.QrStyleActivity
import com.google.gson.Gson
object SpotifyDialog {
......@@ -56,9 +58,8 @@ object SpotifyDialog {
val bean = SpotifyUIBean(singerName, song)
startActivity(Intent(this, QrStyleActivity::class.java).apply {
putExtra(
"qrString", bean.createSpotifyQrString()
)
putExtra("data", Gson().toJson(bean))
putExtra("key", KEY_SPOTIFY)
})
}
......
......@@ -13,6 +13,7 @@ import androidx.core.widget.addTextChangedListener
import com.base.scanqrclear.R
import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_WHATSAPP
import com.base.scanqrclear.bean.WhatsappUIBean
import com.base.scanqrclear.bean.WhatsappUIBean.Companion.createWhatsappQrString
import com.base.scanqrclear.databinding.DialogWhastsppBinding
......@@ -20,6 +21,7 @@ import com.base.scanqrclear.qr.QrStyleActivity
import com.base.scanqrclear.utils.ActivityLauncher
import com.base.scanqrclear.utils.AppPreferences
import com.base.scanqrclear.utils.LogEx
import com.google.gson.Gson
object WhatsappDialog {
......@@ -83,7 +85,8 @@ object WhatsappDialog {
val bean = WhatsappUIBean(phone)
startActivity(Intent(this, QrStyleActivity::class.java).apply {
putExtra("qrString", bean.createWhatsappQrString())
putExtra("data", Gson().toJson(bean))
putExtra("key", KEY_WHATSAPP)
})
}
......
package com.base.scanqrclear.ui.widget
import android.app.Activity
import android.app.AlertDialog
import android.view.Gravity
import android.view.LayoutInflater
import android.widget.FrameLayout
import com.base.scanqrclear.R
import com.base.scanqrclear.databinding.DialogHintBinding
object HintDialog {
fun Activity.showHintDialog(
confirm: () -> Unit
) {
val dialog = AlertDialog.Builder(this).create()
val binding = DialogHintBinding.inflate(LayoutInflater.from(this))
dialog.setView(binding.root)
dialog.setCanceledOnTouchOutside(true)
dialog.show()
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
val params = dialog.window?.attributes
params?.dimAmount = 0f
params?.width = resources.getDimensionPixelOffset(R.dimen.dp_200)
// params?.width = FrameLayout.LayoutParams.WRAP_CONTENT
params?.height = FrameLayout.LayoutParams.WRAP_CONTENT
params?.gravity = Gravity.TOP
binding.tvBtn1.setOnClickListener {
dialog.dismiss()
}
binding.tvBtn2.setOnClickListener {
dialog.dismiss()
confirm.invoke()
}
}
}
\ No newline at end of file
......@@ -50,7 +50,7 @@ object LogDialog {
MyApplication.appContext.initRemoteConfig()
MainScope().launch {
delay(2000)
delay(5000)
binding.tvLog.text = logFun()
}
}
......@@ -59,7 +59,7 @@ object LogDialog {
MyApplication.appContext.initRemoteConfig()
MainScope().launch {
delay(2000)
delay(5000)
binding.tvLog.text = logFun()
}
}
......@@ -69,7 +69,7 @@ object LogDialog {
MyApplication.appContext.initRemoteConfig()
MainScope().launch {
delay(2000)
delay(5000)
binding.tvLog.text = logFun()
}
}
......@@ -78,7 +78,7 @@ object LogDialog {
MyApplication.appContext.initRemoteConfig()
MainScope().launch {
delay(2000)
delay(5000)
binding.tvLog.text = logFun()
}
}
......
......@@ -11,10 +11,12 @@ import androidx.core.widget.addTextChangedListener
import com.base.scanqrclear.R
import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_X
import com.base.scanqrclear.bean.XUIBean
import com.base.scanqrclear.bean.XUIBean.Companion.createXUIBeanQrString
import com.base.scanqrclear.databinding.DialogXBinding
import com.base.scanqrclear.qr.QrStyleActivity
import com.google.gson.Gson
object XDialog {
......@@ -66,7 +68,8 @@ object XDialog {
val bean = XUIBean(content)
startActivity(Intent(this, QrStyleActivity::class.java).apply {
putExtra("qrString", bean.createXUIBeanQrString())
putExtra("data", Gson().toJson(bean))
putExtra("key", KEY_X)
})
}
......
......@@ -11,10 +11,12 @@ import androidx.core.widget.addTextChangedListener
import com.base.scanqrclear.R
import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_YOUTUBE
import com.base.scanqrclear.bean.YoutubeUIBean
import com.base.scanqrclear.bean.YoutubeUIBean.Companion.createYoutubeQrString
import com.base.scanqrclear.databinding.DialogYoutubeBinding
import com.base.scanqrclear.qr.QrStyleActivity
import com.google.gson.Gson
object YoutubeDialog {
......@@ -69,7 +71,8 @@ object YoutubeDialog {
val bean = if (isVOrChannel) YoutubeUIBean(v = content) else YoutubeUIBean(channel = content)
startActivity(Intent(this, QrStyleActivity::class.java).apply {
putExtra("qrString", bean.createYoutubeQrString())
putExtra("data", Gson().toJson(bean))
putExtra("key", KEY_YOUTUBE)
})
}
......
......@@ -44,6 +44,37 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<com.base.scanqrclear.ads.NativeParentView
android:id="@+id/flAd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
android:minHeight="120dp"
app:layout_constraintTop_toBottomOf="@id/clTop">
<io.supercharge.shimmerlayout.ShimmerLayout
android:id="@+id/shimmerLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginHorizontal="8dp"
app:shimmer_angle="25"
app:shimmer_animation_duration="2000"
app:shimmer_auto_start="true"
app:shimmer_color="#33ffffff"
app:shimmer_mask_width="0.2">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/czhanweitu"
tools:ignore="ContentDescription,ImageContrastCheck" />
</io.supercharge.shimmerlayout.ShimmerLayout>
</com.base.scanqrclear.ads.NativeParentView>
<androidx.cardview.widget.CardView
android:layout_width="265dp"
android:layout_height="265dp"
......@@ -54,6 +85,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/clTop"
app:layout_constraintVertical_bias="0.65"
tools:ignore="ContentDescription">
<ImageView
......@@ -110,6 +142,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:visibility="gone"
tools:ignore="UseCompoundDrawables">
<ImageView
......@@ -160,6 +193,7 @@
</LinearLayout>
<LinearLayout
android:id="@+id/llDelete"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_ffffff_20"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="24dp"
android:text="Hint"
android:textColor="@color/black"
android:textSize="21sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="24dp"
android:layout_marginTop="12dp"
android:gravity="center"
android:text="@string/do_you_want_to_delete_this_barcode"
android:textColor="@color/black"
android:textSize="16sp"
tools:ignore="HardcodedText" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="12dp"
android:orientation="horizontal"
android:paddingHorizontal="8dp"
android:paddingVertical="12dp">
<TextView
android:id="@+id/tvBtn1"
android:layout_width="0dp"
android:layout_height="45dp"
android:layout_marginHorizontal="8dp"
android:layout_weight="1"
android:background="@drawable/bg_f3f3f5_80"
android:gravity="center"
android:text="@string/cancel"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tvBtn2"
android:layout_width="0dp"
android:layout_height="45dp"
android:layout_marginHorizontal="8dp"
android:layout_weight="1"
android:background="@drawable/bg_6473f8_80"
android:gravity="center"
android:text="@string/delete"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
......@@ -289,5 +289,6 @@
<string name="banknote_scan">Banknote Scan</string>
<string name="document_scan">Document Scan</string>
<string name="business_card">Business card</string>
<string name="do_you_want_to_delete_this_barcode">Do you want to delete this barcode?</string>
</resources>
\ No newline at end of file
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