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
fd6e6cb5
Commit
fd6e6cb5
authored
Dec 25, 2024
by
wanglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
...
parent
349afaec
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
31 additions
and
20 deletions
+31
-20
ScanBean.kt
app/src/main/java/com/base/scanqr/bean/ScanBean.kt
+1
-0
EmailCodeActivity.kt
...c/main/java/com/base/scanqr/ui/email/EmailCodeActivity.kt
+6
-6
HistoryFragment.kt
app/src/main/java/com/base/scanqr/ui/main/HistoryFragment.kt
+13
-3
TextCodeActivity.kt
...src/main/java/com/base/scanqr/ui/text/TextCodeActivity.kt
+5
-6
WifiCodeActivity.kt
...src/main/java/com/base/scanqr/ui/wifi/WifiCodeActivity.kt
+6
-3
SpJsonUtils.kt
app/src/main/java/com/base/scanqr/utils/SpJsonUtils.kt
+0
-2
No files found.
app/src/main/java/com/base/scanqr/bean/ScanBean.kt
View file @
fd6e6cb5
...
...
@@ -4,4 +4,5 @@ open class ScanBean(
val
scanType
:
String
=
""
)
{
var
createTime
=
0L
var
isCreateOrScan
:
Boolean
=
true
//create:true ; scan:false
}
\ No newline at end of file
app/src/main/java/com/base/scanqr/ui/email/EmailCodeActivity.kt
View file @
fd6e6cb5
...
...
@@ -6,7 +6,7 @@ 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.
FunctionUIBean.Companion.KEY_EMAIL
import
com.base.scanqr.databinding.ActivityEmailCodeBinding
import
com.base.scanqr.ui.widget.InputNameDialog.showInputNameDialog
import
com.base.scanqr.utils.BarUtils
...
...
@@ -16,7 +16,6 @@ import com.base.scanqr.utils.IntentUtils.intentShareImage
import
com.base.scanqr.utils.LogEx
import
com.base.scanqr.utils.QRCodeGenerator.generateQRCode
import
com.base.scanqr.utils.SpJsonUtils
import
com.base.scanqr.utils.SpJsonUtils.SCAN_HISTORY_KEY
import
com.base.scanqr.utils.ToastUtils.toast
import
com.google.gson.Gson
import
java.io.File
...
...
@@ -42,22 +41,23 @@ class EmailCodeActivity : BaseActivity<ActivityEmailCodeBinding>(ActivityEmailCo
qrContent
.
append
(
"SUB:"
).
append
(
email
.
subject
).
append
(
";"
)
qrContent
.
append
(
"BODY:"
).
append
(
email
.
message
).
append
(
";"
)
content
=
qrContent
.
toString
()
Thread
{
SpJsonUtils
.
addJsonBean
<
ScanBean
>(
SCAN_HISTORY_KEY
,
email
)
val
bitmap
=
generateQRCode
(
content
,
735
,
735
,
5
)
runOnUiThread
{
binding
.
ivQr
.
setImageBitmap
(
bitmap
)
val
file
=
File
(
cacheDir
,
System
.
currentTimeMillis
().
toString
()
+
".jpg"
)
bitmap
?.
let
{
if
(
email
.
createTime
==
0L
)
{
email
.
createTime
=
System
.
currentTimeMillis
()
}
val
flag
=
saveBitmapToFile
(
it
,
file
.
absolutePath
)
LogEx
.
logDebug
(
TAG
,
"flag=$flag tempImage=${file.absolutePath}"
)
if
(
flag
)
{
tempImage
=
file
.
absolutePath
}
}
if
(
email
.
createTime
==
0L
)
{
email
.
createTime
=
System
.
currentTimeMillis
()
}
SpJsonUtils
.
addJsonBean
<
EmailUIBean
>(
KEY_EMAIL
,
email
)
}
}.
start
()
...
...
app/src/main/java/com/base/scanqr/ui/main/HistoryFragment.kt
View file @
fd6e6cb5
...
...
@@ -5,12 +5,14 @@ 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.EmailUIBean
import
com.base.scanqr.bean.FunctionUIBean
import
com.base.scanqr.bean.TextUIBean
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
)
{
...
...
@@ -30,9 +32,17 @@ class HistoryFragment : BaseFragment<FragmentHistoryBinding>(FragmentHistoryBind
createUI
()
}
val
wifiList
=
SpJsonUtils
.
getSpJsonList
<
WifiUIBean
>(
SCAN_HISTORY_KEY
)
val
wifiList
=
SpJsonUtils
.
getSpJsonList
<
WifiUIBean
>(
FunctionUIBean
.
KEY_WIFI
)
wifiList
.
forEach
{
LogEx
.
logDebug
(
TAG
,
"${it.scanType} ${it.ssid} ${it.password}"
)
LogEx
.
logDebug
(
TAG
,
"${it.scanType} ${it.ssid} ${it.password} ${it.createTime}"
)
}
val
textList
=
SpJsonUtils
.
getSpJsonList
<
TextUIBean
>(
FunctionUIBean
.
KEY_TEXT
)
textList
.
forEach
{
LogEx
.
logDebug
(
TAG
,
"${it.scanType} ${it.content} ${it.createTime}"
)
}
val
emailList
=
SpJsonUtils
.
getSpJsonList
<
EmailUIBean
>(
FunctionUIBean
.
KEY_EMAIL
)
emailList
.
forEach
{
LogEx
.
logDebug
(
TAG
,
"${it.scanType} ${it.address} ${it.createTime}"
)
}
}
...
...
app/src/main/java/com/base/scanqr/ui/text/TextCodeActivity.kt
View file @
fd6e6cb5
...
...
@@ -6,9 +6,9 @@ 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.FunctionUIBean
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
...
...
@@ -18,7 +18,6 @@ import com.base.scanqr.utils.IntentUtils.intentShareText
import
com.base.scanqr.utils.LogEx
import
com.base.scanqr.utils.QRCodeGenerator.generateQRCode
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
...
...
@@ -38,21 +37,21 @@ class TextCodeActivity : BaseActivity<ActivityTextCodeBinding>(ActivityTextCodeB
Thread
{
val
bitmap
=
generateQRCode
(
textUIBean
.
content
,
735
,
735
,
5
)
SpJsonUtils
.
addJsonBean
<
ScanBean
>(
SCAN_HISTORY_KEY
,
textUIBean
)
runOnUiThread
{
binding
.
ivQr
.
setImageBitmap
(
bitmap
)
val
file
=
File
(
cacheDir
,
System
.
currentTimeMillis
().
toString
()
+
".jpg"
)
bitmap
?.
let
{
textUIBean
.
content
=
data
if
(
textUIBean
.
createTime
==
0L
)
{
textUIBean
.
createTime
=
System
.
currentTimeMillis
()
}
val
flag
=
saveBitmapToFile
(
it
,
file
.
absolutePath
)
LogEx
.
logDebug
(
TAG
,
"flag=$flag tempImage=${file.absolutePath}"
)
if
(
flag
)
{
tempImage
=
file
.
absolutePath
}
}
if
(
textUIBean
.
createTime
==
0L
)
{
textUIBean
.
createTime
=
System
.
currentTimeMillis
()
}
SpJsonUtils
.
addJsonBean
<
ScanBean
>(
FunctionUIBean
.
KEY_TEXT
,
textUIBean
)
}
}.
start
()
}
...
...
app/src/main/java/com/base/scanqr/ui/wifi/WifiCodeActivity.kt
View file @
fd6e6cb5
...
...
@@ -5,7 +5,7 @@ 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.
Scan
Bean
import
com.base.scanqr.bean.
FunctionUI
Bean
import
com.base.scanqr.bean.WifiUIBean
import
com.base.scanqr.databinding.ActivityWifiCodeBinding
import
com.base.scanqr.ui.widget.InputNameDialog.showInputNameDialog
...
...
@@ -16,7 +16,6 @@ import com.base.scanqr.utils.IntentUtils.intentShareImage
import
com.base.scanqr.utils.LogEx
import
com.base.scanqr.utils.QRCodeGenerator.generateQRCode
import
com.base.scanqr.utils.SpJsonUtils
import
com.base.scanqr.utils.SpJsonUtils.SCAN_HISTORY_KEY
import
com.base.scanqr.utils.ToastUtils.toast
import
com.google.gson.Gson
import
com.gyf.immersionbar.ktx.immersionBar
...
...
@@ -67,17 +66,21 @@ class WifiCodeActivity : BaseActivity<ActivityWifiCodeBinding>(ActivityWifiCodeB
}
Thread
{
val
bitmap
=
generateQRCode
(
wifiContent
,
735
,
735
,
5
)
SpJsonUtils
.
addJsonBean
<
WifiUIBean
>(
SCAN_HISTORY_KEY
,
wifiBean
)
runOnUiThread
{
binding
.
ivQr
.
setImageBitmap
(
bitmap
)
val
file
=
File
(
cacheDir
,
System
.
currentTimeMillis
().
toString
()
+
".jpg"
)
bitmap
?.
let
{
val
flag
=
saveBitmapToFile
(
it
,
file
.
absolutePath
)
LogEx
.
logDebug
(
TAG
,
"flag=$flag tempImage=${file.absolutePath}"
)
if
(
flag
)
{
tempImage
=
file
.
absolutePath
}
}
if
(
wifiBean
.
createTime
==
0L
)
{
wifiBean
.
createTime
=
System
.
currentTimeMillis
()
}
SpJsonUtils
.
addJsonBean
<
WifiUIBean
>(
FunctionUIBean
.
KEY_WIFI
,
wifiBean
)
}
}.
start
()
...
...
app/src/main/java/com/base/scanqr/utils/SpJsonUtils.kt
View file @
fd6e6cb5
...
...
@@ -2,13 +2,11 @@ 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"
inline
fun
<
reified
T
>
getSpJsonList
(
key
:
String
):
List
<
T
>
{
val
sp
=
AppPreferences
.
getInstance
().
getString
(
key
,
""
)
...
...
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