Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
S
scanqrwhitecopy
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
scanqrwhitecopy
Commits
2da1a960
Commit
2da1a960
authored
Jan 20, 2025
by
wanglei
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
041e1099
bde6295b
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
90 additions
and
62 deletions
+90
-62
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+6
-0
CreateFragment.kt
.../main/java/com/base/scanqrclear/ui/main/CreateFragment.kt
+19
-19
MainActivity.kt
...rc/main/java/com/base/scanqrclear/ui/main/MainActivity.kt
+5
-14
ScanAc.kt
app/src/main/java/com/base/scanqrclear/ui/main/ScanAc.kt
+23
-0
ScanFragment.kt
...rc/main/java/com/base/scanqrclear/ui/main/ScanFragment.kt
+21
-20
activity_scan.xml
app/src/main/res/layout/activity_scan.xml
+6
-0
nav_graph.xml
app/src/main/res/navigation/nav_graph.xml
+10
-9
No files found.
app/src/main/AndroidManifest.xml
View file @
2da1a960
...
...
@@ -171,6 +171,12 @@
android:screenOrientation=
"portrait"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
<activity
android:name=
".ui.main.ScanAc"
android:exported=
"false"
android:screenOrientation=
"portrait"
tools:ignore=
"DiscouragedApi,LockedOrientationActivity"
/>
<provider
android:name=
"androidx.core.content.FileProvider"
android:authorities=
"${applicationId}.provider"
...
...
app/src/main/java/com/base/scanqrclear/ui/main/CreateFragment.kt
View file @
2da1a960
...
...
@@ -2,12 +2,12 @@ package com.base.scanqrclear.ui.main
import
android.annotation.SuppressLint
import
android.content.Intent
import
androidx.core.view.updatePadding
import
androidx.recyclerview.widget.GridLayoutManager
import
com.base.scanqrclear.R
import
com.base.scanqrclear.ads.AdsMgr
import
com.base.scanqrclear.ads.AdsShowCallBack
import
com.base.scanqrclear.base.BaseFragment
import
com.base.scanqrclear.base.goToAc
import
com.base.scanqrclear.bean.FunctionUIBean
import
com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_CONTACT
import
com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_EMAIL
...
...
@@ -18,7 +18,6 @@ import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_TEXT
import
com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_WEBSITE
import
com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_WIFI
import
com.base.scanqrclear.bean.config.AdConfigBean.Companion.adsConfigBean
import
com.base.scanqrclear.bean.config.ConfigBean
import
com.base.scanqrclear.databinding.FragmentCreateBinding
import
com.base.scanqrclear.ui.contact.ContractActivity
import
com.base.scanqrclear.ui.email.EmailActivity
...
...
@@ -27,12 +26,9 @@ import com.base.scanqrclear.ui.message.MessageActivity
import
com.base.scanqrclear.ui.telephone.TelephoneActivity
import
com.base.scanqrclear.ui.text.TextActivity
import
com.base.scanqrclear.ui.website.WebsiteActivity
import
com.base.scanqrclear.ui.widget.LogDialog.showLogDialog
import
com.base.scanqrclear.ui.wifi.WifiActivity
import
com.base.scanqrclear.utils.AppPreferences
import
com.base.scanqrclear.utils.BarUtils
import
com.base.scanqrclear.utils.ClickTimesUtils.isContinuousTimesClick
import
com.google.gson.Gson
import
com.gyf.immersionbar.ktx.immersionBar
class
CreateFragment
:
BaseFragment
<
FragmentCreateBinding
>(
FragmentCreateBinding
::
inflate
)
{
...
...
@@ -149,20 +145,24 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
override
fun
initListener
()
{
super
.
initListener
()
binding
.
tvLogo
.
setOnClickListener
{
if
(
isContinuousTimesClick
())
{
val
sb
=
StringBuilder
()
val
gson
=
Gson
()
sb
.
append
(
"isInBlackList:"
).
append
(
ConfigBean
.
configBean
.
isInBlackList
).
append
(
"\n"
)
sb
.
append
(
"ut:${ConfigBean.configBean.ut}"
).
append
(
"\n"
)
val
adLog
=
gson
.
toJson
(
ConfigBean
.
configBean
.
adConfigBean
).
replace
(
","
,
",\n"
)
sb
.
append
(
adLog
).
append
(
"\n"
)
val
popupLog
=
gson
.
toJson
(
ConfigBean
.
configBean
.
popupConfigBean
).
replace
(
","
,
",\n"
)
sb
.
append
(
popupLog
).
append
(
"\n"
)
sb
.
append
(
"uuid:"
).
append
(
AppPreferences
.
getInstance
().
getString
(
"uuid"
,
"null"
))
requireContext
().
showLogDialog
(
sb
.
toString
())
}
}
goToAc
(
ScanAc
::
class
.
java
)
}
// binding.rv.setOnClickListener {
// if (isContinuousTimesClick()) {
// val sb = StringBuilder()
// val gson = Gson()
// sb.append("isInBlackList:").append(ConfigBean.configBean.isInBlackList).append("\n")
// sb.append("ut:${ConfigBean.configBean.ut}").append("\n")
// val adLog = gson.toJson(ConfigBean.configBean.adConfigBean).replace(",", ",\n")
// sb.append(adLog).append("\n")
// val popupLog =
// gson.toJson(ConfigBean.configBean.popupConfigBean).replace(",", ",\n")
// sb.append(popupLog).append("\n")
// sb.append("uuid:").append(AppPreferences.getInstance().getString("uuid", "null"))
// requireContext().showLogDialog(sb.toString())
// }
// }
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqrclear/ui/main/MainActivity.kt
View file @
2da1a960
...
...
@@ -34,15 +34,15 @@ import java.util.concurrent.atomic.AtomicBoolean
class
MainActivity
:
BaseActivity
<
ActivityMainBinding
>(
ActivityMainBinding
::
inflate
)
{
var
cameraUtils
:
CameraUtils
?
=
null
private
val
homeTabs
by
lazy
{
arrayOf
(
HomeTabUIBean
(
R
.
drawable
.
bg_selector_create
,
getString
(
R
.
string
.
create
)),
HomeTabUIBean
(
R
.
drawable
.
bg_selector_scan
,
getString
(
R
.
string
.
scan
)),
HomeTabUIBean
(
R
.
drawable
.
bg_selector_history
,
getString
(
R
.
string
.
history
)),
HomeTabUIBean
(
R
.
drawable
.
bg_selector_clean
,
getString
(
R
.
string
.
files
)),
// HomeTabUIBean(R.drawable.bg_selector_scan, getString(R.string.scan)),
HomeTabUIBean
(
R
.
drawable
.
bg_selector_history
,
getString
(
R
.
string
.
history
)),
HomeTabUIBean
(
R
.
drawable
.
bg_selector_settings
,
getString
(
R
.
string
.
settings
)),
)
}
...
...
@@ -51,10 +51,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
CreateFragment
()
}
private
val
scanFragment
by
lazy
(
LazyThreadSafetyMode
.
NONE
)
{
ScanFragment
()
}
private
val
historyFragment
by
lazy
(
LazyThreadSafetyMode
.
NONE
)
{
HistoryFragment
()
}
...
...
@@ -67,7 +63,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
HomeFragment
()
}
private
val
fragments
=
arrayOf
(
createFragment
,
scanFragment
,
historyFragment
,
homeFragment
,
settingFragment
)
private
val
fragments
=
arrayOf
(
createFragment
,
homeFragment
,
historyFragment
,
settingFragment
)
private
var
pageAdapter
:
FragmentStateAdapter
?
=
null
...
...
@@ -104,7 +100,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
override
fun
initView
()
{
super
.
initView
()
cameraUtils
=
CameraUtils
(
this
)
initViewPager2
()
initTab
()
}
...
...
@@ -316,11 +312,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>(ActivityMainBinding::infl
naviFragment
(
this
.
id
)
}
override
fun
onDestroy
()
{
super
.
onDestroy
()
cameraUtils
?.
unBind
()
}
override
fun
configSystemBar
()
{
immersionBar
{
statusBarColor
(
"#FFFFFFFF"
)
...
...
app/src/main/java/com/base/scanqrclear/ui/main/ScanAc.kt
0 → 100644
View file @
2da1a960
package
com.base.scanqrclear.ui.main
import
com.base.scanqrclear.base.BaseActivity
import
com.base.scanqrclear.databinding.ActivityScanBinding
import
com.base.scanqrclear.qr.CameraUtils
/**
*Create by SleepDog on 2025-01-20
*/
class
ScanAc
:
BaseActivity
<
ActivityScanBinding
>(
ActivityScanBinding
::
inflate
)
{
var
cameraUtils
:
CameraUtils
?
=
null
override
fun
initView
()
{
super
.
initView
()
cameraUtils
=
CameraUtils
(
this
)
}
override
fun
onDestroy
()
{
super
.
onDestroy
()
cameraUtils
?.
unBind
()
cameraUtils
=
null
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqrclear/ui/main/ScanFragment.kt
View file @
2da1a960
package
com.base.scanqrclear.ui.main
import
android.Manifest
import
android.app.Activity
import
android.content.Intent
import
android.content.pm.PackageManager
import
android.hardware.camera2.CameraMetadata.FLASH_MODE_OFF
...
...
@@ -70,7 +71,7 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
if
(
requireContext
().
checkCameraPermission
())
{
initCamera
()
}
else
{
val
activity
=
requireActivity
()
as
MainActivity
?
val
activity
=
requireActivity
()
as
ScanAc
?
activity
?:
return
activity
.
launcher
.
launch
(
arrayOf
(
Manifest
.
permission
.
CAMERA
))
{
initCamera
()
...
...
@@ -87,7 +88,7 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
if
(!
hasFlash
)
{
binding
.
flFlash
.
visibility
=
View
.
GONE
}
val
activity
=
requireActivity
()
as
MainActivity
?
val
activity
=
requireActivity
()
as
ScanAc
?
activity
?:
return
qrImageAnalyzer
.
parseAction
=
{
qrCodeValue
,
valueType
->
...
...
@@ -132,7 +133,7 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
LogEx
.
logDebug
(
TAG
,
"qrCodeValue=$qrCodeValue valueType=$valueType isResumed=$isResumed"
)
if
(!
isResumed
)
return
val
activity
=
requireActivity
()
as
MainActivity
?
val
activity
=
requireActivity
()
as
ScanAc
?
activity
?:
return
if
(
valueType
==
Barcode
.
TYPE_PRODUCT
)
{
...
...
@@ -306,7 +307,7 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
}
}
private
fun
jumpMessageCodeActivity
(
activity
:
Main
Activity
,
qrCodeValue
:
String
)
{
private
fun
jumpMessageCodeActivity
(
activity
:
Activity
,
qrCodeValue
:
String
)
{
activity
.
startActivity
(
Intent
(
activity
,
MessageCodeActivity
::
class
.
java
).
apply
{
val
bean
=
createMessageBean
(
qrCodeValue
)
bean
.
needCreate
=
true
...
...
@@ -315,7 +316,7 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
})
}
private
fun
jumpContractCodeActivity
(
activity
:
Main
Activity
,
qrCodeValue
:
String
)
{
private
fun
jumpContractCodeActivity
(
activity
:
Activity
,
qrCodeValue
:
String
)
{
activity
.
startActivity
(
Intent
(
activity
,
ContractCodeActivity
::
class
.
java
).
apply
{
val
bean
=
createContractBean
(
qrCodeValue
)
bean
.
needCreate
=
true
...
...
@@ -324,7 +325,7 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
})
}
private
fun
jumpTelephoneCodeActivity
(
activity
:
Main
Activity
,
qrCodeValue
:
String
)
{
private
fun
jumpTelephoneCodeActivity
(
activity
:
Activity
,
qrCodeValue
:
String
)
{
activity
.
startActivity
(
Intent
(
activity
,
TelephoneCodeActivity
::
class
.
java
).
apply
{
val
bean
=
createTelephoneBean
(
qrCodeValue
)
bean
.
needCreate
=
true
...
...
@@ -333,7 +334,7 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
})
}
private
fun
jumpEventCodeActivity
(
activity
:
Main
Activity
,
qrCodeValue
:
String
)
{
private
fun
jumpEventCodeActivity
(
activity
:
Activity
,
qrCodeValue
:
String
)
{
activity
.
startActivity
(
Intent
(
activity
,
EventCodeActivity
::
class
.
java
).
apply
{
val
bean
=
createEventBean
(
qrCodeValue
)
bean
.
needCreate
=
true
...
...
@@ -342,7 +343,7 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
})
}
private
fun
jumpTextCodeActivity
(
activity
:
Main
Activity
,
qrCodeValue
:
String
)
{
private
fun
jumpTextCodeActivity
(
activity
:
Activity
,
qrCodeValue
:
String
)
{
activity
.
startActivity
(
Intent
(
activity
,
TextCodeActivity
::
class
.
java
).
apply
{
val
bean
=
TextUIBean
()
bean
.
content
=
qrCodeValue
...
...
@@ -352,7 +353,7 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
})
}
private
fun
jumpWebsiteCodeActivity
(
activity
:
Main
Activity
,
qrCodeValue
:
String
)
{
private
fun
jumpWebsiteCodeActivity
(
activity
:
Activity
,
qrCodeValue
:
String
)
{
activity
.
startActivity
(
Intent
(
activity
,
WebsiteCodeActivity
::
class
.
java
).
apply
{
val
bean
=
createWebsiteBean
(
qrCodeValue
)
bean
.
needCreate
=
true
...
...
@@ -361,7 +362,7 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
})
}
private
fun
jumpEmailCodeActivity
(
activity
:
Main
Activity
,
qrCodeValue
:
String
)
{
private
fun
jumpEmailCodeActivity
(
activity
:
Activity
,
qrCodeValue
:
String
)
{
activity
.
startActivity
(
Intent
(
activity
,
EmailCodeActivity
::
class
.
java
).
apply
{
val
bean
=
createEmailBean
(
qrCodeValue
)
bean
.
needCreate
=
true
...
...
@@ -370,7 +371,7 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
})
}
private
fun
jumpWifiCodeActivity
(
activity
:
Main
Activity
,
qrCodeValue
:
String
)
{
private
fun
jumpWifiCodeActivity
(
activity
:
Activity
,
qrCodeValue
:
String
)
{
activity
.
startActivity
(
Intent
(
activity
,
WifiCodeActivity
::
class
.
java
).
apply
{
val
bean
=
createWifiBean
(
qrCodeValue
)
bean
.
needCreate
=
true
...
...
@@ -379,7 +380,7 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
})
}
private
fun
jumpProductCodeActivity
(
activity
:
Main
Activity
,
qrCodeValue
:
String
)
{
private
fun
jumpProductCodeActivity
(
activity
:
Activity
,
qrCodeValue
:
String
)
{
activity
.
startActivity
(
Intent
(
activity
,
ProductCodeActivity
::
class
.
java
).
apply
{
val
bean
=
ProductUIBean
()
bean
.
content
=
qrCodeValue
...
...
@@ -392,14 +393,14 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
override
fun
onDestroy
()
{
super
.
onDestroy
()
val
activity
=
requireActivity
()
as
MainActivity
?
val
activity
=
requireActivity
()
as
ScanAc
?
activity
?.
cameraUtils
?.
unBind
()
}
override
fun
initListener
()
{
super
.
initListener
()
binding
.
flImage
.
setOnClickListener
{
val
activity
=
requireActivity
()
as
MainActivity
?
val
activity
=
requireActivity
()
as
ScanAc
?
val
intent
=
intentSafPickImage
()
activity
?.
launcher
?.
launch
(
intent
)
{
result
->
val
uri
:
Uri
?
=
result
.
data
?.
data
...
...
@@ -415,14 +416,14 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
}
}
binding
.
flFlash
.
setOnClickListener
{
val
activity
=
requireActivity
()
as
MainActivity
?
val
activity
=
requireActivity
()
as
ScanAc
?
activity
?.
cameraUtils
?.
turnOnFlash
()
}
binding
.
seekbar
.
setOnSeekBarChangeListener
(
object
:
SeekBar
.
OnSeekBarChangeListener
{
override
fun
onProgressChanged
(
seekBar
:
SeekBar
,
progress
:
Int
,
fromUser
:
Boolean
)
{
if
(
fromUser
)
{
val
zoom
=
(
zoomPair
.
first
+
seekBar
.
progress
/
10f
)
val
activity
=
requireActivity
()
as
MainActivity
?
val
activity
=
requireActivity
()
as
ScanAc
?
activity
?.
cameraUtils
?.
setZoomRate
(
zoom
)
}
}
...
...
@@ -435,12 +436,12 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
}
})
binding
.
flReduce
.
setOnClickListener
{
val
activity
=
requireActivity
()
as
MainActivity
?
val
activity
=
requireActivity
()
as
ScanAc
?
activity
?.
cameraUtils
?.
setZoomRate
(
zoomPair
.
first
)
binding
.
seekbar
.
progress
=
0
}
binding
.
flAdd
.
setOnClickListener
{
val
activity
=
requireActivity
()
as
MainActivity
?
val
activity
=
requireActivity
()
as
ScanAc
?
activity
?.
cameraUtils
?.
setZoomRate
(
zoomPair
.
second
)
binding
.
seekbar
.
progress
=
binding
.
seekbar
.
max
}
...
...
@@ -452,13 +453,13 @@ class ScanFragment : BaseFragment<FragmentScanBinding>(FragmentScanBinding::infl
private
fun
bindAnalyzer
()
{
if
(
analyzerbind
.
get
())
return
analyzerbind
.
set
(
true
)
val
activity
=
requireActivity
()
as
MainActivity
?
val
activity
=
requireActivity
()
as
ScanAc
?
activity
?:
return
activity
.
cameraUtils
?.
startBind
(
binding
.
previewView
,
qrImageAnalyzer
)
}
private
fun
unBindAnalyzer
()
{
val
activity
=
requireActivity
()
as
MainActivity
?
val
activity
=
requireActivity
()
as
ScanAc
?
activity
?.
cameraUtils
?.
unBind
()
analyzerbind
.
set
(
false
)
}
...
...
app/src/main/res/layout/activity_scan.xml
0 → 100644
View file @
2da1a960
<?xml version="1.0" encoding="utf-8"?>
<androidx.fragment.app.FragmentContainerView
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:id=
"@+id/container"
android:name=
"com.base.scanqrclear.ui.main.ScanFragment"
android:layout_height=
"match_parent"
/>
\ No newline at end of file
app/src/main/res/navigation/nav_graph.xml
View file @
2da1a960
...
...
@@ -11,21 +11,22 @@
android:label=
"fragment_create"
tools:layout=
"@layout/fragment_create"
/>
<fragment
android:id=
"@+id/scanFragment"
android:name=
"com.base.scanqrclear.ui.main.ScanFragment"
android:label=
"fragment_scan"
tools:layout=
"@layout/fragment_scan"
/>
android:id=
"@+id/homeFragment"
android:name=
"com.base.scanqrclear.luma.HomeFragment"
android:label=
"fragment_home"
tools:layout=
"@layout/fragment_home"
/>
<!-- <fragment-->
<!-- android:id="@+id/scanFragment"-->
<!-- android:name="com.base.scanqrclear.ui.main.ScanFragment"-->
<!-- android:label="fragment_scan"-->
<!-- tools:layout="@layout/fragment_scan" />-->
<fragment
android:id=
"@+id/historyFragment"
android:name=
"com.base.scanqrclear.ui.main.HistoryFragment"
android:label=
"fragment_history"
tools:layout=
"@layout/fragment_history"
/>
<fragment
android:id=
"@+id/homeFragment"
android:name=
"com.base.scanqrclear.luma.HomeFragment"
android:label=
"fragment_home"
tools:layout=
"@layout/fragment_home"
/>
<fragment
android:id=
"@+id/settingsFragment"
android:name=
"com.base.scanqrclear.ui.main.SettingsFragment"
...
...
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