Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
S
Scan QR Code Barcode Reader
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
Scan QR Code Barcode Reader
Commits
b5cc1dbc
Commit
b5cc1dbc
authored
Jan 10, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
d6a1ce42
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
165 additions
and
56 deletions
+165
-56
FunctionUIBean.kt
app/src/main/java/com/base/scanqr/bean/FunctionUIBean.kt
+5
-1
ContractActivity.kt
.../main/java/com/base/scanqr/ui/contact/ContractActivity.kt
+1
-1
EmailActivity.kt
app/src/main/java/com/base/scanqr/ui/email/EmailActivity.kt
+1
-1
EventActivity.kt
app/src/main/java/com/base/scanqr/ui/event/EventActivity.kt
+1
-1
CreateFragment.kt
app/src/main/java/com/base/scanqr/ui/main/CreateFragment.kt
+29
-13
FunctionAdapter.kt
app/src/main/java/com/base/scanqr/ui/main/FunctionAdapter.kt
+57
-0
MainActivity.kt
app/src/main/java/com/base/scanqr/ui/main/MainActivity.kt
+7
-2
MessageActivity.kt
...c/main/java/com/base/scanqr/ui/message/MessageActivity.kt
+1
-1
TelephoneActivity.kt
...in/java/com/base/scanqr/ui/telephone/TelephoneActivity.kt
+1
-1
TextActivity.kt
app/src/main/java/com/base/scanqr/ui/text/TextActivity.kt
+1
-1
WebsiteActivity.kt
...c/main/java/com/base/scanqr/ui/website/WebsiteActivity.kt
+1
-1
WifiActivity.kt
app/src/main/java/com/base/scanqr/ui/wifi/WifiActivity.kt
+3
-3
WifiCodeActivity.kt
...src/main/java/com/base/scanqr/ui/wifi/WifiCodeActivity.kt
+0
-1
bg_ffffff_20.xml
app/src/main/res/drawable/bg_ffffff_20.xml
+6
-0
bg_stroke_e4e4e4_20.xml
app/src/main/res/drawable/bg_stroke_e4e4e4_20.xml
+6
-2
item_function.xml
app/src/main/res/layout/item_function.xml
+45
-27
guide_dian.gif
app/src/main/res/mipmap-xxhdpi/guide_dian.gif
+0
-0
No files found.
app/src/main/java/com/base/scanqr/bean/FunctionUIBean.kt
View file @
b5cc1dbc
package
com.base.scanqr.bean
package
com.base.scanqr.bean
import
com.base.scanqr.utils.AppPreferences
class
FunctionUIBean
(
class
FunctionUIBean
(
val
key
:
String
=
""
,
val
key
:
String
=
""
,
val
icon
:
Int
=
0
,
val
icon
:
Int
=
0
,
val
desc
:
String
=
""
val
desc
:
String
=
""
,
var
showGuide
:
Boolean
=
AppPreferences
.
getInstance
().
getBoolean
(
"${key}_guide"
,
true
)
)
{
)
{
var
isPlaying
:
Boolean
=
false
companion
object
{
companion
object
{
const
val
KEY_WIFI
=
"key_wifi"
const
val
KEY_WIFI
=
"key_wifi"
...
...
app/src/main/java/com/base/scanqr/ui/contact/ContractActivity.kt
View file @
b5cc1dbc
...
@@ -105,7 +105,7 @@ class ContractActivity : BaseActivity<ActivityContractBinding>(ActivityContractB
...
@@ -105,7 +105,7 @@ class ContractActivity : BaseActivity<ActivityContractBinding>(ActivityContractB
return
@setOnClickListener
return
@setOnClickListener
}
}
if
(
AdConfigBean
.
adsConfigBean
.
functionUseShowAd
)
{
if
(
AdConfigBean
.
adsConfigBean
.
functionUseShowAd
)
{
AdsMgr
.
showInsert
(
this
,
fals
e
,
object
:
AdsShowCallBack
()
{
AdsMgr
.
showInsert
(
this
,
tru
e
,
object
:
AdsShowCallBack
()
{
override
fun
close
(
where
:
Int
)
{
override
fun
close
(
where
:
Int
)
{
jumpCodeActivity
()
jumpCodeActivity
()
}
}
...
...
app/src/main/java/com/base/scanqr/ui/email/EmailActivity.kt
View file @
b5cc1dbc
...
@@ -73,7 +73,7 @@ class EmailActivity : BaseActivity<ActivityEmailBinding>(ActivityEmailBinding::i
...
@@ -73,7 +73,7 @@ class EmailActivity : BaseActivity<ActivityEmailBinding>(ActivityEmailBinding::i
email
.
message
=
binding
.
editMessage
.
text
.
toString
()
email
.
message
=
binding
.
editMessage
.
text
.
toString
()
val
activity
=
this
val
activity
=
this
if
(
AdConfigBean
.
adsConfigBean
.
functionUseShowAd
)
{
if
(
AdConfigBean
.
adsConfigBean
.
functionUseShowAd
)
{
AdsMgr
.
showInsert
(
activity
,
fals
e
,
object
:
AdsShowCallBack
()
{
AdsMgr
.
showInsert
(
activity
,
tru
e
,
object
:
AdsShowCallBack
()
{
override
fun
close
(
where
:
Int
)
{
override
fun
close
(
where
:
Int
)
{
jumpCodeActivity
()
jumpCodeActivity
()
}
}
...
...
app/src/main/java/com/base/scanqr/ui/event/EventActivity.kt
View file @
b5cc1dbc
...
@@ -201,7 +201,7 @@ class EventActivity : BaseActivity<ActivityEventBinding>(ActivityEventBinding::i
...
@@ -201,7 +201,7 @@ class EventActivity : BaseActivity<ActivityEventBinding>(ActivityEventBinding::i
}
}
if
(
AdConfigBean
.
adsConfigBean
.
functionUseShowAd
)
{
if
(
AdConfigBean
.
adsConfigBean
.
functionUseShowAd
)
{
AdsMgr
.
showInsert
(
this
,
fals
e
,
object
:
AdsShowCallBack
()
{
AdsMgr
.
showInsert
(
this
,
tru
e
,
object
:
AdsShowCallBack
()
{
override
fun
close
(
where
:
Int
)
{
override
fun
close
(
where
:
Int
)
{
jumpCodeActivity
()
jumpCodeActivity
()
}
}
...
...
app/src/main/java/com/base/scanqr/ui/main/CreateFragment.kt
View file @
b5cc1dbc
package
com.base.scanqr.ui.main
package
com.base.scanqr.ui.main
import
android.annotation.SuppressLint
import
android.content.Intent
import
android.content.Intent
import
androidx.core.view.updatePadding
import
androidx.core.view.updatePadding
import
androidx.recyclerview.widget.GridLayoutManager
import
androidx.recyclerview.widget.GridLayoutManager
...
@@ -31,6 +32,7 @@ import com.base.scanqr.ui.wifi.WifiActivity
...
@@ -31,6 +32,7 @@ import com.base.scanqr.ui.wifi.WifiActivity
import
com.base.scanqr.utils.AppPreferences
import
com.base.scanqr.utils.AppPreferences
import
com.base.scanqr.utils.BarUtils
import
com.base.scanqr.utils.BarUtils
import
com.base.scanqr.utils.ClickTimesUtils.isContinuousTimesClick
import
com.base.scanqr.utils.ClickTimesUtils.isContinuousTimesClick
import
com.base.scanqr.utils.LogEx
import
com.google.gson.Gson
import
com.google.gson.Gson
import
com.gyf.immersionbar.ktx.immersionBar
import
com.gyf.immersionbar.ktx.immersionBar
...
@@ -38,6 +40,20 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
...
@@ -38,6 +40,20 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
private
var
adapter
:
FunctionAdapter
?
=
null
private
var
adapter
:
FunctionAdapter
?
=
null
private
val
functions
by
lazy
(
LazyThreadSafetyMode
.
NONE
)
{
listOf
(
FunctionUIBean
(
KEY_WIFI
,
R
.
mipmap
.
h_wifi
,
resources
.
getString
(
R
.
string
.
wifi
)),
FunctionUIBean
(
KEY_TEXT
,
R
.
mipmap
.
h_text
,
resources
.
getString
(
R
.
string
.
text
)),
FunctionUIBean
(
KEY_EMAIL
,
R
.
mipmap
.
h_email
,
resources
.
getString
(
R
.
string
.
email
)),
FunctionUIBean
(
KEY_WEBSITE
,
R
.
mipmap
.
h_website
,
resources
.
getString
(
R
.
string
.
website
)),
FunctionUIBean
(
KEY_EVENT
,
R
.
mipmap
.
h_event
,
resources
.
getString
(
R
.
string
.
event
)),
FunctionUIBean
(
KEY_CONTACT
,
R
.
mipmap
.
h_contact
,
resources
.
getString
(
R
.
string
.
contact
)),
// FunctionUIBean(KEY_LOCATION, R.mipmap.h_loction, resources.getString(R.string.location)),
FunctionUIBean
(
KEY_TELEPHONE
,
R
.
mipmap
.
h_telephone
,
resources
.
getString
(
R
.
string
.
telephone
)),
FunctionUIBean
(
KEY_MESSAGE
,
R
.
mipmap
.
h_message
,
resources
.
getString
(
R
.
string
.
message
)),
)
}
override
fun
initView
()
{
override
fun
initView
()
{
super
.
initView
()
super
.
initView
()
binding
.
tvTitle
.
updatePadding
(
top
=
BarUtils
.
getStatusBarHeight
())
binding
.
tvTitle
.
updatePadding
(
top
=
BarUtils
.
getStatusBarHeight
())
...
@@ -45,19 +61,7 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
...
@@ -45,19 +61,7 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
adapter
=
FunctionAdapter
()
adapter
=
FunctionAdapter
()
binding
.
rv
.
layoutManager
=
GridLayoutManager
(
requireContext
(),
3
)
binding
.
rv
.
layoutManager
=
GridLayoutManager
(
requireContext
(),
3
)
binding
.
rv
.
adapter
=
adapter
binding
.
rv
.
adapter
=
adapter
adapter
?.
submitList
(
adapter
?.
submitList
(
functions
)
listOf
(
FunctionUIBean
(
KEY_WIFI
,
R
.
mipmap
.
h_wifi
,
resources
.
getString
(
R
.
string
.
wifi
)),
FunctionUIBean
(
KEY_TEXT
,
R
.
mipmap
.
h_text
,
resources
.
getString
(
R
.
string
.
text
)),
FunctionUIBean
(
KEY_EMAIL
,
R
.
mipmap
.
h_email
,
resources
.
getString
(
R
.
string
.
email
)),
FunctionUIBean
(
KEY_WEBSITE
,
R
.
mipmap
.
h_website
,
resources
.
getString
(
R
.
string
.
website
)),
FunctionUIBean
(
KEY_EVENT
,
R
.
mipmap
.
h_event
,
resources
.
getString
(
R
.
string
.
event
)),
FunctionUIBean
(
KEY_CONTACT
,
R
.
mipmap
.
h_contact
,
resources
.
getString
(
R
.
string
.
contact
)),
// FunctionUIBean(KEY_LOCATION, R.mipmap.h_loction, resources.getString(R.string.location)),
FunctionUIBean
(
KEY_TELEPHONE
,
R
.
mipmap
.
h_telephone
,
resources
.
getString
(
R
.
string
.
telephone
)),
FunctionUIBean
(
KEY_MESSAGE
,
R
.
mipmap
.
h_message
,
resources
.
getString
(
R
.
string
.
message
)),
)
)
adapter
?.
itemClick
=
{
key
->
adapter
?.
itemClick
=
{
key
->
val
activity
=
requireActivity
()
as
MainActivity
?
val
activity
=
requireActivity
()
as
MainActivity
?
activity
?.
let
{
activity
?.
let
{
...
@@ -83,7 +87,13 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
...
@@ -83,7 +87,13 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
}
}
}
}
@SuppressLint
(
"NotifyDataSetChanged"
)
private
fun
itemKeyClick
(
key
:
String
)
{
private
fun
itemKeyClick
(
key
:
String
)
{
val
bean
=
functions
.
find
{
it
.
key
==
key
}
if
(
bean
?.
isPlaying
==
true
)
{
bean
.
showGuide
=
false
AppPreferences
.
getInstance
().
put
(
"${key}_guide"
,
false
)
}
when
(
key
)
{
when
(
key
)
{
KEY_WIFI
->
{
KEY_WIFI
->
{
startActivity
(
Intent
(
requireContext
(),
WifiActivity
::
class
.
java
))
startActivity
(
Intent
(
requireContext
(),
WifiActivity
::
class
.
java
))
...
@@ -119,6 +129,12 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
...
@@ -119,6 +129,12 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
}
}
}
}
@SuppressLint
(
"NotifyDataSetChanged"
)
override
fun
onResumeOneShoot
()
{
super
.
onResumeOneShoot
()
adapter
?.
changeGuide
()
}
override
fun
onResume
()
{
override
fun
onResume
()
{
super
.
onResume
()
super
.
onResume
()
immersionBar
{
immersionBar
{
...
...
app/src/main/java/com/base/scanqr/ui/main/FunctionAdapter.kt
View file @
b5cc1dbc
package
com.base.scanqr.ui.main
package
com.base.scanqr.ui.main
import
android.animation.AnimatorSet
import
android.animation.ObjectAnimator
import
android.annotation.SuppressLint
import
android.content.Context
import
android.content.Context
import
android.view.View
import
android.view.ViewGroup
import
android.view.ViewGroup
import
android.view.animation.AccelerateDecelerateInterpolator
import
com.base.scanqr.R
import
com.base.scanqr.R
import
com.base.scanqr.bean.FunctionUIBean
import
com.base.scanqr.bean.FunctionUIBean
import
com.base.scanqr.databinding.ItemFunctionBinding
import
com.base.scanqr.databinding.ItemFunctionBinding
import
com.base.scanqr.ui.adapter.CommonViewHolder
import
com.base.scanqr.ui.adapter.CommonViewHolder
import
com.base.scanqr.utils.AppPreferences
import
com.base.scanqr.utils.LogEx
import
com.base.scanqr.utils.XmlEx.inflate
import
com.base.scanqr.utils.XmlEx.inflate
import
com.chad.library.adapter4.BaseQuickAdapter
import
com.chad.library.adapter4.BaseQuickAdapter
class
FunctionAdapter
:
BaseQuickAdapter
<
FunctionUIBean
,
CommonViewHolder
>()
{
class
FunctionAdapter
:
BaseQuickAdapter
<
FunctionUIBean
,
CommonViewHolder
>()
{
private
val
TAG
=
"FunctionAdapter"
var
itemClick
:
((
key
:
String
)
->
Unit
)?
=
null
var
itemClick
:
((
key
:
String
)
->
Unit
)?
=
null
var
isGuide
:
Boolean
=
false
override
fun
onBindViewHolder
(
holder
:
CommonViewHolder
,
position
:
Int
,
item
:
FunctionUIBean
?)
{
override
fun
onBindViewHolder
(
holder
:
CommonViewHolder
,
position
:
Int
,
item
:
FunctionUIBean
?)
{
item
?:
return
item
?:
return
val
binding
=
ItemFunctionBinding
.
bind
(
holder
.
itemView
)
val
binding
=
ItemFunctionBinding
.
bind
(
holder
.
itemView
)
binding
.
iv
.
setImageResource
(
item
.
icon
)
binding
.
iv
.
setImageResource
(
item
.
icon
)
binding
.
tvDesc
.
text
=
item
.
desc
binding
.
tvDesc
.
text
=
item
.
desc
kotlin
.
runCatching
{
if
(
binding
.
fl
.
tag
is
AnimatorSet
)
{
(
binding
.
fl
.
tag
as
AnimatorSet
).
cancel
()
LogEx
.
logDebug
(
TAG
,
"AnimatorSet cancel"
)
}
}
LogEx
.
logDebug
(
TAG
,
"isGuide=$isGuide showGuide=${item.showGuide} isPlaying=${item.isPlaying}"
)
if
(!
isGuide
)
{
if
(
item
.
showGuide
)
{
isGuide
=
true
item
.
isPlaying
=
true
showHeartAnimation
(
binding
.
fl
)
}
}
binding
.
root
.
setOnClickListener
{
binding
.
root
.
setOnClickListener
{
itemClick
?.
invoke
(
item
.
key
)
itemClick
?.
invoke
(
item
.
key
)
}
}
...
@@ -26,4 +51,36 @@ class FunctionAdapter : BaseQuickAdapter<FunctionUIBean, CommonViewHolder>() {
...
@@ -26,4 +51,36 @@ class FunctionAdapter : BaseQuickAdapter<FunctionUIBean, CommonViewHolder>() {
override
fun
onCreateViewHolder
(
context
:
Context
,
parent
:
ViewGroup
,
viewType
:
Int
):
CommonViewHolder
{
override
fun
onCreateViewHolder
(
context
:
Context
,
parent
:
ViewGroup
,
viewType
:
Int
):
CommonViewHolder
{
return
CommonViewHolder
(
R
.
layout
.
item_function
.
inflate
(
parent
))
return
CommonViewHolder
(
R
.
layout
.
item_function
.
inflate
(
parent
))
}
}
private
fun
showHeartAnimation
(
view
:
View
):
AnimatorSet
{
val
scaleXAnimator
=
ObjectAnimator
.
ofFloat
(
view
,
"scaleX"
,
1f
,
0.75f
,
1f
)
val
scaleYAnimator
=
ObjectAnimator
.
ofFloat
(
view
,
"scaleY"
,
1f
,
0.75f
,
1f
)
scaleXAnimator
.
duration
=
800
// 动画持续时间,可根据需要调整
scaleYAnimator
.
duration
=
800
scaleXAnimator
.
interpolator
=
AccelerateDecelerateInterpolator
()
scaleYAnimator
.
interpolator
=
AccelerateDecelerateInterpolator
()
scaleXAnimator
.
repeatCount
=
ObjectAnimator
.
INFINITE
// 设置动画无限循环
scaleYAnimator
.
repeatCount
=
ObjectAnimator
.
INFINITE
val
animatorSet
=
AnimatorSet
()
animatorSet
.
playTogether
(
scaleXAnimator
,
scaleYAnimator
)
// 同时播放两个动画
animatorSet
.
start
()
view
.
tag
=
animatorSet
return
animatorSet
}
@SuppressLint
(
"NotifyDataSetChanged"
)
fun
changeGuide
()
{
isGuide
=
false
items
.
forEach
{
it
.
showGuide
=
AppPreferences
.
getInstance
().
getBoolean
(
"${it.key}_guide"
,
true
)
}
notifyDataSetChanged
()
}
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqr/ui/main/MainActivity.kt
View file @
b5cc1dbc
...
@@ -5,6 +5,7 @@ import android.graphics.Color
...
@@ -5,6 +5,7 @@ import android.graphics.Color
import
android.view.LayoutInflater
import
android.view.LayoutInflater
import
android.widget.TextView
import
android.widget.TextView
import
androidx.activity.addCallback
import
androidx.activity.addCallback
import
androidx.lifecycle.ViewModelProvider
import
androidx.navigation.NavController
import
androidx.navigation.NavController
import
androidx.navigation.fragment.NavHostFragment
import
androidx.navigation.fragment.NavHostFragment
import
com.base.scanqr.R
import
com.base.scanqr.R
...
@@ -19,6 +20,7 @@ import com.base.scanqr.bean.config.AdConfigBean
...
@@ -19,6 +20,7 @@ import com.base.scanqr.bean.config.AdConfigBean
import
com.base.scanqr.databinding.ActivityMainBinding
import
com.base.scanqr.databinding.ActivityMainBinding
import
com.base.scanqr.databinding.ItemHomeTabBinding
import
com.base.scanqr.databinding.ItemHomeTabBinding
import
com.base.scanqr.qr.CameraUtils
import
com.base.scanqr.qr.CameraUtils
import
com.base.scanqr.ui.vm.QrViewModel
import
com.base.scanqr.ui.widget.AppExitDialog.showAppExitDialog
import
com.base.scanqr.ui.widget.AppExitDialog.showAppExitDialog
import
com.base.scanqr.ui.widget.NotificationDialog.showNotificationTurnOn
import
com.base.scanqr.ui.widget.NotificationDialog.showNotificationTurnOn
import
com.base.scanqr.utils.LogEx
import
com.base.scanqr.utils.LogEx
...
@@ -35,6 +37,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
...
@@ -35,6 +37,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
private
var
navController
:
NavController
?
=
null
private
var
navController
:
NavController
?
=
null
var
cameraUtils
:
CameraUtils
?
=
null
var
cameraUtils
:
CameraUtils
?
=
null
private
val
homeTabs
by
lazy
{
private
val
homeTabs
by
lazy
{
arrayOf
(
arrayOf
(
HomeTabUIBean
(
R
.
drawable
.
bg_selector_create
,
getString
(
R
.
string
.
create
)),
HomeTabUIBean
(
R
.
drawable
.
bg_selector_create
,
getString
(
R
.
string
.
create
)),
...
@@ -170,8 +173,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
...
@@ -170,8 +173,9 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
1
->
{
1
->
{
tabAt
=
1
tabAt
=
1
navController
?.
navigate
(
R
.
id
.
scanFragment
)
navController
?.
navigate
(
R
.
id
.
scanFragment
)
if
(!
isScanTabFirst
&&
tabCanShowAd
()
&&
AdConfigBean
.
adsConfigBean
.
scanTabShowAd
)
{
val
flag
=
!
isScanTabFirst
&&
tabCanShowAd
()
&&
AdConfigBean
.
adsConfigBean
.
scanTabShowAd
isScanTabFirst
=
false
LogEx
.
logDebug
(
TAG
,
"flag=$flag"
)
if
(
flag
)
{
AdsMgr
.
showInsert
(
this
,
false
,
object
:
AdsShowCallBack
()
{
AdsMgr
.
showInsert
(
this
,
false
,
object
:
AdsShowCallBack
()
{
override
fun
show
()
{
override
fun
show
()
{
mainFgTabLastShow
=
System
.
currentTimeMillis
()
mainFgTabLastShow
=
System
.
currentTimeMillis
()
...
@@ -187,6 +191,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
...
@@ -187,6 +191,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
}
}
})
})
}
}
isScanTabFirst
=
false
}
}
2
->
{
2
->
{
...
...
app/src/main/java/com/base/scanqr/ui/message/MessageActivity.kt
View file @
b5cc1dbc
...
@@ -105,7 +105,7 @@ class MessageActivity : BaseActivity<ActivityMessageBinding>(ActivityMessageBind
...
@@ -105,7 +105,7 @@ class MessageActivity : BaseActivity<ActivityMessageBinding>(ActivityMessageBind
return
@setOnClickListener
return
@setOnClickListener
}
}
if
(
AdConfigBean
.
adsConfigBean
.
functionUseShowAd
)
{
if
(
AdConfigBean
.
adsConfigBean
.
functionUseShowAd
)
{
AdsMgr
.
showInsert
(
this
,
fals
e
,
object
:
AdsShowCallBack
()
{
AdsMgr
.
showInsert
(
this
,
tru
e
,
object
:
AdsShowCallBack
()
{
override
fun
close
(
where
:
Int
)
{
override
fun
close
(
where
:
Int
)
{
jumpCodeActivity
()
jumpCodeActivity
()
}
}
...
...
app/src/main/java/com/base/scanqr/ui/telephone/TelephoneActivity.kt
View file @
b5cc1dbc
...
@@ -85,7 +85,7 @@ class TelephoneActivity : BaseActivity<ActivityTelephoneBinding>(ActivityTelepho
...
@@ -85,7 +85,7 @@ class TelephoneActivity : BaseActivity<ActivityTelephoneBinding>(ActivityTelepho
return
@setOnClickListener
return
@setOnClickListener
}
}
if
(
AdConfigBean
.
adsConfigBean
.
functionUseShowAd
)
{
if
(
AdConfigBean
.
adsConfigBean
.
functionUseShowAd
)
{
AdsMgr
.
showInsert
(
this
,
fals
e
,
object
:
AdsShowCallBack
()
{
AdsMgr
.
showInsert
(
this
,
tru
e
,
object
:
AdsShowCallBack
()
{
override
fun
close
(
where
:
Int
)
{
override
fun
close
(
where
:
Int
)
{
jumpCodeActivity
()
jumpCodeActivity
()
}
}
...
...
app/src/main/java/com/base/scanqr/ui/text/TextActivity.kt
View file @
b5cc1dbc
...
@@ -60,7 +60,7 @@ class TextActivity : BaseActivity<ActivityTextBinding>(ActivityTextBinding::infl
...
@@ -60,7 +60,7 @@ class TextActivity : BaseActivity<ActivityTextBinding>(ActivityTextBinding::infl
}
}
if
(
AdConfigBean
.
adsConfigBean
.
functionUseShowAd
)
{
if
(
AdConfigBean
.
adsConfigBean
.
functionUseShowAd
)
{
AdsMgr
.
showInsert
(
this
,
fals
e
,
object
:
AdsShowCallBack
()
{
AdsMgr
.
showInsert
(
this
,
tru
e
,
object
:
AdsShowCallBack
()
{
override
fun
close
(
where
:
Int
)
{
override
fun
close
(
where
:
Int
)
{
jumpCodeActivity
()
jumpCodeActivity
()
}
}
...
...
app/src/main/java/com/base/scanqr/ui/website/WebsiteActivity.kt
View file @
b5cc1dbc
...
@@ -71,7 +71,7 @@ class WebsiteActivity : BaseActivity<ActivityWebsiteBinding>(ActivityWebsiteBind
...
@@ -71,7 +71,7 @@ class WebsiteActivity : BaseActivity<ActivityWebsiteBinding>(ActivityWebsiteBind
binding
.
flQueren
.
setOnClickListener
{
binding
.
flQueren
.
setOnClickListener
{
if
(
websiteUIBean
.
http
.
startsWith
(
"http://"
)
||
websiteUIBean
.
http
.
startsWith
(
"https://"
))
{
if
(
websiteUIBean
.
http
.
startsWith
(
"http://"
)
||
websiteUIBean
.
http
.
startsWith
(
"https://"
))
{
if
(
AdConfigBean
.
adsConfigBean
.
functionUseShowAd
)
{
if
(
AdConfigBean
.
adsConfigBean
.
functionUseShowAd
)
{
AdsMgr
.
showInsert
(
this
,
fals
e
,
object
:
AdsShowCallBack
(){
AdsMgr
.
showInsert
(
this
,
tru
e
,
object
:
AdsShowCallBack
(){
override
fun
close
(
where
:
Int
)
{
override
fun
close
(
where
:
Int
)
{
jumpCodeActivity
()
jumpCodeActivity
()
}
}
...
...
app/src/main/java/com/base/scanqr/ui/wifi/WifiActivity.kt
View file @
b5cc1dbc
...
@@ -152,8 +152,8 @@ class WifiActivity : BaseActivity<ActivityWifiBinding>(ActivityWifiBinding::infl
...
@@ -152,8 +152,8 @@ class WifiActivity : BaseActivity<ActivityWifiBinding>(ActivityWifiBinding::infl
return
@setOnClickListener
return
@setOnClickListener
}
}
if
(
AdConfigBean
.
adsConfigBean
.
functionUseShowAd
){
if
(
AdConfigBean
.
adsConfigBean
.
functionUseShowAd
)
{
AdsMgr
.
showInsert
(
this
,
false
,
object
:
AdsShowCallBack
()
{
AdsMgr
.
showInsert
(
this
,
true
,
object
:
AdsShowCallBack
()
{
override
fun
close
(
where
:
Int
)
{
override
fun
close
(
where
:
Int
)
{
jumpCodeActivity
()
jumpCodeActivity
()
}
}
...
@@ -166,7 +166,7 @@ class WifiActivity : BaseActivity<ActivityWifiBinding>(ActivityWifiBinding::infl
...
@@ -166,7 +166,7 @@ class WifiActivity : BaseActivity<ActivityWifiBinding>(ActivityWifiBinding::infl
jumpCodeActivity
()
jumpCodeActivity
()
}
}
})
})
}
else
{
}
else
{
jumpCodeActivity
()
jumpCodeActivity
()
}
}
}
}
...
...
app/src/main/java/com/base/scanqr/ui/wifi/WifiCodeActivity.kt
View file @
b5cc1dbc
package
com.base.scanqr.ui.wifi
package
com.base.scanqr.ui.wifi
import
android.os.Environment
import
androidx.activity.addCallback
import
androidx.activity.addCallback
import
androidx.core.view.updatePadding
import
androidx.core.view.updatePadding
import
androidx.lifecycle.ViewModelProvider
import
androidx.lifecycle.ViewModelProvider
...
...
app/src/main/res/drawable/bg_ffffff_20.xml
0 → 100644
View file @
b5cc1dbc
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<solid
android:color=
"@color/white"
/>
<corners
android:radius=
"20dp"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/bg_stroke_e4e4e4_20.xml
View file @
b5cc1dbc
...
@@ -4,7 +4,11 @@
...
@@ -4,7 +4,11 @@
<solid
android:color=
"@color/white"
/>
<solid
android:color=
"@color/white"
/>
<stroke
<stroke
android:width=
"0.5dp"
android:width=
"0.5dp"
android:color=
"
#E4E4E4
"
/>
android:color=
"
@android:color/transparent
"
/>
<corners
android:radius=
"20dp"
/>
<corners
android:radius=
"20dp"
/>
<gradient
android:angle=
"0"
android:centerColor=
"#FFFAA6"
android:endColor=
"#8069FF"
android:startColor=
"#FFB98C"
/>
</shape>
</shape>
\ No newline at end of file
app/src/main/res/layout/item_function.xml
View file @
b5cc1dbc
...
@@ -8,33 +8,51 @@
...
@@ -8,33 +8,51 @@
android:layout_marginVertical=
"8dp"
android:layout_marginVertical=
"8dp"
android:background=
"@drawable/bg_stroke_e4e4e4_20"
>
android:background=
"@drawable/bg_stroke_e4e4e4_20"
>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_margin=
"1dp"
android:background=
"@drawable/bg_ffffff_20"
>
<FrameLayout
android:id=
"@+id/fl"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:ignore=
"UselessParent"
>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:orientation=
"vertical"
android:padding=
"2dp"
tools:ignore=
"UseCompoundDrawables,UselessParent"
>
<ImageView
android:id=
"@+id/iv"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
tools:ignore=
"ContentDescription"
tools:src=
"@mipmap/h_wifi"
/>
<TextView
android:id=
"@+id/tvDesc"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"5dp"
android:gravity=
"center"
android:textColor=
"@color/black"
android:textSize=
"15sp"
tools:text=
"@string/wifi"
/>
</LinearLayout>
</FrameLayout>
</FrameLayout>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:orientation=
"vertical"
tools:ignore=
"UseCompoundDrawables,UselessParent"
>
<ImageView
android:id=
"@+id/iv"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
tools:ignore=
"ContentDescription"
tools:src=
"@mipmap/h_wifi"
/>
<TextView
android:id=
"@+id/tvDesc"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_horizontal"
android:layout_marginTop=
"5dp"
android:gravity=
"center"
android:textColor=
"@color/black"
android:textSize=
"15sp"
tools:text=
"@string/wifi"
/>
</LinearLayout>
</FrameLayout>
</FrameLayout>
\ No newline at end of file
app/src/main/res/mipmap-xxhdpi/guide_dian.gif
View replaced file @
d6a1ce42
View file @
b5cc1dbc
This image diff could not be displayed because it is too large. You can
view the blob
instead.
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