
- 在 GlobalData 中添加 isLoginRecognition 字段,用于记录是否完成登录后的人脸识别 - 修改 MainActivity 中的示例 URI - 更新 WaitToStartActivity 中的对话框逻辑,增加下一步操作确认对话框 - 修改 WaitToStartVm 中的错误处理方式,使用状态更新替代 Toast 提示 - 优化 ZdCameraXActivity 中的初始化流程,增加屏幕亮度设置
137 lines
3.1 KiB
Kotlin
137 lines
3.1 KiB
Kotlin
package com.za.common
|
|
|
|
import android.app.Application
|
|
import com.amap.api.location.AMapLocation
|
|
import com.blankj.utilcode.util.AppUtils
|
|
import com.tencent.mmkv.MMKV
|
|
import com.za.bean.db.order.OrderInfo
|
|
import com.za.common.log.LogUtil
|
|
import com.za.room.RoomHelper
|
|
import com.za.room.db.user.DriverInfoBean
|
|
|
|
object GlobalData {
|
|
lateinit var application : Application
|
|
private val mmkv : MMKV by lazy { MMKV.defaultMMKV() }
|
|
var activityCount : Int = 0
|
|
var isMaster = AppUtils.getAppPackageName() == "com.za.rescue.dealer"
|
|
|
|
var token : String? = null
|
|
get() {
|
|
return mmkv.decodeString("ZD_TOKEN", null)
|
|
}
|
|
set(value) {
|
|
mmkv.encode("ZD_TOKEN", value)
|
|
field = value
|
|
}
|
|
|
|
var regid : String? = null
|
|
get() {
|
|
return mmkv.decodeString("regid", null)
|
|
}
|
|
set(value) {
|
|
mmkv.encode("regid", value)
|
|
field = value
|
|
}
|
|
|
|
var aesKey : String? = null
|
|
get() {
|
|
return mmkv.decodeString("AES_KEY", null)
|
|
}
|
|
set(value) {
|
|
mmkv.encode("AES_KEY", value)
|
|
field = value
|
|
}
|
|
|
|
//新订单是否已经被处理
|
|
var isHandlerNewOrder : Boolean? = false
|
|
|
|
private val lock = Any()
|
|
var driverInfoBean : DriverInfoBean?
|
|
get() {
|
|
synchronized(lock) {
|
|
val driverInfoBean =
|
|
mmkv.decodeParcelable("driverInfoBean", DriverInfoBean::class.java)
|
|
LogUtil.print("driverInfo get", "driverInfoBean = $driverInfoBean")
|
|
return driverInfoBean
|
|
}
|
|
}
|
|
set(value) {
|
|
synchronized(lock) {
|
|
mmkv.encode("driverInfoBean", value)
|
|
if (value != null) {
|
|
lastLoginBean = value
|
|
}
|
|
LogUtil.print("driverInfo set", "driverInfoBean = $value")
|
|
}
|
|
}
|
|
|
|
var lastLoginBean : DriverInfoBean? = null
|
|
get() {
|
|
val driverInfoBean = mmkv.decodeParcelable("lastLoginBean", DriverInfoBean::class.java)
|
|
field = driverInfoBean
|
|
return driverInfoBean
|
|
}
|
|
set(value) {
|
|
mmkv.encode("lastLoginBean", value)
|
|
}
|
|
|
|
//是否已经完成登录后的人脸识别
|
|
var isLoginRecognition : Boolean? = null
|
|
get() {
|
|
return mmkv.decodeBool("isLoginRecognition", false)
|
|
}
|
|
set(value) {
|
|
mmkv.encode("isLoginRecognition", value ?: false)
|
|
field = value
|
|
}
|
|
|
|
var currentOrder : OrderInfo? = null
|
|
get() {
|
|
return mmkv.decodeParcelable("currentOrder", OrderInfo::class.java)
|
|
}
|
|
set(value) {
|
|
mmkv.encode("currentOrder", value)
|
|
if (RoomHelper.db?.orderDao()?.getCurrentOrder() == null && value != null) {
|
|
RoomHelper.db?.orderDao()?.insertOrder(value)
|
|
} else if (value != null) {
|
|
RoomHelper.db?.orderDao()?.update(value)
|
|
}
|
|
field = value
|
|
}
|
|
|
|
var currentLocation : AMapLocation? = null
|
|
get() {
|
|
return field
|
|
}
|
|
set(value) {
|
|
value?.time = System.currentTimeMillis()
|
|
field = value
|
|
}
|
|
|
|
var loginTime : Long? = null
|
|
get() {
|
|
return mmkv.decodeLong("loginTime", System.currentTimeMillis())
|
|
}
|
|
set(value) {
|
|
mmkv.encode("loginTime", value ?: System.currentTimeMillis())
|
|
field = value
|
|
}
|
|
|
|
fun clearUserCache() {
|
|
token = null
|
|
aesKey = null
|
|
currentLocation = null
|
|
driverInfoBean = null
|
|
loginTime = null
|
|
}
|
|
|
|
fun clearAllOrderCache() {
|
|
currentOrder = null
|
|
RoomHelper.clearAll()
|
|
}
|
|
|
|
fun clearOrderCache(taskId : Int) {
|
|
RoomHelper.clearOrderFromTaskCode(taskId = taskId)
|
|
}
|
|
|
|
} |