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
d40c2db8
Commit
d40c2db8
authored
Feb 25, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
b2c901d9
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
257 additions
and
36 deletions
+257
-36
QrStyleResultActivity.kt
...ain/java/com/base/scanqrclear/qr/QrStyleResultActivity.kt
+115
-5
AddressDialog.kt
...n/java/com/base/scanqrclear/ui/addressqr/AddressDialog.kt
+8
-4
FacebookDialog.kt
...java/com/base/scanqrclear/ui/facebookqr/FacebookDialog.kt
+8
-3
InstagramDialog.kt
...ain/java/com/base/scanqrclear/ui/insqr/InstagramDialog.kt
+9
-3
PaypalDialog.kt
...ain/java/com/base/scanqrclear/ui/paypalqr/PaypalDialog.kt
+9
-4
SpotifyDialog.kt
...n/java/com/base/scanqrclear/ui/spotifyqr/SpotifyDialog.kt
+8
-4
QrViewModel.kt
app/src/main/java/com/base/scanqrclear/ui/vm/QrViewModel.kt
+72
-0
WhatsappDialog.kt
...java/com/base/scanqrclear/ui/whatsappqr/WhatsappDialog.kt
+9
-6
XDialog.kt
app/src/main/java/com/base/scanqrclear/ui/xqr/XDialog.kt
+9
-3
YoutubeDialog.kt
...n/java/com/base/scanqrclear/ui/youtubeqr/YoutubeDialog.kt
+9
-4
activity_qr_style_result.xml
app/src/main/res/layout/activity_qr_style_result.xml
+1
-0
No files found.
app/src/main/java/com/base/scanqrclear/qr/QrStyleResultActivity.kt
View file @
d40c2db8
...
...
@@ -5,11 +5,12 @@ import android.graphics.Bitmap
import
android.graphics.Color
import
android.graphics.Point
import
android.graphics.drawable.Drawable
import
android.util.Log
import
androidx.activity.addCallback
import
androidx.core.view.updatePadding
import
androidx.lifecycle.ViewModelProvider
import
com.base.scanqrclear.R
import
com.base.scanqrclear.ads.AdsMgr
import
com.base.scanqrclear.ads.AdsShowCallBack
import
com.base.scanqrclear.base.BaseActivity
import
com.base.scanqrclear.bean.AddressUIBean
import
com.base.scanqrclear.bean.AddressUIBean.Companion.createAddressUIBeanQrString
...
...
@@ -37,11 +38,23 @@ 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.bean.config.AdConfigBean
import
com.base.scanqrclear.databinding.ActivityQrStyleResultBinding
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.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.BitmapUtils.saveBitmapToFile
import
com.base.scanqrclear.utils.IntentUtils.intentShareImage
import
com.base.scanqrclear.utils.LogEx
import
com.base.scanqrclear.utils.SpJsonUtils
import
com.bumptech.glide.Glide
...
...
@@ -58,6 +71,10 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit
private
var
qrString
=
""
private
var
tempImagePath
:
String
=
""
private
val
viewModel
by
lazy
(
LazyThreadSafetyMode
.
NONE
)
{
ViewModelProvider
(
this
)[
QrViewModel
::
class
.
java
]
}
override
fun
initView
()
{
super
.
initView
()
binding
.
clTop
.
updatePadding
(
top
=
BarUtils
.
getStatusBarHeight
())
...
...
@@ -118,8 +135,7 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit
override
fun
onResourceReady
(
resource
:
Bitmap
,
transition
:
Transition
<
in
Bitmap
>?)
{
// 在这里获取到 Bitmap
processBitmap
(
resource
,
bean
)
//创建临时图片
createTempImageFile
(
resource
)
}
override
fun
onLoadCleared
(
placeholder
:
Drawable
?)
{
...
...
@@ -336,9 +352,14 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit
binding
.
iv
.
setImageBitmap
(
qrBitmap
)
}
qrBitmap
?.
let
{
//创建临时图片
createTempImageFile
(
it
)
}
}.
start
()
fun
createTempImageFile
(
bitmap
:
Bitmap
)
=
Thread
{
private
fun
createTempImageFile
(
bitmap
:
Bitmap
)
=
Thread
{
val
file
=
File
(
cacheDir
,
System
.
currentTimeMillis
().
toString
()
+
".jpg"
)
val
flag
=
saveBitmapToFile
(
bitmap
,
file
.
absolutePath
)
if
(
flag
)
{
...
...
@@ -355,7 +376,10 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit
onBackPressedDispatcher
.
onBackPressed
()
}
binding
.
llDelete
.
setOnClickListener
{
showHintDialog
{
}
showHintDialog
{
viewModel
.
deleteScanBean
(
key
,
scanBean
)
finishToMainTop
()
}
}
binding
.
llReplaceStyle
.
setOnClickListener
{
startActivity
(
Intent
(
this
,
QrStyleActivity
::
class
.
java
).
apply
{
...
...
@@ -365,7 +389,93 @@ class QrStyleResultActivity : BaseActivity<ActivityQrStyleResultBinding>(Activit
})
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
()
{
immersionBar
{
...
...
app/src/main/java/com/base/scanqrclear/ui/addressqr/AddressDialog.kt
View file @
d40c2db8
...
...
@@ -12,7 +12,6 @@ import com.base.scanqrclear.R
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
...
...
@@ -20,7 +19,9 @@ import com.google.gson.Gson
object
AddressDialog
{
fun
Activity
.
showAddressDialog
()
{
fun
Activity
.
showAddressDialog
(
dismissAction
:
((
flag
:
Boolean
)
->
Unit
)?
=
null
)
{
val
dialog
=
AlertDialog
.
Builder
(
this
).
create
()
val
binding
=
DialogAddressBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
dialog
.
setView
(
binding
.
root
)
...
...
@@ -62,9 +63,9 @@ object AddressDialog {
putExtra
(
"key"
,
KEY_ADDRESS
)
})
}
var
dismissFlag
=
false
binding
.
tvBtn
.
setOnClickListener
{
dismissFlag
=
true
AdsMgr
.
showInsert
(
this
,
false
,
object
:
AdsShowCallBack
()
{
override
fun
close
(
where
:
Int
)
{
jump
.
invoke
()
...
...
@@ -81,6 +82,9 @@ object AddressDialog {
}
dialog
.
setOnDismissListener
{
dismissAction
?.
invoke
(
dismissFlag
)
}
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqrclear/ui/facebookqr/FacebookDialog.kt
View file @
d40c2db8
...
...
@@ -12,7 +12,6 @@ import com.base.scanqrclear.R
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
...
...
@@ -21,7 +20,9 @@ import com.google.gson.Gson
object
FacebookDialog
{
fun
Activity
.
showFacebookDialog
()
{
fun
Activity
.
showFacebookDialog
(
dismissAction
:
((
flag
:
Boolean
)
->
Unit
)?
=
null
)
{
val
dialog
=
AlertDialog
.
Builder
(
this
).
create
()
val
binding
=
DialogFacebookBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
...
...
@@ -74,8 +75,9 @@ object FacebookDialog {
})
}
var
dismissFlag
=
false
binding
.
tvBtn
.
setOnClickListener
{
dismissFlag
=
true
AdsMgr
.
showInsert
(
this
,
false
,
object
:
AdsShowCallBack
()
{
override
fun
close
(
where
:
Int
)
{
jump
.
invoke
()
...
...
@@ -91,6 +93,9 @@ object FacebookDialog {
})
}
dialog
.
setOnDismissListener
{
dismissAction
?.
invoke
(
dismissFlag
)
}
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqrclear/ui/insqr/InstagramDialog.kt
View file @
d40c2db8
...
...
@@ -13,14 +13,15 @@ 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
{
fun
Activity
.
showInstagramDialog
()
{
fun
Activity
.
showInstagramDialog
(
dismissAction
:
((
flag
:
Boolean
)
->
Unit
)?
=
null
)
{
val
dialog
=
AlertDialog
.
Builder
(
this
).
create
()
val
binding
=
DialogFacebookBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
...
...
@@ -73,8 +74,9 @@ object InstagramDialog {
})
}
var
dismissFlag
=
false
binding
.
tvBtn
.
setOnClickListener
{
dismissFlag
=
true
AdsMgr
.
showInsert
(
this
,
false
,
object
:
AdsShowCallBack
()
{
override
fun
close
(
where
:
Int
)
{
jump
.
invoke
()
...
...
@@ -90,5 +92,9 @@ object InstagramDialog {
})
}
dialog
?.
setOnDismissListener
{
dismissAction
?.
invoke
(
dismissFlag
)
}
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqrclear/ui/paypalqr/PaypalDialog.kt
View file @
d40c2db8
...
...
@@ -13,14 +13,15 @@ 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
{
fun
Activity
.
showPaypalDialog
()
{
fun
Activity
.
showPaypalDialog
(
dismissAction
:
((
flag
:
Boolean
)
->
Unit
)?
=
null
)
{
val
dialog
=
AlertDialog
.
Builder
(
this
).
create
()
val
binding
=
DialogPaypalBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
...
...
@@ -72,9 +73,9 @@ object PaypalDialog {
putExtra
(
"key"
,
KEY_PAYPAL
)
})
}
var
dismissFlag
=
false
binding
.
tvBtn
.
setOnClickListener
{
dismissFlag
=
true
AdsMgr
.
showInsert
(
this
,
false
,
object
:
AdsShowCallBack
()
{
override
fun
close
(
where
:
Int
)
{
jump
.
invoke
()
...
...
@@ -91,6 +92,10 @@ object PaypalDialog {
}
dialog
.
setOnDismissListener
{
dismissAction
?.
invoke
(
dismissFlag
)
}
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqrclear/ui/spotifyqr/SpotifyDialog.kt
View file @
d40c2db8
...
...
@@ -13,14 +13,15 @@ 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
{
fun
Activity
.
showSpotifyDialog
()
{
fun
Activity
.
showSpotifyDialog
(
dismissAction
:
((
flag
:
Boolean
)
->
Unit
)?
=
null
)
{
val
dialog
=
AlertDialog
.
Builder
(
this
).
create
()
val
binding
=
DialogSpotifyBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
dialog
.
setView
(
binding
.
root
)
...
...
@@ -62,9 +63,9 @@ object SpotifyDialog {
putExtra
(
"key"
,
KEY_SPOTIFY
)
})
}
var
dismissFlag
=
false
binding
.
tvBtn
.
setOnClickListener
{
dismissFlag
=
true
AdsMgr
.
showInsert
(
this
,
false
,
object
:
AdsShowCallBack
()
{
override
fun
close
(
where
:
Int
)
{
jump
.
invoke
()
...
...
@@ -80,6 +81,9 @@ object SpotifyDialog {
})
}
dialog
.
setOnDismissListener
{
dismissAction
?.
invoke
(
dismissFlag
)
}
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqrclear/ui/vm/QrViewModel.kt
View file @
d40c2db8
...
...
@@ -5,6 +5,24 @@ import android.os.Environment
import
androidx.lifecycle.ViewModel
import
androidx.lifecycle.viewModelScope
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
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.launch
...
...
@@ -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
app/src/main/java/com/base/scanqrclear/ui/whatsappqr/WhatsappDialog.kt
View file @
d40c2db8
...
...
@@ -15,7 +15,6 @@ 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
import
com.base.scanqrclear.qr.QrStyleActivity
import
com.base.scanqrclear.utils.ActivityLauncher
...
...
@@ -29,8 +28,10 @@ object WhatsappDialog {
private
val
TAG
=
"WhatsappDialog"
@SuppressLint
(
"SetTextI18n"
)
fun
Activity
.
showWhatsappDialog
(
launcher
:
ActivityLauncher
)
{
fun
Activity
.
showWhatsappDialog
(
launcher
:
ActivityLauncher
,
dismissAction
:
((
dismissFlag
:
Boolean
)
->
Unit
)?
=
null
)
{
val
dialog
=
AlertDialog
.
Builder
(
this
).
create
()
val
binding
=
DialogWhastsppBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
...
...
@@ -89,9 +90,9 @@ object WhatsappDialog {
putExtra
(
"key"
,
KEY_WHATSAPP
)
})
}
var
dismissFlag
:
Boolean
=
false
binding
.
tvBtn
.
setOnClickListener
{
dismissFlag
=
true
AdsMgr
.
showInsert
(
this
,
false
,
object
:
AdsShowCallBack
()
{
override
fun
close
(
where
:
Int
)
{
jump
.
invoke
()
...
...
@@ -106,9 +107,11 @@ object WhatsappDialog {
}
})
}
dialog
?.
setOnDismissListener
{
dismissAction
?.
invoke
(
dismissFlag
)
}
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqrclear/ui/xqr/XDialog.kt
View file @
d40c2db8
...
...
@@ -13,14 +13,15 @@ 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
{
fun
Activity
.
showXDialog
()
{
fun
Activity
.
showXDialog
(
dismissAction
:
((
flag
:
Boolean
)
->
Unit
)?
=
null
)
{
val
dialog
=
AlertDialog
.
Builder
(
this
).
create
()
val
binding
=
DialogXBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
...
...
@@ -73,8 +74,9 @@ object XDialog {
})
}
var
dismissFlag
=
false
binding
.
tvBtn
.
setOnClickListener
{
dismissFlag
=
true
AdsMgr
.
showInsert
(
this
,
false
,
object
:
AdsShowCallBack
()
{
override
fun
close
(
where
:
Int
)
{
jump
.
invoke
()
...
...
@@ -91,5 +93,9 @@ object XDialog {
}
dialog
.
setOnDismissListener
{
dismissAction
?.
invoke
(
dismissFlag
)
}
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqrclear/ui/youtubeqr/YoutubeDialog.kt
View file @
d40c2db8
...
...
@@ -13,14 +13,15 @@ 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
{
fun
Activity
.
showYoutubeDialog
()
{
fun
Activity
.
showYoutubeDialog
(
dismissAction
:
((
flag
:
Boolean
)
->
Unit
)?
=
null
)
{
val
dialog
=
AlertDialog
.
Builder
(
this
).
create
()
val
binding
=
DialogYoutubeBinding
.
inflate
(
LayoutInflater
.
from
(
this
))
...
...
@@ -76,9 +77,9 @@ object YoutubeDialog {
})
}
var
dismissFlag
:
Boolean
=
false
binding
.
tvBtn
.
setOnClickListener
{
dismissFlag
=
true
AdsMgr
.
showInsert
(
this
,
false
,
object
:
AdsShowCallBack
()
{
override
fun
close
(
where
:
Int
)
{
jump
.
invoke
()
...
...
@@ -95,5 +96,9 @@ object YoutubeDialog {
}
dialog
.
setOnDismissListener
{
dismissAction
?.
invoke
(
dismissFlag
)
}
}
}
\ No newline at end of file
app/src/main/res/layout/activity_qr_style_result.xml
View file @
d40c2db8
...
...
@@ -167,6 +167,7 @@
</LinearLayout>
<LinearLayout
android:id=
"@+id/llRegenerate"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
...
...
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