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
349afaec
Commit
349afaec
authored
Dec 24, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
ccaa799c
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
51 additions
and
8 deletions
+51
-8
ScanBean.kt
app/src/main/java/com/base/scanqr/bean/ScanBean.kt
+1
-1
WifiUIBean.kt
app/src/main/java/com/base/scanqr/bean/WifiUIBean.kt
+1
-0
HistoryFragment.kt
app/src/main/java/com/base/scanqr/ui/main/HistoryFragment.kt
+35
-0
TextCodeActivity.kt
...src/main/java/com/base/scanqr/ui/text/TextCodeActivity.kt
+3
-0
WifiCodeActivity.kt
...src/main/java/com/base/scanqr/ui/wifi/WifiCodeActivity.kt
+1
-1
SpJsonUtils.kt
app/src/main/java/com/base/scanqr/utils/SpJsonUtils.kt
+10
-6
No files found.
app/src/main/java/com/base/scanqr/bean/ScanBean.kt
View file @
349afaec
package
com.base.scanqr.bean
abstract
class
ScanBean
(
open
class
ScanBean
(
val
scanType
:
String
=
""
)
{
var
createTime
=
0L
...
...
app/src/main/java/com/base/scanqr/bean/WifiUIBean.kt
View file @
349afaec
...
...
@@ -3,6 +3,7 @@ package com.base.scanqr.bean
import
com.base.scanqr.bean.FunctionUIBean.Companion.KEY_WIFI
data class
WifiUIBean
(
var
ssid
:
String
=
""
,
var
bssid
:
String
=
""
,
...
...
app/src/main/java/com/base/scanqr/ui/main/HistoryFragment.kt
View file @
349afaec
package
com.base.scanqr.ui.main
import
android.graphics.Color
import
androidx.core.content.ContextCompat
import
androidx.core.view.updatePadding
import
com.base.scanqr.R
import
com.base.scanqr.base.BaseFragment
import
com.base.scanqr.bean.WifiUIBean
import
com.base.scanqr.databinding.FragmentHistoryBinding
import
com.base.scanqr.utils.BarUtils
import
com.base.scanqr.utils.LogEx
import
com.base.scanqr.utils.SpJsonUtils
import
com.base.scanqr.utils.SpJsonUtils.SCAN_HISTORY_KEY
class
HistoryFragment
:
BaseFragment
<
FragmentHistoryBinding
>(
FragmentHistoryBinding
::
inflate
)
{
...
...
@@ -16,5 +23,33 @@ class HistoryFragment : BaseFragment<FragmentHistoryBinding>(FragmentHistoryBind
override
fun
initListener
()
{
super
.
initListener
()
binding
.
tvScan
.
setOnClickListener
{
scanUI
()
}
binding
.
tvCreate
.
setOnClickListener
{
createUI
()
}
val
wifiList
=
SpJsonUtils
.
getSpJsonList
<
WifiUIBean
>(
SCAN_HISTORY_KEY
)
wifiList
.
forEach
{
LogEx
.
logDebug
(
TAG
,
"${it.scanType} ${it.ssid} ${it.password}"
)
}
}
private
fun
scanUI
()
{
binding
.
tvScan
.
background
=
ContextCompat
.
getDrawable
(
requireContext
(),
R
.
drawable
.
bg_6473f8_10
)
binding
.
tvScan
.
setTextColor
(
Color
.
parseColor
(
"#FFFFFF"
))
binding
.
tvCreate
.
background
=
ContextCompat
.
getDrawable
(
requireContext
(),
R
.
drawable
.
bg_transparent
)
binding
.
tvCreate
.
setTextColor
(
Color
.
parseColor
(
"#666666"
))
}
private
fun
createUI
()
{
binding
.
tvCreate
.
background
=
ContextCompat
.
getDrawable
(
requireContext
(),
R
.
drawable
.
bg_6473f8_10
)
binding
.
tvCreate
.
setTextColor
(
Color
.
parseColor
(
"#FFFFFF"
))
binding
.
tvScan
.
background
=
ContextCompat
.
getDrawable
(
requireContext
(),
R
.
drawable
.
bg_transparent
)
binding
.
tvScan
.
setTextColor
(
Color
.
parseColor
(
"#666666"
))
}
}
\ No newline at end of file
app/src/main/java/com/base/scanqr/ui/text/TextCodeActivity.kt
View file @
349afaec
...
...
@@ -5,8 +5,10 @@ import androidx.activity.addCallback
import
androidx.core.view.updatePadding
import
com.base.scanqr.R
import
com.base.scanqr.base.BaseActivity
import
com.base.scanqr.bean.EmailUIBean
import
com.base.scanqr.bean.ScanBean
import
com.base.scanqr.bean.TextUIBean
import
com.base.scanqr.bean.WifiUIBean
import
com.base.scanqr.databinding.ActivityTextCodeBinding
import
com.base.scanqr.ui.widget.InputNameDialog.showInputNameDialog
import
com.base.scanqr.utils.BarUtils
...
...
@@ -19,6 +21,7 @@ import com.base.scanqr.utils.SpJsonUtils
import
com.base.scanqr.utils.SpJsonUtils.SCAN_HISTORY_KEY
import
com.base.scanqr.utils.ToastUtils.toast
import
java.io.File
import
java.io.ObjectInput
class
TextCodeActivity
:
BaseActivity
<
ActivityTextCodeBinding
>(
ActivityTextCodeBinding
::
inflate
)
{
...
...
app/src/main/java/com/base/scanqr/ui/wifi/WifiCodeActivity.kt
View file @
349afaec
...
...
@@ -67,7 +67,7 @@ class WifiCodeActivity : BaseActivity<ActivityWifiCodeBinding>(ActivityWifiCodeB
}
Thread
{
val
bitmap
=
generateQRCode
(
wifiContent
,
735
,
735
,
5
)
SpJsonUtils
.
addJsonBean
<
Scan
Bean
>(
SCAN_HISTORY_KEY
,
wifiBean
)
SpJsonUtils
.
addJsonBean
<
WifiUI
Bean
>(
SCAN_HISTORY_KEY
,
wifiBean
)
runOnUiThread
{
binding
.
ivQr
.
setImageBitmap
(
bitmap
)
val
file
=
File
(
cacheDir
,
System
.
currentTimeMillis
().
toString
()
+
".jpg"
)
...
...
app/src/main/java/com/base/scanqr/utils/SpJsonUtils.kt
View file @
349afaec
...
...
@@ -2,19 +2,23 @@ package com.base.scanqr.utils
import
com.google.gson.Gson
import
com.google.gson.reflect.TypeToken
import
org.json.JSONObject
object
SpJsonUtils
{
val
TAG
=
"SpJsonUtils"
const
val
SCAN_HISTORY_KEY
=
"scan_history_key"
fun
<
T
>
getSpJsonList
(
key
:
String
):
List
<
T
>
{
inline
fun
<
reified
T
>
getSpJsonList
(
key
:
String
):
List
<
T
>
{
val
sp
=
AppPreferences
.
getInstance
().
getString
(
key
,
""
)
return
if
(
sp
.
equals
(
""
))
{
listOf
()
}
else
{
val
listType
=
object
:
TypeToken
<
List
<
T
>>()
{}.
type
val
users
:
List
<
T
>
=
Gson
().
fromJson
(
sp
,
listType
)
return
users
val
gson
=
Gson
()
val
type
=
object
:
TypeToken
<
List
<
T
>>()
{}.
type
val
list
:
List
<
T
>
=
gson
.
fromJson
(
sp
,
type
)
return
list
}
}
...
...
@@ -23,7 +27,7 @@ object SpJsonUtils {
AppPreferences
.
getInstance
().
put
(
key
,
json
)
}
fun
<
T
>
addJsonBean
(
key
:
String
,
bean
:
T
)
{
inline
fun
<
reified
T
>
addJsonBean
(
key
:
String
,
bean
:
T
)
{
val
arrayList
=
arrayListOf
<
T
>()
val
list
=
getSpJsonList
<
T
>(
key
)
arrayList
.
addAll
(
list
)
...
...
@@ -31,7 +35,7 @@ object SpJsonUtils {
saveJsonBeanList
(
key
,
arrayList
.
toList
())
}
fun
<
T
>
removeJsonBean
(
key
:
String
,
bean
:
T
,
removeIf
:
(
it1
:
T
,
it2
:
T
)
->
Boolean
)
{
inline
fun
<
reified
T
>
removeJsonBean
(
key
:
String
,
bean
:
T
,
crossinline
removeIf
:
(
it1
:
T
,
it2
:
T
)
->
Boolean
)
{
val
list
=
getSpJsonList
<
T
>(
key
).
toMutableList
()
list
.
removeIf
{
removeIf
(
it
,
bean
)
}
saveJsonBeanList
(
key
,
list
)
...
...
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