Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
S
scanqrwhite2copy1
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanglei
scanqrwhite2copy1
Commits
3fd02b8f
Commit
3fd02b8f
authored
Feb 24, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
3c9d6f92
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
328 additions
and
27 deletions
+328
-27
ScanBean.kt
app/src/main/java/com/base/scanqrclear/bean/ScanBean.kt
+1
-0
WhatsappUIBean.kt
...src/main/java/com/base/scanqrclear/bean/WhatsappUIBean.kt
+1
-0
QrStyleActivity.kt
app/src/main/java/com/base/scanqrclear/qr/QrStyleActivity.kt
+64
-5
QrStyleResultActivity.kt
...ain/java/com/base/scanqrclear/qr/QrStyleResultActivity.kt
+84
-8
AddressDialog.kt
...n/java/com/base/scanqrclear/ui/addressqr/AddressDialog.kt
+4
-1
FacebookDialog.kt
...java/com/base/scanqrclear/ui/facebookqr/FacebookDialog.kt
+3
-1
InstagramDialog.kt
...ain/java/com/base/scanqrclear/ui/insqr/InstagramDialog.kt
+4
-1
PaypalDialog.kt
...ain/java/com/base/scanqrclear/ui/paypalqr/PaypalDialog.kt
+4
-1
SpotifyDialog.kt
...n/java/com/base/scanqrclear/ui/spotifyqr/SpotifyDialog.kt
+4
-3
WhatsappDialog.kt
...java/com/base/scanqrclear/ui/whatsappqr/WhatsappDialog.kt
+4
-1
HintDialog.kt
...rc/main/java/com/base/scanqrclear/ui/widget/HintDialog.kt
+40
-0
LogDialog.kt
...src/main/java/com/base/scanqrclear/ui/widget/LogDialog.kt
+4
-4
XDialog.kt
app/src/main/java/com/base/scanqrclear/ui/xqr/XDialog.kt
+4
-1
YoutubeDialog.kt
...n/java/com/base/scanqrclear/ui/youtubeqr/YoutubeDialog.kt
+4
-1
activity_qr_style_result.xml
app/src/main/res/layout/activity_qr_style_result.xml
+34
-0
dialog_hint.xml
app/src/main/res/layout/dialog_hint.xml
+68
-0
strings.xml
app/src/main/res/values/strings.xml
+1
-0
No files found.
app/src/main/java/com/base/scanqrclear/bean/ScanBean.kt
View file @
3fd02b8f
...
@@ -7,6 +7,7 @@ open class ScanBean(
...
@@ -7,6 +7,7 @@ open class ScanBean(
var
createTime
=
System
.
currentTimeMillis
()
var
createTime
=
System
.
currentTimeMillis
()
var
createType
:
Int
=
CREATE_TYPE_USER
//0手动创建 1扫描创建
var
createType
:
Int
=
CREATE_TYPE_USER
//0手动创建 1扫描创建
var
needCreate
:
Boolean
=
true
//是否需要创建
var
needCreate
:
Boolean
=
true
//是否需要创建
var
qrStyleBean
:
QrStyleBean
?
=
null
//创建qr的样式
companion
object
{
companion
object
{
const
val
CREATE_TYPE_USER
=
0
const
val
CREATE_TYPE_USER
=
0
...
...
app/src/main/java/com/base/scanqrclear/bean/WhatsappUIBean.kt
View file @
3fd02b8f
...
@@ -2,6 +2,7 @@ package com.base.scanqrclear.bean
...
@@ -2,6 +2,7 @@ package com.base.scanqrclear.bean
data class
WhatsappUIBean
(
val
phone
:
String
)
:
ScanBean
(
FunctionUIBean
.
KEY_WHATSAPP
)
{
data class
WhatsappUIBean
(
val
phone
:
String
)
:
ScanBean
(
FunctionUIBean
.
KEY_WHATSAPP
)
{
companion
object
{
companion
object
{
fun
createWhatsappUIBean
(
qrCodeValue
:
String
):
WhatsappUIBean
{
fun
createWhatsappUIBean
(
qrCodeValue
:
String
):
WhatsappUIBean
{
...
...
app/src/main/java/com/base/scanqrclear/qr/QrStyleActivity.kt
View file @
3fd02b8f
...
@@ -4,6 +4,23 @@ import android.content.Intent
...
@@ -4,6 +4,23 @@ import android.content.Intent
import
androidx.activity.addCallback
import
androidx.activity.addCallback
import
androidx.core.view.updatePadding
import
androidx.core.view.updatePadding
import
com.base.scanqrclear.base.BaseActivity
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.databinding.ActivityQrStyleBinding
import
com.base.scanqrclear.qr.QrStyleUtils.getQrStyleBean
import
com.base.scanqrclear.qr.QrStyleUtils.getQrStyleBean
import
com.base.scanqrclear.utils.BarUtils
import
com.base.scanqrclear.utils.BarUtils
...
@@ -12,12 +29,52 @@ import com.gyf.immersionbar.ktx.immersionBar
...
@@ -12,12 +29,52 @@ import com.gyf.immersionbar.ktx.immersionBar
class
QrStyleActivity
:
BaseActivity
<
ActivityQrStyleBinding
>(
ActivityQrStyleBinding
::
inflate
)
{
class
QrStyleActivity
:
BaseActivity
<
ActivityQrStyleBinding
>(
ActivityQrStyleBinding
::
inflate
)
{
private
var
qrString
=
""
private
val
adapter
=
QrStyleAdapter
()
private
val
adapter
=
QrStyleAdapter
()
private
var
scanBean
:
ScanBean
?
=
null
private
var
key
:
String
=
""
override
fun
initView
()
{
override
fun
initView
()
{
super
.
initView
()
super
.
initView
()
binding
.
clTop
.
updatePadding
(
top
=
BarUtils
.
getStatusBarHeight
())
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
()
initAdapter
()
}
}
...
@@ -43,9 +100,11 @@ class QrStyleActivity : BaseActivity<ActivityQrStyleBinding>(ActivityQrStyleBind
...
@@ -43,9 +100,11 @@ class QrStyleActivity : BaseActivity<ActivityQrStyleBinding>(ActivityQrStyleBind
binding
.
tvConfirm
.
setOnClickListener
{
binding
.
tvConfirm
.
setOnClickListener
{
startActivity
(
Intent
(
this
,
QrStyleResultActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
this
,
QrStyleResultActivity
::
class
.
java
).
apply
{
val
data
=
adapter
.
items
.
find
{
it
.
isSelect
}
val
qrStyleBean
=
adapter
.
items
.
find
{
it
.
isSelect
}
putExtra
(
"data"
,
Gson
().
toJson
(
data
))
scanBean
?.
qrStyleBean
=
qrStyleBean
putExtra
(
"qrString"
,
qrString
)
putExtra
(
"key"
,
key
)
putExtra
(
"data"
,
Gson
().
toJson
(
scanBean
))
})
})
}
}
...
...
app/src/main/java/com/base/scanqrclear/qr/QrStyleResultActivity.kt
View file @
3fd02b8f
...
@@ -6,10 +6,38 @@ import android.graphics.Point
...
@@ -6,10 +6,38 @@ import android.graphics.Point
import
android.graphics.drawable.Drawable
import
android.graphics.drawable.Drawable
import
androidx.activity.addCallback
import
androidx.activity.addCallback
import
androidx.core.view.updatePadding
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.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.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.databinding.ActivityQrStyleResultBinding
import
com.base.scanqrclear.qr.QrStyleUtils.generateQRCodeWithBackground
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.BarUtils
import
com.base.scanqrclear.utils.LogEx
import
com.base.scanqrclear.utils.LogEx
import
com.bumptech.glide.Glide
import
com.bumptech.glide.Glide
...
@@ -20,20 +48,63 @@ import com.gyf.immersionbar.ktx.immersionBar
...
@@ -20,20 +48,63 @@ import com.gyf.immersionbar.ktx.immersionBar
class
QrStyleResultActivity
:
BaseActivity
<
ActivityQrStyleResultBinding
>(
ActivityQrStyleResultBinding
::
inflate
)
{
class
QrStyleResultActivity
:
BaseActivity
<
ActivityQrStyleResultBinding
>(
ActivityQrStyleResultBinding
::
inflate
)
{
private
var
qrStyleBean
:
QrStyleBean
?
=
null
private
var
scanBean
:
ScanBean
?
=
null
private
var
qrString
:
String
=
""
private
var
key
:
String
=
""
private
var
qrString
=
""
override
fun
initView
()
{
override
fun
initView
()
{
super
.
initView
()
super
.
initView
()
binding
.
clTop
.
updatePadding
(
top
=
BarUtils
.
getStatusBarHeight
())
binding
.
clTop
.
updatePadding
(
top
=
BarUtils
.
getStatusBarHeight
())
qrString
=
intent
.
extras
?.
getString
(
"qrString"
,
""
)
?:
""
AdsMgr
.
showNative
(
binding
.
flAd
,
R
.
layout
.
layout_admob_native_custom
)
LogEx
.
logDebug
(
TAG
,
"qrString=$qrString"
)
val
data
=
intent
.
extras
?.
getString
(
"data"
,
""
)
key
=
intent
.
extras
?.
getString
(
"key"
)
?:
""
data
?.
let
{
val
data
=
intent
.
extras
?.
getString
(
"data"
)
?:
""
qrStyleBean
=
Gson
().
fromJson
(
it
,
QrStyleBean
::
class
.
java
)
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
)
Glide
.
with
(
this
)
.
asBitmap
()
// 指定加载为 Bitmap
.
asBitmap
()
// 指定加载为 Bitmap
.
load
(
bean
.
img_url
)
.
load
(
bean
.
img_url
)
...
@@ -135,6 +206,7 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit
...
@@ -135,6 +206,7 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit
qrBgColor
=
Color
.
TRANSPARENT
qrBgColor
=
Color
.
TRANSPARENT
}
}
LogEx
.
logDebug
(
TAG
,
"qrString=$qrString"
)
LogEx
.
logDebug
(
TAG
,
"id=${bean.id} scale=$scale ${bean.color} ${bean.img_url}"
)
LogEx
.
logDebug
(
TAG
,
"id=${bean.id} scale=$scale ${bean.color} ${bean.img_url}"
)
val
qrBitmap
=
generateQRCodeWithBackground
(
val
qrBitmap
=
generateQRCodeWithBackground
(
...
@@ -154,6 +226,10 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit
...
@@ -154,6 +226,10 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit
binding
.
flBack
.
setOnClickListener
{
binding
.
flBack
.
setOnClickListener
{
onBackPressedDispatcher
.
onBackPressed
()
onBackPressedDispatcher
.
onBackPressed
()
}
}
binding
.
llDelete
.
setOnClickListener
{
showHintDialog
{
}
}
}
}
override
fun
configSystemBar
()
{
override
fun
configSystemBar
()
{
...
...
app/src/main/java/com/base/scanqrclear/ui/addressqr/AddressDialog.kt
View file @
3fd02b8f
...
@@ -13,8 +13,10 @@ import com.base.scanqrclear.ads.AdsMgr
...
@@ -13,8 +13,10 @@ 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.AddressUIBean.Companion.createAddressUIBeanQrString
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
import
com.google.gson.Gson
object
AddressDialog
{
object
AddressDialog
{
...
@@ -56,7 +58,8 @@ object AddressDialog {
...
@@ -56,7 +58,8 @@ object AddressDialog {
val
bean
=
AddressUIBean
(
longitude
,
latitude
)
val
bean
=
AddressUIBean
(
longitude
,
latitude
)
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
putExtra
(
"qrString"
,
bean
.
createAddressUIBeanQrString
())
putExtra
(
"data"
,
Gson
().
toJson
(
bean
))
putExtra
(
"key"
,
KEY_ADDRESS
)
})
})
}
}
...
...
app/src/main/java/com/base/scanqrclear/ui/facebookqr/FacebookDialog.kt
View file @
3fd02b8f
...
@@ -13,6 +13,7 @@ import com.base.scanqrclear.ads.AdsMgr
...
@@ -13,6 +13,7 @@ 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.FacebookUIBean.Companion.createFacebookQrString
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
import
com.google.gson.Gson
import
com.google.gson.Gson
...
@@ -68,7 +69,8 @@ object FacebookDialog {
...
@@ -68,7 +69,8 @@ object FacebookDialog {
val
bean
=
FacebookUIBean
(
content
)
val
bean
=
FacebookUIBean
(
content
)
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
putExtra
(
"qrString"
,
bean
.
createFacebookQrString
())
putExtra
(
"data"
,
Gson
().
toJson
(
bean
))
putExtra
(
"key"
,
KEY_FACEBOOK
)
})
})
}
}
...
...
app/src/main/java/com/base/scanqrclear/ui/insqr/InstagramDialog.kt
View file @
3fd02b8f
...
@@ -11,10 +11,12 @@ import androidx.core.widget.addTextChangedListener
...
@@ -11,10 +11,12 @@ import androidx.core.widget.addTextChangedListener
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.ads.AdsShowCallBack
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.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
object
InstagramDialog
{
object
InstagramDialog
{
...
@@ -66,7 +68,8 @@ object InstagramDialog {
...
@@ -66,7 +68,8 @@ object InstagramDialog {
val
bean
=
InstagramUIBean
(
content
)
val
bean
=
InstagramUIBean
(
content
)
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
putExtra
(
"qrString"
,
bean
.
createInstagramQrString
())
putExtra
(
"data"
,
Gson
().
toJson
(
bean
))
putExtra
(
"key"
,
KEY_INSTAGRAM
)
})
})
}
}
...
...
app/src/main/java/com/base/scanqrclear/ui/paypalqr/PaypalDialog.kt
View file @
3fd02b8f
...
@@ -11,10 +11,12 @@ import androidx.core.widget.addTextChangedListener
...
@@ -11,10 +11,12 @@ import androidx.core.widget.addTextChangedListener
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.ads.AdsShowCallBack
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.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
object
PaypalDialog
{
object
PaypalDialog
{
...
@@ -66,7 +68,8 @@ object PaypalDialog {
...
@@ -66,7 +68,8 @@ object PaypalDialog {
val
bean
=
PaypalUIBean
(
content
)
val
bean
=
PaypalUIBean
(
content
)
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
putExtra
(
"qrString"
,
bean
.
createPaypalQrString
())
putExtra
(
"data"
,
Gson
().
toJson
(
bean
))
putExtra
(
"key"
,
KEY_PAYPAL
)
})
})
}
}
...
...
app/src/main/java/com/base/scanqrclear/ui/spotifyqr/SpotifyDialog.kt
View file @
3fd02b8f
...
@@ -11,10 +11,12 @@ import androidx.core.widget.addTextChangedListener
...
@@ -11,10 +11,12 @@ import androidx.core.widget.addTextChangedListener
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.ads.AdsShowCallBack
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.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
object
SpotifyDialog
{
object
SpotifyDialog
{
...
@@ -56,9 +58,8 @@ object SpotifyDialog {
...
@@ -56,9 +58,8 @@ object SpotifyDialog {
val
bean
=
SpotifyUIBean
(
singerName
,
song
)
val
bean
=
SpotifyUIBean
(
singerName
,
song
)
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
putExtra
(
putExtra
(
"data"
,
Gson
().
toJson
(
bean
))
"qrString"
,
bean
.
createSpotifyQrString
()
putExtra
(
"key"
,
KEY_SPOTIFY
)
)
})
})
}
}
...
...
app/src/main/java/com/base/scanqrclear/ui/whatsappqr/WhatsappDialog.kt
View file @
3fd02b8f
...
@@ -13,6 +13,7 @@ import androidx.core.widget.addTextChangedListener
...
@@ -13,6 +13,7 @@ import androidx.core.widget.addTextChangedListener
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.ads.AdsShowCallBack
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.bean.WhatsappUIBean.Companion.createWhatsappQrString
import
com.base.scanqrclear.databinding.DialogWhastsppBinding
import
com.base.scanqrclear.databinding.DialogWhastsppBinding
...
@@ -20,6 +21,7 @@ import com.base.scanqrclear.qr.QrStyleActivity
...
@@ -20,6 +21,7 @@ import com.base.scanqrclear.qr.QrStyleActivity
import
com.base.scanqrclear.utils.ActivityLauncher
import
com.base.scanqrclear.utils.ActivityLauncher
import
com.base.scanqrclear.utils.AppPreferences
import
com.base.scanqrclear.utils.AppPreferences
import
com.base.scanqrclear.utils.LogEx
import
com.base.scanqrclear.utils.LogEx
import
com.google.gson.Gson
object
WhatsappDialog
{
object
WhatsappDialog
{
...
@@ -83,7 +85,8 @@ object WhatsappDialog {
...
@@ -83,7 +85,8 @@ object WhatsappDialog {
val
bean
=
WhatsappUIBean
(
phone
)
val
bean
=
WhatsappUIBean
(
phone
)
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
putExtra
(
"qrString"
,
bean
.
createWhatsappQrString
())
putExtra
(
"data"
,
Gson
().
toJson
(
bean
))
putExtra
(
"key"
,
KEY_WHATSAPP
)
})
})
}
}
...
...
app/src/main/java/com/base/scanqrclear/ui/widget/HintDialog.kt
0 → 100644
View file @
3fd02b8f
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
app/src/main/java/com/base/scanqrclear/ui/widget/LogDialog.kt
View file @
3fd02b8f
...
@@ -50,7 +50,7 @@ object LogDialog {
...
@@ -50,7 +50,7 @@ object LogDialog {
MyApplication
.
appContext
.
initRemoteConfig
()
MyApplication
.
appContext
.
initRemoteConfig
()
MainScope
().
launch
{
MainScope
().
launch
{
delay
(
2
000
)
delay
(
5
000
)
binding
.
tvLog
.
text
=
logFun
()
binding
.
tvLog
.
text
=
logFun
()
}
}
}
}
...
@@ -59,7 +59,7 @@ object LogDialog {
...
@@ -59,7 +59,7 @@ object LogDialog {
MyApplication
.
appContext
.
initRemoteConfig
()
MyApplication
.
appContext
.
initRemoteConfig
()
MainScope
().
launch
{
MainScope
().
launch
{
delay
(
2
000
)
delay
(
5
000
)
binding
.
tvLog
.
text
=
logFun
()
binding
.
tvLog
.
text
=
logFun
()
}
}
}
}
...
@@ -69,7 +69,7 @@ object LogDialog {
...
@@ -69,7 +69,7 @@ object LogDialog {
MyApplication
.
appContext
.
initRemoteConfig
()
MyApplication
.
appContext
.
initRemoteConfig
()
MainScope
().
launch
{
MainScope
().
launch
{
delay
(
2
000
)
delay
(
5
000
)
binding
.
tvLog
.
text
=
logFun
()
binding
.
tvLog
.
text
=
logFun
()
}
}
}
}
...
@@ -78,7 +78,7 @@ object LogDialog {
...
@@ -78,7 +78,7 @@ object LogDialog {
MyApplication
.
appContext
.
initRemoteConfig
()
MyApplication
.
appContext
.
initRemoteConfig
()
MainScope
().
launch
{
MainScope
().
launch
{
delay
(
2
000
)
delay
(
5
000
)
binding
.
tvLog
.
text
=
logFun
()
binding
.
tvLog
.
text
=
logFun
()
}
}
}
}
...
...
app/src/main/java/com/base/scanqrclear/ui/xqr/XDialog.kt
View file @
3fd02b8f
...
@@ -11,10 +11,12 @@ import androidx.core.widget.addTextChangedListener
...
@@ -11,10 +11,12 @@ import androidx.core.widget.addTextChangedListener
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.ads.AdsShowCallBack
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.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
object
XDialog
{
object
XDialog
{
...
@@ -66,7 +68,8 @@ object XDialog {
...
@@ -66,7 +68,8 @@ object XDialog {
val
bean
=
XUIBean
(
content
)
val
bean
=
XUIBean
(
content
)
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
putExtra
(
"qrString"
,
bean
.
createXUIBeanQrString
())
putExtra
(
"data"
,
Gson
().
toJson
(
bean
))
putExtra
(
"key"
,
KEY_X
)
})
})
}
}
...
...
app/src/main/java/com/base/scanqrclear/ui/youtubeqr/YoutubeDialog.kt
View file @
3fd02b8f
...
@@ -11,10 +11,12 @@ import androidx.core.widget.addTextChangedListener
...
@@ -11,10 +11,12 @@ import androidx.core.widget.addTextChangedListener
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.ads.AdsShowCallBack
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.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
object
YoutubeDialog
{
object
YoutubeDialog
{
...
@@ -69,7 +71,8 @@ object YoutubeDialog {
...
@@ -69,7 +71,8 @@ object YoutubeDialog {
val
bean
=
if
(
isVOrChannel
)
YoutubeUIBean
(
v
=
content
)
else
YoutubeUIBean
(
channel
=
content
)
val
bean
=
if
(
isVOrChannel
)
YoutubeUIBean
(
v
=
content
)
else
YoutubeUIBean
(
channel
=
content
)
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
putExtra
(
"qrString"
,
bean
.
createYoutubeQrString
())
putExtra
(
"data"
,
Gson
().
toJson
(
bean
))
putExtra
(
"key"
,
KEY_YOUTUBE
)
})
})
}
}
...
...
app/src/main/res/layout/activity_qr_style_result.xml
View file @
3fd02b8f
...
@@ -44,6 +44,37 @@
...
@@ -44,6 +44,37 @@
</androidx.constraintlayout.widget.ConstraintLayout>
</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
<androidx.cardview.widget.CardView
android:layout_width=
"265dp"
android:layout_width=
"265dp"
android:layout_height=
"265dp"
android:layout_height=
"265dp"
...
@@ -54,6 +85,7 @@
...
@@ -54,6 +85,7 @@
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/clTop"
app:layout_constraintTop_toBottomOf=
"@id/clTop"
app:layout_constraintVertical_bias=
"0.65"
tools:ignore=
"ContentDescription"
>
tools:ignore=
"ContentDescription"
>
<ImageView
<ImageView
...
@@ -110,6 +142,7 @@
...
@@ -110,6 +142,7 @@
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:layout_weight=
"1"
android:orientation=
"vertical"
android:orientation=
"vertical"
android:visibility=
"gone"
tools:ignore=
"UseCompoundDrawables"
>
tools:ignore=
"UseCompoundDrawables"
>
<ImageView
<ImageView
...
@@ -160,6 +193,7 @@
...
@@ -160,6 +193,7 @@
</LinearLayout>
</LinearLayout>
<LinearLayout
<LinearLayout
android:id=
"@+id/llDelete"
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"
...
...
app/src/main/res/layout/dialog_hint.xml
0 → 100644
View file @
3fd02b8f
<?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
app/src/main/res/values/strings.xml
View file @
3fd02b8f
...
@@ -289,5 +289,6 @@
...
@@ -289,5 +289,6 @@
<string
name=
"banknote_scan"
>
Banknote Scan
</string>
<string
name=
"banknote_scan"
>
Banknote Scan
</string>
<string
name=
"document_scan"
>
Document Scan
</string>
<string
name=
"document_scan"
>
Document Scan
</string>
<string
name=
"business_card"
>
Business card
</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>
</resources>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment