GLDriver/app/src/main/java/com/arpa/hndahesudintocctmsdriver/utils/UserUtils.kt

125 lines
4.6 KiB
Kotlin
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.arpa.hndahesudintocctmsdriver.utils
import android.content.Context
import android.content.Intent
import androidx.viewbinding.ViewBinding
import com.arpa.hndahesudintocctmsdriver.bean.CarDetail
import com.arpa.hndahesudintocctmsdriver.push.PushHelper
import com.arpa.hndahesudintocctmsdriver.ui.HomeActivity
import com.arpa.hndahesudintocctmsdriver.ui.LauncherActivity
import com.arpa.hndahesudintocctmsdriver.ui.account.LoginActivity
import com.arpa.hndahesudintocctmsdriver.ui.account.SelectRoleActivity
import com.arpa.hndahesudintocctmsdriver.ui.account.authperson.AuthFaceActivity
import com.arpa.hndahesudintocctmsdriver.ui.account.authperson.EditBankCardActivity
import com.arpa.hndahesudintocctmsdriver.ui.account.authperson.EditDriverActivity
import com.arpa.hndahesudintocctmsdriver.ui.account.authperson.EditDrivingActivity
import com.arpa.hndahesudintocctmsdriver.ui.account.authperson.EditPersonActivity
import com.arpa.hndahesudintocctmsdriver.ui.account.authperson.EditQualificationActivity
import com.arpa.hndahesudintocctmsdriver.ui.account.authperson.EditRoadActivity
import com.arpa.hndahesudintocctmsdriver.ui.account.authperson.EditTrailerActivity
import com.arpa.glex.bean.UserBean
import com.arpa.glex.bean.UserDetail
import com.arpa.mylibrary.base.BaseActivity
import com.arpa.mylibrary.utils.ActivityUtils
import com.arpa.mylibrary.utils.BaseSPUtils
import com.google.gson.Gson
class UserUtils private constructor() {
companion object {
val instance = Holder.holder
}
private object Holder {
val holder = UserUtils()
}
fun loginOut(context: Context) {
SPUtils.instance.removeUserToken(context)
if (null == SPUtils.instance.getUserInfo(context))
return
//删除推送别名
PushHelper.delete(context)
BaseSPUtils.cleanUserInfo(context)
val intent = Intent(context, LauncherActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK
context.startActivity(intent)
// ToastUtils.showToast(context, "您的账号再异地登录,请重新登录")
}
fun loginIn(context: Context, userBean: UserBean) {
SPUtils.instance.setUserInfo(context, Gson().toJson(userBean))
//设置推送别名
// PushHelper.setAlias(context, userBean)
// ActivityUtils.startActivity(
// context,
// SelectRoleActivity::class.java
// )
if (userBean.isCarCaptain == "9") {//是否是车队长0=否,1=是,9=未选择)
ActivityUtils.startActivity(
context,
SelectRoleActivity::class.java
)
} else {
ActivityUtils.startActivity(
context,
HomeActivity::class.java
)
}
// ActivityUtils.finishToActivity(LoginActivity::class.java, true)
}
/**
* 更新当前用户
* @param context Context
* @param userBean UserBean
*/
fun updateUser(context: Context, userBean: UserBean) {
SPUtils.instance.setUserInfo(context, Gson().toJson(userBean))
//设置推送别名
PushHelper.setAlias(context, userBean)
}
/**
* 司机证件跳转
* @param userBean UserDetail
* @return Class<out BaseActivity<out ViewBinding>>?
*/
fun goNextPersonInfo(userBean: UserDetail): Class<out BaseActivity<out ViewBinding>>? {
if (userBean.idcardNo.isNullOrBlank()) {
return EditPersonActivity::class.java
} else if (userBean.licenseNo.isNullOrEmpty()) {
return EditDriverActivity::class.java
} else if (userBean.qualificationCertificateEffectiveEnd.isNullOrEmpty()) {
return EditQualificationActivity::class.java
} else if (userBean.driverBankcardNumber.isNullOrEmpty()) {
return EditBankCardActivity::class.java
} else if (userBean.isRealName == "0") {
return AuthFaceActivity::class.java
} else {
return null
}
}
/**
* 车辆证件跳转
* @param carDetail CarDetail
* @return Class<out BaseActivity<out ViewBinding>>?
*/
fun goNextCarInfo(carDetail: CarDetail): Class<out BaseActivity<out ViewBinding>>? {
if (carDetail.vehicleNum.isNullOrEmpty()) {
return EditDrivingActivity::class.java
} else if (carDetail.isTrailer == "1" && carDetail.trailerVehicleNum.isNullOrEmpty()) {
return EditTrailerActivity::class.java
}else if (carDetail.roadLicense.isNullOrEmpty()){
return EditRoadActivity::class.java
}else
return null
}
}