Commit fd6e6cb5 authored by wanglei's avatar wanglei

...

parent 349afaec
...@@ -4,4 +4,5 @@ open class ScanBean( ...@@ -4,4 +4,5 @@ open class ScanBean(
val scanType: String = "" val scanType: String = ""
) { ) {
var createTime = 0L var createTime = 0L
var isCreateOrScan: Boolean = true//create:true ; scan:false
} }
\ No newline at end of file
...@@ -6,7 +6,7 @@ import androidx.core.view.updatePadding ...@@ -6,7 +6,7 @@ import androidx.core.view.updatePadding
import com.base.scanqr.R import com.base.scanqr.R
import com.base.scanqr.base.BaseActivity import com.base.scanqr.base.BaseActivity
import com.base.scanqr.bean.EmailUIBean 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.databinding.ActivityEmailCodeBinding
import com.base.scanqr.ui.widget.InputNameDialog.showInputNameDialog import com.base.scanqr.ui.widget.InputNameDialog.showInputNameDialog
import com.base.scanqr.utils.BarUtils import com.base.scanqr.utils.BarUtils
...@@ -16,7 +16,6 @@ import com.base.scanqr.utils.IntentUtils.intentShareImage ...@@ -16,7 +16,6 @@ import com.base.scanqr.utils.IntentUtils.intentShareImage
import com.base.scanqr.utils.LogEx import com.base.scanqr.utils.LogEx
import com.base.scanqr.utils.QRCodeGenerator.generateQRCode import com.base.scanqr.utils.QRCodeGenerator.generateQRCode
import com.base.scanqr.utils.SpJsonUtils import com.base.scanqr.utils.SpJsonUtils
import com.base.scanqr.utils.SpJsonUtils.SCAN_HISTORY_KEY
import com.base.scanqr.utils.ToastUtils.toast import com.base.scanqr.utils.ToastUtils.toast
import com.google.gson.Gson import com.google.gson.Gson
import java.io.File import java.io.File
...@@ -42,22 +41,23 @@ class EmailCodeActivity : BaseActivity<ActivityEmailCodeBinding>(ActivityEmailCo ...@@ -42,22 +41,23 @@ class EmailCodeActivity : BaseActivity<ActivityEmailCodeBinding>(ActivityEmailCo
qrContent.append("SUB:").append(email.subject).append(";") qrContent.append("SUB:").append(email.subject).append(";")
qrContent.append("BODY:").append(email.message).append(";") qrContent.append("BODY:").append(email.message).append(";")
content = qrContent.toString() content = qrContent.toString()
Thread { Thread {
SpJsonUtils.addJsonBean<ScanBean>(SCAN_HISTORY_KEY, email)
val bitmap = generateQRCode(content, 735, 735, 5) val bitmap = generateQRCode(content, 735, 735, 5)
runOnUiThread { runOnUiThread {
binding.ivQr.setImageBitmap(bitmap) binding.ivQr.setImageBitmap(bitmap)
val file = File(cacheDir, System.currentTimeMillis().toString() + ".jpg") val file = File(cacheDir, System.currentTimeMillis().toString() + ".jpg")
bitmap?.let { bitmap?.let {
if (email.createTime == 0L) {
email.createTime = System.currentTimeMillis()
}
val flag = saveBitmapToFile(it, file.absolutePath) val flag = saveBitmapToFile(it, file.absolutePath)
LogEx.logDebug(TAG, "flag=$flag tempImage=${file.absolutePath}") LogEx.logDebug(TAG, "flag=$flag tempImage=${file.absolutePath}")
if (flag) { if (flag) {
tempImage = file.absolutePath tempImage = file.absolutePath
} }
} }
if (email.createTime == 0L) {
email.createTime = System.currentTimeMillis()
}
SpJsonUtils.addJsonBean<EmailUIBean>(KEY_EMAIL, email)
} }
}.start() }.start()
......
...@@ -5,12 +5,14 @@ import androidx.core.content.ContextCompat ...@@ -5,12 +5,14 @@ import androidx.core.content.ContextCompat
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import com.base.scanqr.R import com.base.scanqr.R
import com.base.scanqr.base.BaseFragment 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.bean.WifiUIBean
import com.base.scanqr.databinding.FragmentHistoryBinding import com.base.scanqr.databinding.FragmentHistoryBinding
import com.base.scanqr.utils.BarUtils import com.base.scanqr.utils.BarUtils
import com.base.scanqr.utils.LogEx import com.base.scanqr.utils.LogEx
import com.base.scanqr.utils.SpJsonUtils import com.base.scanqr.utils.SpJsonUtils
import com.base.scanqr.utils.SpJsonUtils.SCAN_HISTORY_KEY
class HistoryFragment : BaseFragment<FragmentHistoryBinding>(FragmentHistoryBinding::inflate) { class HistoryFragment : BaseFragment<FragmentHistoryBinding>(FragmentHistoryBinding::inflate) {
...@@ -30,9 +32,17 @@ class HistoryFragment : BaseFragment<FragmentHistoryBinding>(FragmentHistoryBind ...@@ -30,9 +32,17 @@ class HistoryFragment : BaseFragment<FragmentHistoryBinding>(FragmentHistoryBind
createUI() createUI()
} }
val wifiList = SpJsonUtils.getSpJsonList<WifiUIBean>(SCAN_HISTORY_KEY) val wifiList = SpJsonUtils.getSpJsonList<WifiUIBean>(FunctionUIBean.KEY_WIFI)
wifiList.forEach { 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}")
} }
} }
......
...@@ -6,9 +6,9 @@ import androidx.core.view.updatePadding ...@@ -6,9 +6,9 @@ import androidx.core.view.updatePadding
import com.base.scanqr.R import com.base.scanqr.R
import com.base.scanqr.base.BaseActivity import com.base.scanqr.base.BaseActivity
import com.base.scanqr.bean.EmailUIBean import com.base.scanqr.bean.EmailUIBean
import com.base.scanqr.bean.FunctionUIBean
import com.base.scanqr.bean.ScanBean import com.base.scanqr.bean.ScanBean
import com.base.scanqr.bean.TextUIBean import com.base.scanqr.bean.TextUIBean
import com.base.scanqr.bean.WifiUIBean
import com.base.scanqr.databinding.ActivityTextCodeBinding import com.base.scanqr.databinding.ActivityTextCodeBinding
import com.base.scanqr.ui.widget.InputNameDialog.showInputNameDialog import com.base.scanqr.ui.widget.InputNameDialog.showInputNameDialog
import com.base.scanqr.utils.BarUtils import com.base.scanqr.utils.BarUtils
...@@ -18,7 +18,6 @@ import com.base.scanqr.utils.IntentUtils.intentShareText ...@@ -18,7 +18,6 @@ import com.base.scanqr.utils.IntentUtils.intentShareText
import com.base.scanqr.utils.LogEx import com.base.scanqr.utils.LogEx
import com.base.scanqr.utils.QRCodeGenerator.generateQRCode import com.base.scanqr.utils.QRCodeGenerator.generateQRCode
import com.base.scanqr.utils.SpJsonUtils import com.base.scanqr.utils.SpJsonUtils
import com.base.scanqr.utils.SpJsonUtils.SCAN_HISTORY_KEY
import com.base.scanqr.utils.ToastUtils.toast import com.base.scanqr.utils.ToastUtils.toast
import java.io.File import java.io.File
import java.io.ObjectInput import java.io.ObjectInput
...@@ -38,21 +37,21 @@ class TextCodeActivity : BaseActivity<ActivityTextCodeBinding>(ActivityTextCodeB ...@@ -38,21 +37,21 @@ class TextCodeActivity : BaseActivity<ActivityTextCodeBinding>(ActivityTextCodeB
Thread { Thread {
val bitmap = generateQRCode(textUIBean.content, 735, 735, 5) val bitmap = generateQRCode(textUIBean.content, 735, 735, 5)
SpJsonUtils.addJsonBean<ScanBean>(SCAN_HISTORY_KEY, textUIBean)
runOnUiThread { runOnUiThread {
binding.ivQr.setImageBitmap(bitmap) binding.ivQr.setImageBitmap(bitmap)
val file = File(cacheDir, System.currentTimeMillis().toString() + ".jpg") val file = File(cacheDir, System.currentTimeMillis().toString() + ".jpg")
bitmap?.let { bitmap?.let {
textUIBean.content = data textUIBean.content = data
if (textUIBean.createTime == 0L) {
textUIBean.createTime = System.currentTimeMillis()
}
val flag = saveBitmapToFile(it, file.absolutePath) val flag = saveBitmapToFile(it, file.absolutePath)
LogEx.logDebug(TAG, "flag=$flag tempImage=${file.absolutePath}") LogEx.logDebug(TAG, "flag=$flag tempImage=${file.absolutePath}")
if (flag) { if (flag) {
tempImage = file.absolutePath tempImage = file.absolutePath
} }
} }
if (textUIBean.createTime == 0L) {
textUIBean.createTime = System.currentTimeMillis()
}
SpJsonUtils.addJsonBean<ScanBean>(FunctionUIBean.KEY_TEXT, textUIBean)
} }
}.start() }.start()
} }
......
...@@ -5,7 +5,7 @@ import androidx.activity.addCallback ...@@ -5,7 +5,7 @@ import androidx.activity.addCallback
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import com.base.scanqr.R import com.base.scanqr.R
import com.base.scanqr.base.BaseActivity import com.base.scanqr.base.BaseActivity
import com.base.scanqr.bean.ScanBean import com.base.scanqr.bean.FunctionUIBean
import com.base.scanqr.bean.WifiUIBean import com.base.scanqr.bean.WifiUIBean
import com.base.scanqr.databinding.ActivityWifiCodeBinding import com.base.scanqr.databinding.ActivityWifiCodeBinding
import com.base.scanqr.ui.widget.InputNameDialog.showInputNameDialog import com.base.scanqr.ui.widget.InputNameDialog.showInputNameDialog
...@@ -16,7 +16,6 @@ import com.base.scanqr.utils.IntentUtils.intentShareImage ...@@ -16,7 +16,6 @@ import com.base.scanqr.utils.IntentUtils.intentShareImage
import com.base.scanqr.utils.LogEx import com.base.scanqr.utils.LogEx
import com.base.scanqr.utils.QRCodeGenerator.generateQRCode import com.base.scanqr.utils.QRCodeGenerator.generateQRCode
import com.base.scanqr.utils.SpJsonUtils import com.base.scanqr.utils.SpJsonUtils
import com.base.scanqr.utils.SpJsonUtils.SCAN_HISTORY_KEY
import com.base.scanqr.utils.ToastUtils.toast import com.base.scanqr.utils.ToastUtils.toast
import com.google.gson.Gson import com.google.gson.Gson
import com.gyf.immersionbar.ktx.immersionBar import com.gyf.immersionbar.ktx.immersionBar
...@@ -67,17 +66,21 @@ class WifiCodeActivity : BaseActivity<ActivityWifiCodeBinding>(ActivityWifiCodeB ...@@ -67,17 +66,21 @@ class WifiCodeActivity : BaseActivity<ActivityWifiCodeBinding>(ActivityWifiCodeB
} }
Thread { Thread {
val bitmap = generateQRCode(wifiContent, 735, 735, 5) val bitmap = generateQRCode(wifiContent, 735, 735, 5)
SpJsonUtils.addJsonBean<WifiUIBean>(SCAN_HISTORY_KEY, wifiBean)
runOnUiThread { runOnUiThread {
binding.ivQr.setImageBitmap(bitmap) binding.ivQr.setImageBitmap(bitmap)
val file = File(cacheDir, System.currentTimeMillis().toString() + ".jpg") val file = File(cacheDir, System.currentTimeMillis().toString() + ".jpg")
bitmap?.let { bitmap?.let {
val flag = saveBitmapToFile(it, file.absolutePath) val flag = saveBitmapToFile(it, file.absolutePath)
LogEx.logDebug(TAG, "flag=$flag tempImage=${file.absolutePath}") LogEx.logDebug(TAG, "flag=$flag tempImage=${file.absolutePath}")
if (flag) { if (flag) {
tempImage = file.absolutePath tempImage = file.absolutePath
} }
} }
if (wifiBean.createTime == 0L) {
wifiBean.createTime = System.currentTimeMillis()
}
SpJsonUtils.addJsonBean<WifiUIBean>(FunctionUIBean.KEY_WIFI, wifiBean)
} }
}.start() }.start()
......
...@@ -2,13 +2,11 @@ package com.base.scanqr.utils ...@@ -2,13 +2,11 @@ package com.base.scanqr.utils
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.reflect.TypeToken import com.google.gson.reflect.TypeToken
import org.json.JSONObject
object SpJsonUtils { object SpJsonUtils {
val TAG = "SpJsonUtils" val TAG = "SpJsonUtils"
const val SCAN_HISTORY_KEY = "scan_history_key"
inline fun <reified T> getSpJsonList(key: String): List<T> { inline fun <reified T> getSpJsonList(key: String): List<T> {
val sp = AppPreferences.getInstance().getString(key, "") val sp = AppPreferences.getInstance().getString(key, "")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment