安联集成

This commit is contained in:
lijia 2024-04-20 12:02:40 +08:00
parent 4c1697c385
commit e580b8872e
26 changed files with 209 additions and 56 deletions

View File

@ -170,7 +170,7 @@ dependencies {
implementation 'com.loopj.android:android-async-http:1.4.9'
implementation 'com.j256.ormlite:ormlite-android:4.48'
implementation 'com.j256.ormlite:ormlite-core:4.48'
compileOnly 'com.github.hotchemi:permissionsdispatcher:2.3.1'
implementation 'com.github.hotchemi:permissionsdispatcher:2.3.1'
annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:2.3.1'

View File

@ -465,6 +465,16 @@
android:name="com.baidu.lbsapi.API_KEY"
android:value="BiRjhNoG2FhrveK48ihjtbK7BNcBD5zt" />
<service
android:name="com.alct.mdp.processprotection.SDKServiceMonitor"
android:exported="true"
android:process=":sdkServiceMonitor_v1" />
<service
android:name=".third.PlayerMusicService"
android:exported="true"
android:process=":music_v1" />
<!-- 安联相关end -->
</application>

View File

@ -3,11 +3,13 @@ package com.dahe.gldriver.base
import android.app.ActivityManager
import android.app.Application
import android.app.PendingIntent
import android.app.PendingIntent.*
import android.app.PendingIntent.FLAG_UPDATE_CURRENT
import android.app.PendingIntent.getActivity
import android.content.Context
import android.content.Intent
import android.os.Process
import android.util.Log
import anet.channel.util.Utils.context
import com.alct.mdp.MDPLocationCollectionManager
import com.dahe.gldriver.BuildConfig
import com.dahe.gldriver.R
@ -15,6 +17,7 @@ import com.dahe.gldriver.net.Api
import com.dahe.gldriver.oss.OssServiceUtil
import com.dahe.gldriver.push.PushHelper
import com.dahe.gldriver.third.JTTProcess
import com.dahe.gldriver.third.PlayerMusicService
import com.dahe.gldriver.third.SPUtil
import com.dahe.gldriver.ui.HomeActivity
import com.dahe.gldriver.utils.OrderUtils
@ -37,6 +40,7 @@ import javax.net.ssl.SSLContext
import javax.net.ssl.TrustManager
import javax.net.ssl.X509TrustManager
class App : Application() {
override fun onCreate() {
super.onCreate()
@ -108,6 +112,8 @@ class App : Application() {
if (packageName == getCurrentProcessName(this)) {
//Log.e("--使用的测试环境--",BuildConfig.OPEN_API_URL);
MDPLocationCollectionManager.initialize(this, BuildConfig.OPEN_AL_URL)
MDPLocationCollectionManager.initServiceProcessProguard(context) // 保活代码
startService(Intent(this, PlayerMusicService::class.java)) // 保活代码
}
//初始化交通厅

View File

@ -32,6 +32,7 @@ data class UserBean(
var qrcodeUrl :String,
var expires_in :Int,
var credit :String,
var auditStatus: String="",
var isCarCaptain :String,//是否是车队长0=否,1=是,9=未选择)
var contactName :String,
var idcardName :String,

View File

@ -9,6 +9,7 @@ import com.alct.mdp.callback.OnResultListener
import com.alct.mdp.model.Identity
import com.dahe.gldriver.BuildConfig
import com.dahe.gldriver.bean.FqBean
import com.dahe.gldriver.utils.SPUtils
import com.dahe.gldriver.utils.SPUtils.Companion.instance
import com.google.gson.Gson
@ -38,7 +39,7 @@ class ALProcess {
//企业app验证码-测试
private const val APP_KEY_TEXT = "07a6256cad5642138ed6e962a5a157be"
fun verification(con: Context?) {
val (_, _, _, _, idcard) = instance.getUserInfo(con)
val userInfo = SPUtils.instance.getUserInfo(con)
val idy = Identity()
//企业代码
idy.enterpriseCode = if (BuildConfig.isTest) ENTERPRISE_CODE_TEXT else ENTERPRISE_CODE
@ -47,7 +48,8 @@ class ALProcess {
//企业app验证码
idy.appKey = if (BuildConfig.isTest) APP_KEY_TEXT else APP_KEY
//司机身份证
idy.driverIdentity = idcard
idy.driverIdentity = userInfo?.idcard
// idy.driverIdentity = "410823197610206636"
//idy.setDriverIdentity("410725198311042012");
MDPLocationCollectionManager.register(con, idy, object : OnResultListener {
override fun onSuccess() {

View File

@ -71,8 +71,8 @@ object JTTProcess {
fun start(con: Context, sob: OrderDetailBean, remark: String?) {
val snis = arrayOfNulls<ShippingNoteInfo>(1)
val sni = ShippingNoteInfo()
val startWay = sob.orderChildList.filter { it.isPassingPoints!="0" }.first { it.type == "1" }
val endWay = sob.orderChildList.filter { it.isPassingPoints!="0" }.first { it.type == "2" }
val startWay = sob.orderChildList.filter { it.isPassingPoints=="0" }.first { it.type == "1" }
val endWay = sob.orderChildList.filter { it.isPassingPoints=="0" }.last { it.type == "2" }
sni.shippingNoteNumber = sob.orderNum
sni.serialNumber = "0000"
sni.startLatitude = startWay.latitude.toDouble()
@ -92,9 +92,9 @@ object JTTProcess {
LocationOpenApi.start(
con,
sob.waybillInfo.vehicleNum,
if (SPUtils.instance.getUserInfo(con).idcardName == null) "" else SPUtils.instance.getUserInfo(
if (SPUtils.instance.getUserInfo(con)?.idcardName == null) "" else SPUtils.instance.getUserInfo(
con
).idcardName,
)?.idcardName,
remark,
snis,
object : OnResultListener {
@ -134,9 +134,9 @@ object JTTProcess {
LocationOpenApi.send(
con,
sob.waybillInfo.vehicleNum,
if (SPUtils.instance.getUserInfo(con).idcardName == null) "" else SPUtils.instance.getUserInfo(
if (SPUtils.instance.getUserInfo(con)?.idcardName == null) "" else SPUtils.instance.getUserInfo(
con
).idcardName,
)?.idcardName,
remark,
snis,
object : OnSendResultListener {
@ -156,8 +156,8 @@ object JTTProcess {
fun pause(con: Context?, sob: OrderDetailBean, remark: String?) {
val snis = arrayOfNulls<ShippingNoteInfo>(1)
val sni = ShippingNoteInfo()
val startWay = sob.orderChildList.filter { it.isPassingPoints!="0" }.first { it.type == "1" }
val endWay = sob.orderChildList.filter { it.isPassingPoints!="0" }.first { it.type == "2" }
val startWay = sob.orderChildList.filter { it.isPassingPoints=="0" }.first { it.type == "1" }
val endWay = sob.orderChildList.filter { it.isPassingPoints=="0" }.last { it.type == "2" }
sni.shippingNoteNumber = sob.orderNum
sni.serialNumber = "0000"
sni.startLatitude = startWay.latitude.toDouble()
@ -172,9 +172,9 @@ object JTTProcess {
LocationOpenApi.pause(
con,
sob.waybillInfo.vehicleNum,
if (SPUtils.instance.getUserInfo(con).idcardName == null) "" else SPUtils.instance.getUserInfo(
if (SPUtils.instance.getUserInfo(con)?.idcardName == null) "" else SPUtils.instance.getUserInfo(
con
).idcardName,
)?.idcardName,
remark,
snis,
object : OnResultListener {
@ -193,8 +193,8 @@ object JTTProcess {
fun restart(con: Context?, sob: OrderDetailBean, remark: String?) {
val snis = arrayOfNulls<ShippingNoteInfo>(1)
val sni = ShippingNoteInfo()
val startWay = sob.orderChildList.filter { it.isPassingPoints!="0" }.first { it.type == "1" }
val endWay = sob.orderChildList.filter { it.isPassingPoints!="0" }.first { it.type == "2" }
val startWay = sob.orderChildList.filter { it.isPassingPoints=="0" }.first { it.type == "1" }
val endWay = sob.orderChildList.filter { it.isPassingPoints=="0" }.last { it.type == "2" }
sni.shippingNoteNumber = sob.orderNum
sni.serialNumber = "0000"
sni.startLatitude = startWay.latitude.toDouble()
@ -209,9 +209,9 @@ object JTTProcess {
LocationOpenApi.restart(
con,
sob.waybillInfo.vehicleNum,
if (SPUtils.instance.getUserInfo(con).idcardName == null) "" else SPUtils.instance.getUserInfo(
if (SPUtils.instance.getUserInfo(con)?.idcardName == null) "" else SPUtils.instance.getUserInfo(
con
).idcardName,
)?.idcardName,
remark,
snis,
object : OnResultListener {
@ -229,8 +229,8 @@ object JTTProcess {
fun stop(con: Context, sob: OrderDetailBean, remark: String?) {
val snis = arrayOfNulls<ShippingNoteInfo>(1)
val sni = ShippingNoteInfo()
val startWay = sob.orderChildList.filter { it.isPassingPoints!="0" }.first { it.type == "1" }
val endWay = sob.orderChildList.filter { it.isPassingPoints!="0" }.first { it.type == "2" }
val startWay = sob.orderChildList.filter { it.isPassingPoints=="0" }.first { it.type == "1" }
val endWay = sob.orderChildList.filter { it.isPassingPoints=="0" }.last { it.type == "2" }
sni.shippingNoteNumber = sob.orderNum
sni.serialNumber = "0000"
sni.startLatitude = startWay.latitude.toDouble()
@ -247,9 +247,9 @@ object JTTProcess {
LocationOpenApi.stop(
con,
sob.waybillInfo.vehicleNum,
if (SPUtils.instance.getUserInfo(con).idcardName == null) "" else SPUtils.instance.getUserInfo(
if (SPUtils.instance.getUserInfo(con)?.idcardName == null) "" else SPUtils.instance.getUserInfo(
con
).idcardName,
)?.idcardName,
remark,
snis,
object : OnResultListener {

View File

@ -0,0 +1,76 @@
package com.dahe.gldriver.third;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import com.dahe.gldriver.R;
/**
* @ClassName PlayerMusicService
* @Author john
* @Date 2024/4/19 16:11
* @Description TODO
*/
public class PlayerMusicService extends Service {
private MediaPlayer mMediaPlayer;
private boolean normalExit;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
normalExit = false;
mMediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.silent);
if (mMediaPlayer != null) {
mMediaPlayer.setLooping(true);
}
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
new Thread(new Runnable() {
@Override
public void run() {
startPlayMusic();
}
}).start();
return START_STICKY;
}
private void startPlayMusic() {
if (mMediaPlayer == null) {
mMediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.silent);
if (mMediaPlayer != null) {
mMediaPlayer.setLooping(true);
mMediaPlayer.start();
}
}
}
private void stopPlayMusic() {
if (mMediaPlayer != null && mMediaPlayer.isPlaying()) {
mMediaPlayer.stop();
}
}
@Override
public void onDestroy() {
super.onDestroy();
stopPlayMusic();
if (!normalExit) {
Intent intent = new Intent(getApplicationContext(), PlayerMusicService.class);
startService(intent);
}
}
}

View File

@ -5,24 +5,29 @@ import android.os.Build
import android.os.Bundle
import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentStatePagerAdapter
import androidx.viewpager.widget.ViewPager
import com.amap.api.location.AMapLocationClient.updatePrivacyAgree
import com.amap.api.location.AMapLocationClient.updatePrivacyShow
import com.dahe.gldriver.R
import com.dahe.gldriver.adapter.MyHomePagerAdapter
import com.dahe.gldriver.bean.TabBean
import com.dahe.gldriver.databinding.ActivityHomeBinding
import com.dahe.gldriver.event.GoWaybillEvent
import com.dahe.gldriver.event.RefreshEvent
import com.dahe.gldriver.net.BaseObserver
import com.dahe.gldriver.net.DataManager
import com.dahe.gldriver.net.RxHttpCallBack
import com.dahe.gldriver.third.ALProcess
import com.dahe.gldriver.ui.home.HomeFragment
import com.dahe.gldriver.ui.message.MessageFragment
import com.dahe.gldriver.ui.mine.MineFragment
import com.dahe.gldriver.ui.waybill.WaybillFragment
import com.dahe.gldriver.utils.UserUtils
import com.dahe.glex.bean.UserBean
import com.dahe.mylibrary.base.BaseActivity
import com.dahe.mylibrary.net.CommonResponseBean
import com.flyco.tablayout.listener.CustomTabEntity
import com.flyco.tablayout.listener.OnTabSelectListener
import com.permissionx.guolindev.PermissionX
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import java.util.Timer
@ -95,6 +100,7 @@ class HomeActivity : BaseActivity<ActivityHomeBinding>(), OnTabSelectListener,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.RECORD_AUDIO,
Manifest.permission.ACCESS_BACKGROUND_LOCATION,
)
.request { allGranted, grantedList, deniedList ->

View File

@ -1,5 +1,6 @@
package com.dahe.gldriver.ui.account
import android.Manifest
import android.content.Intent
import android.os.Bundle
import android.util.Log
@ -21,6 +22,7 @@ import com.dahe.mylibrary.base.BaseActivity
import com.dahe.mylibrary.net.CommonResponseBean
import com.dahe.mylibrary.utils.ActivityUtils
import com.dahe.mylibrary.utils.ToastUtils
import com.permissionx.guolindev.PermissionX
import com.umeng.commonsdk.utils.UMUtils
import com.umeng.umverify.UMResultCode
import com.umeng.umverify.UMVerifyHelper
@ -78,6 +80,31 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>(), View.OnClickListener
override fun initDate() {
getPermissions()
}
private fun getPermissions() {
PermissionX.init(this)
.permissions(
Manifest.permission.CAMERA,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.RECORD_AUDIO,
Manifest.permission.ACCESS_BACKGROUND_LOCATION,
)
.request { allGranted, grantedList, deniedList ->
if (allGranted) {
} else {
Toast.makeText(
mContext,
"开启权限失败,请在应用设置-权限-定位-始终允许",
Toast.LENGTH_SHORT
).show()
}
}
}
override fun onClick(view: View?) {

View File

@ -13,17 +13,19 @@ import com.dahe.gldriver.adapter.WaybillAdapter
import com.dahe.gldriver.base.AppConfig
import com.dahe.gldriver.base.WebActivity
import com.dahe.gldriver.bean.GridBean
import com.dahe.gldriver.bean.OrderDetailBean
import com.dahe.gldriver.databinding.FragmentHomeBinding
import com.dahe.gldriver.event.GoWaybillEvent
import com.dahe.gldriver.net.BaseObserver
import com.dahe.gldriver.net.DataManager
import com.dahe.gldriver.net.RxHttpCallBack
import com.dahe.gldriver.third.ALProcess
import com.dahe.gldriver.ui.home.activity.BusinessActivity
import com.dahe.gldriver.ui.mine.activity.PersonInfoActivity
import com.dahe.gldriver.ui.waybill.activity.WaybillDetailActivity
import com.dahe.gldriver.utils.OrderUtils
import com.dahe.gldriver.utils.UserUtils
import com.dahe.glex.bean.OrderBean
import com.dahe.glex.bean.UserBean
import com.dahe.glex.bean.UserDetail
import com.dahe.mylibrary.base.BaseFragment
import com.dahe.mylibrary.callback.RefreshCallBack
@ -31,7 +33,6 @@ import com.dahe.mylibrary.net.CommonResponseBean
import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider
import com.dahe.mylibrary.utils.ActivityUtils
import com.dahe.mylibrary.utils.ConvertUtils
import com.dahe.mylibrary.utils.ImageLoader
import com.permissionx.guolindev.PermissionX
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
@ -196,6 +197,24 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(), RefreshCallBack {
//执行中运单轨迹上传
OrderUtils.getInstance().upLocation(mContext)
DataManager.getInstance().getUserInfo()
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
.subscribe(BaseObserver(mContext, object : RxHttpCallBack<UserBean>() {
override fun onSuccess(t: CommonResponseBean<UserBean>) {
super.onSuccess(t)
if (t == null || t.data == null)
return
UserUtils.instance.updateUser(mContext, t.data)
//初始化安联
if (t.data.auditStatus == "100003")
ALProcess.verification(mContext)
}
}))
}
private fun initRecy() {

View File

@ -94,7 +94,7 @@ class MineFragment : BaseFragment<FragmentMineBinding>(), View.OnClickListener,
llPerson.setOnClickListener {
val userInfo = SPUtils.instance.getUserInfo(mContext)
if (userInfo.isCarCaptain == "1") {//是否是车队长0=否,1=是,9=未选择)
if (userInfo?.isCarCaptain == "1") {//是否是车队长0=否,1=是,9=未选择)
ActivityUtils.startActivity(
mContext,
EditCaTeamActivity::class.java,

View File

@ -57,12 +57,12 @@ class CarTeamManActivity : BaseActivity<ActivityCarTeamBinding>() {
mFragments.run {
add(DriversManFragment().apply {
arguments = Bundle().apply {
putString(AppConfig.ID, SPUtils.instance.getUserInfo(mContext)!!.captainId)
putString(AppConfig.ID, SPUtils.instance.getUserInfo(mContext)?.captainId)
}
})
add(CarsManFragment().apply {
arguments = Bundle().apply {
putString(AppConfig.ID, SPUtils.instance.getUserInfo(mContext)!!.captainId)
putString(AppConfig.ID, SPUtils.instance.getUserInfo(mContext)?.captainId)
}
})
}
@ -123,7 +123,7 @@ class CarTeamManActivity : BaseActivity<ActivityCarTeamBinding>() {
mContext,
EditCaTeamActivity::class.java,
Bundle().apply {
putString(AppConfig.ID, userInfo.captainId)
putString(AppConfig.ID, userInfo?.captainId)
})
}
}

View File

@ -8,6 +8,7 @@ import com.dahe.gldriver.push.PushHelper
import com.dahe.gldriver.ui.account.LoginActivity
import com.dahe.gldriver.utils.CommonPopUtils
import com.dahe.gldriver.utils.SPUtils
import com.dahe.gldriver.utils.UserUtils
import com.dahe.glex.bean.UserBean
import com.dahe.mylibrary.base.BaseActivity
import com.dahe.mylibrary.callback.PushAliasListener
@ -59,9 +60,10 @@ class SettingActivity : BaseActivity<ActivitySettingBinding>(), View.OnClickList
binding.rlTwo.id -> {
CommonPopUtils.getInstance()
.showCommCenterPop(mContext, content = "您确定退出当前app么?") {
SPUtils.instance.removeUserToken(mContext)
ActivityUtils.startLoginActivity(mContext,LoginActivity::class.java)
.showCommCenterPop(mContext, content = "您确定退出好运司机端么?") {
UserUtils.instance.loginOut(mContext)
// SPUtils.instance.removeUserToken(mContext)
// ActivityUtils.startLoginActivity(mContext,LoginActivity::class.java)
// ActivityUtils.finishAllActivities()
}
}

View File

@ -64,7 +64,7 @@ class WaybillAppraiseActivity : BaseActivity<ActivityWaybillUnloadBinding>() {
SeeDocActivity::class.java,
Bundle().apply { putString(AppConfig.ORDER_ID, orderId) })
}
binding.btnRight.visibility = if (SPUtils.instance.getUserInfo(mContext).isCarCaptain=="1") View.GONE else View.VISIBLE
binding.btnRight.visibility = if (SPUtils.instance.getUserInfo(mContext)?.isCarCaptain=="1") View.GONE else View.VISIBLE
initRecy()
getLocation()
binding.run {

View File

@ -48,7 +48,7 @@ class WaybillDetailActivity : BaseActivity<ActivityWaybillDetailBinding>() {
var isCap: Boolean = false
lateinit var orderDetailInfo: OrderDetailBean
override fun initView(savedInstanceState: Bundle?) {
isCap = SPUtils.instance.getUserInfo(mContext).isCarCaptain == "1"
isCap = SPUtils.instance.getUserInfo(mContext)?.isCarCaptain == "1"
orderId = intent.extras?.getString(AppConfig.ORDER_ID, "").toString()
initRecy()
getLocation()

View File

@ -67,7 +67,7 @@ class WaybillLoadActivity : BaseActivity<ActivityWaybillLoadBinding>() {
Bundle().apply { putString(AppConfig.ORDER_ID, orderId) })
}
binding.btnRight.visibility = if (SPUtils.instance.getUserInfo(mContext).isCarCaptain=="1") View.GONE else View.VISIBLE
binding.btnRight.visibility = if (SPUtils.instance.getUserInfo(mContext)?.isCarCaptain=="1") View.GONE else View.VISIBLE
initRecy()
getLocation()

View File

@ -61,7 +61,7 @@ class WaybillUnlLoadActivity : BaseActivity<ActivityWaybillUnloadBinding>() {
SeeDocActivity::class.java,
Bundle().apply { putString(AppConfig.ORDER_ID, orderId) })
}
binding.btnRight.visibility = if (SPUtils.instance.getUserInfo(mContext).isCarCaptain=="1") View.GONE else View.VISIBLE
binding.btnRight.visibility = if (SPUtils.instance.getUserInfo(mContext)?.isCarCaptain=="1") View.GONE else View.VISIBLE
initRecy()
getLocation()
binding.run {

View File

@ -63,7 +63,7 @@ class AllWaybillFragment : BaseFragment<FragmentWaybillListBinding>(), RefreshCa
)
adapter =
WaybillListAdapter(SPUtils.instance.getUserInfo(mContext).isCarCaptain == "1")
WaybillListAdapter(SPUtils.instance.getUserInfo(mContext)?.isCarCaptain == "1")
adapter as WaybillListAdapter
}.apply {
// 打开空布局功能

View File

@ -56,7 +56,7 @@ class CancelWaybillFragment : BaseFragment<FragmentWaybillListBinding>(), Refres
Color.TRANSPARENT
)
)
adapter = WaybillListAdapter(SPUtils.instance.getUserInfo(mContext).isCarCaptain=="1")
adapter = WaybillListAdapter(SPUtils.instance.getUserInfo(mContext)?.isCarCaptain=="1")
adapter as WaybillListAdapter
}.apply {
// 打开空布局功能

View File

@ -59,7 +59,7 @@ class WaitAppraiseFragment : BaseFragment<FragmentWaybillListBinding>(), Refresh
Color.TRANSPARENT
)
)
adapter = WaybillListAdapter(SPUtils.instance.getUserInfo(mContext).isCarCaptain=="1")
adapter = WaybillListAdapter(SPUtils.instance.getUserInfo(mContext)?.isCarCaptain=="1")
adapter as WaybillListAdapter
}.apply {
// 打开空布局功能

View File

@ -64,7 +64,7 @@ class WaitLoadFragment : BaseFragment<FragmentWaybillListBinding>(), RefreshCall
Color.TRANSPARENT
)
)
adapter = WaybillListAdapter(SPUtils.instance.getUserInfo(mContext).isCarCaptain=="1")
adapter = WaybillListAdapter(SPUtils.instance.getUserInfo(mContext)?.isCarCaptain=="1")
adapter as WaybillListAdapter
}.apply {
// 打开空布局功能

View File

@ -59,7 +59,7 @@ class WaitUnLoadFragment : BaseFragment<FragmentWaybillListBinding>(), RefreshCa
Color.TRANSPARENT
)
)
adapter = WaybillListAdapter(SPUtils.instance.getUserInfo(mContext).isCarCaptain=="1")
adapter = WaybillListAdapter(SPUtils.instance.getUserInfo(mContext)?.isCarCaptain=="1")
adapter as WaybillListAdapter
}.apply {
// 打开空布局功能

View File

@ -105,7 +105,7 @@ class OrderUtils private constructor() {
listener: OnResultListener
) {
val userInfo = SPUtils.instance.getUserInfo(context)
if (userInfo.isCarCaptain == "1") {
if (userInfo?.isCarCaptain == "1") {
DataManager.getInstance()
.selectCarsList(userInfo.captainId)
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
@ -214,7 +214,8 @@ class OrderUtils private constructor() {
* @param context Context
*/
fun upLocation(context: Context) {
if (SPUtils.instance.getUserInfo(context).isCarCaptain == "1")//车队长角色不需要上传轨迹
val userInfo = SPUtils.instance.getUserInfo(context)
if (userInfo!=null && userInfo.isCarCaptain == "1")//车队长角色不需要上传轨迹
return
DataManager.getInstance().orderDetail("")
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())

View File

@ -5,6 +5,7 @@ import com.dahe.gldriver.base.AppConfig
import com.dahe.glex.bean.UserBean
import com.dahe.mylibrary.net.JsonUtils
import com.dahe.mylibrary.utils.BaseSPUtils
import com.google.gson.Gson
/**
* @ClassName SPUtils2
@ -36,12 +37,13 @@ class SPUtils private constructor() : BaseSPUtils() {
*
* @param context
*/
fun getUserInfo(context: Context?): UserBean {
return JsonUtils.getInstance()
.fromJson(
BaseSPUtils.get(context, BaseSPUtils.USER_INFO_KEY, "") as String,
UserBean::class.java
)
fun getUserInfo(context: Context?): UserBean? {
val s = get(context, USER_INFO_KEY, "") as String
if (s.isNullOrEmpty())
return null
else
return JsonUtils.getInstance()
.fromJson(s, UserBean::class.java)
}
fun setUserToken(context: Context?, token: String) {
@ -58,11 +60,11 @@ class SPUtils private constructor() : BaseSPUtils() {
}
fun getIsFirstOpenApp(context: Context): Boolean {
return get(context, AppConfig.IS_FIRST_OPEN, true) as Boolean
return get(context, AppConfig.IS_FIRST_OPEN, true) as Boolean
}
fun setIsFirstOpenApp(context: Context,isFirstOpen:Boolean){
put(context,AppConfig.IS_FIRST_OPEN,isFirstOpen)
fun setIsFirstOpenApp(context: Context, isFirstOpen: Boolean) {
put(context, AppConfig.IS_FIRST_OPEN, isFirstOpen)
}

View File

@ -24,6 +24,7 @@ class UserUtils private constructor(){
}
fun loginOut(context : Context){
SPUtils.instance.removeUserToken(context)
if (null== SPUtils.instance.getUserInfo(context))
return
//删除推送别名
@ -32,7 +33,7 @@ class UserUtils private constructor(){
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, "您的账号再异地登录,请重新登录")
// ToastUtils.showToast(context, "您的账号再异地登录,请重新登录")
}
fun loginIn(context: Context,userBean: UserBean){

Binary file not shown.