package com.sw.platecabinet.utils import com.google.gson.Gson import com.sw.inbound.utils.GsonUtils import com.sw.inbound.utils.SPUtil import com.sw.inbound.utils.SPUtil.Companion.getInstance import com.sw.platecabinet.MyApp import com.sw.platecabinet.model.response.EquipmentUserInfo object SpTool { const val LAST_FACE_TIMESTAMP: String = "faceTimestamp" const val PLATE_BOX_DATA: String = "plateBoxBind" const val IS_FIRST_GET_FACE = "isFirstGetFace" private var spUtil: SPUtil? = null init { spUtil = getInstance(MyApp.instance!!, "default_sp") } fun putString(key:String, value:String) { spUtil?.put(key, value) } var lastFaceTimestamp: Long get() = spUtil?.get(SpTool.LAST_FACE_TIMESTAMP, 0L) ?: 0 set(timestamp) { spUtil?.put(LAST_FACE_TIMESTAMP, timestamp) } fun savePlateData(items: List) { val jsonData = Gson().toJson(items) putString(PLATE_BOX_DATA, jsonData) } fun getPlateData(): List? { val jsonData = spUtil?.get(PLATE_BOX_DATA, "") if (jsonData.isNullOrBlank()) { return null } return GsonUtils.fromJsonList(jsonData, EquipmentUserInfo::class.java) } fun getFirstGetFace() = spUtil?.get(IS_FIRST_GET_FACE, true)?:true fun setFirstGetFace(state: Boolean) { spUtil?.boolean(IS_FIRST_GET_FACE, state) } }