Commit 349afaec authored by wanglei's avatar wanglei

...

parent ccaa799c
package com.base.scanqr.bean package com.base.scanqr.bean
abstract class ScanBean( open class ScanBean(
val scanType: String = "" val scanType: String = ""
) { ) {
var createTime = 0L var createTime = 0L
......
...@@ -3,6 +3,7 @@ package com.base.scanqr.bean ...@@ -3,6 +3,7 @@ package com.base.scanqr.bean
import com.base.scanqr.bean.FunctionUIBean.Companion.KEY_WIFI import com.base.scanqr.bean.FunctionUIBean.Companion.KEY_WIFI
data class WifiUIBean( data class WifiUIBean(
var ssid: String = "", var ssid: String = "",
var bssid: String = "", var bssid: String = "",
......
package com.base.scanqr.ui.main package com.base.scanqr.ui.main
import android.graphics.Color
import androidx.core.content.ContextCompat
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import com.base.scanqr.R
import com.base.scanqr.base.BaseFragment import com.base.scanqr.base.BaseFragment
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.SpJsonUtils
import com.base.scanqr.utils.SpJsonUtils.SCAN_HISTORY_KEY
class HistoryFragment : BaseFragment<FragmentHistoryBinding>(FragmentHistoryBinding::inflate) { class HistoryFragment : BaseFragment<FragmentHistoryBinding>(FragmentHistoryBinding::inflate) {
...@@ -16,5 +23,33 @@ class HistoryFragment : BaseFragment<FragmentHistoryBinding>(FragmentHistoryBind ...@@ -16,5 +23,33 @@ class HistoryFragment : BaseFragment<FragmentHistoryBinding>(FragmentHistoryBind
override fun initListener() { override fun initListener() {
super.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
...@@ -5,8 +5,10 @@ import androidx.activity.addCallback ...@@ -5,8 +5,10 @@ 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.EmailUIBean
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
...@@ -19,6 +21,7 @@ import com.base.scanqr.utils.SpJsonUtils ...@@ -19,6 +21,7 @@ import com.base.scanqr.utils.SpJsonUtils
import com.base.scanqr.utils.SpJsonUtils.SCAN_HISTORY_KEY 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
class TextCodeActivity : BaseActivity<ActivityTextCodeBinding>(ActivityTextCodeBinding::inflate) { class TextCodeActivity : BaseActivity<ActivityTextCodeBinding>(ActivityTextCodeBinding::inflate) {
......
...@@ -67,7 +67,7 @@ class WifiCodeActivity : BaseActivity<ActivityWifiCodeBinding>(ActivityWifiCodeB ...@@ -67,7 +67,7 @@ class WifiCodeActivity : BaseActivity<ActivityWifiCodeBinding>(ActivityWifiCodeB
} }
Thread { Thread {
val bitmap = generateQRCode(wifiContent, 735, 735, 5) val bitmap = generateQRCode(wifiContent, 735, 735, 5)
SpJsonUtils.addJsonBean<ScanBean>(SCAN_HISTORY_KEY, wifiBean) 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")
......
...@@ -2,19 +2,23 @@ package com.base.scanqr.utils ...@@ -2,19 +2,23 @@ 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"
const val SCAN_HISTORY_KEY = "scan_history_key" 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, "") val sp = AppPreferences.getInstance().getString(key, "")
return if (sp.equals("")) { return if (sp.equals("")) {
listOf() listOf()
} else { } else {
val listType = object : TypeToken<List<T>>() {}.type val gson = Gson()
val users: List<T> = Gson().fromJson(sp, listType) val type = object : TypeToken<List<T>>() {}.type
return users val list: List<T> = gson.fromJson(sp, type)
return list
} }
} }
...@@ -23,7 +27,7 @@ object SpJsonUtils { ...@@ -23,7 +27,7 @@ object SpJsonUtils {
AppPreferences.getInstance().put(key, json) 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 arrayList = arrayListOf<T>()
val list = getSpJsonList<T>(key) val list = getSpJsonList<T>(key)
arrayList.addAll(list) arrayList.addAll(list)
...@@ -31,7 +35,7 @@ object SpJsonUtils { ...@@ -31,7 +35,7 @@ object SpJsonUtils {
saveJsonBeanList(key, arrayList.toList()) 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() val list = getSpJsonList<T>(key).toMutableList()
list.removeIf { removeIf(it, bean) } list.removeIf { removeIf(it, bean) }
saveJsonBeanList(key, list) saveJsonBeanList(key, list)
......
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