安联集成

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.loopj.android:android-async-http:1.4.9'
implementation 'com.j256.ormlite:ormlite-android:4.48' implementation 'com.j256.ormlite:ormlite-android:4.48'
implementation 'com.j256.ormlite:ormlite-core: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' annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:2.3.1'

View File

@ -465,6 +465,16 @@
android:name="com.baidu.lbsapi.API_KEY" android:name="com.baidu.lbsapi.API_KEY"
android:value="BiRjhNoG2FhrveK48ihjtbK7BNcBD5zt" /> 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 --> <!-- 安联相关end -->
</application> </application>

View File

@ -3,11 +3,13 @@ package com.dahe.gldriver.base
import android.app.ActivityManager import android.app.ActivityManager
import android.app.Application import android.app.Application
import android.app.PendingIntent 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.Context
import android.content.Intent import android.content.Intent
import android.os.Process import android.os.Process
import android.util.Log import android.util.Log
import anet.channel.util.Utils.context
import com.alct.mdp.MDPLocationCollectionManager import com.alct.mdp.MDPLocationCollectionManager
import com.dahe.gldriver.BuildConfig import com.dahe.gldriver.BuildConfig
import com.dahe.gldriver.R 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.oss.OssServiceUtil
import com.dahe.gldriver.push.PushHelper import com.dahe.gldriver.push.PushHelper
import com.dahe.gldriver.third.JTTProcess import com.dahe.gldriver.third.JTTProcess
import com.dahe.gldriver.third.PlayerMusicService
import com.dahe.gldriver.third.SPUtil import com.dahe.gldriver.third.SPUtil
import com.dahe.gldriver.ui.HomeActivity import com.dahe.gldriver.ui.HomeActivity
import com.dahe.gldriver.utils.OrderUtils import com.dahe.gldriver.utils.OrderUtils
@ -37,6 +40,7 @@ import javax.net.ssl.SSLContext
import javax.net.ssl.TrustManager import javax.net.ssl.TrustManager
import javax.net.ssl.X509TrustManager import javax.net.ssl.X509TrustManager
class App : Application() { class App : Application() {
override fun onCreate() { override fun onCreate() {
super.onCreate() super.onCreate()
@ -108,6 +112,8 @@ class App : Application() {
if (packageName == getCurrentProcessName(this)) { if (packageName == getCurrentProcessName(this)) {
//Log.e("--使用的测试环境--",BuildConfig.OPEN_API_URL); //Log.e("--使用的测试环境--",BuildConfig.OPEN_API_URL);
MDPLocationCollectionManager.initialize(this, BuildConfig.OPEN_AL_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 qrcodeUrl :String,
var expires_in :Int, var expires_in :Int,
var credit :String, var credit :String,
var auditStatus: String="",
var isCarCaptain :String,//是否是车队长0=否,1=是,9=未选择) var isCarCaptain :String,//是否是车队长0=否,1=是,9=未选择)
var contactName :String, var contactName :String,
var idcardName :String, var idcardName :String,

View File

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

View File

@ -71,8 +71,8 @@ object JTTProcess {
fun start(con: Context, sob: OrderDetailBean, remark: String?) { fun start(con: Context, sob: OrderDetailBean, remark: String?) {
val snis = arrayOfNulls<ShippingNoteInfo>(1) val snis = arrayOfNulls<ShippingNoteInfo>(1)
val sni = ShippingNoteInfo() val sni = ShippingNoteInfo()
val startWay = sob.orderChildList.filter { it.isPassingPoints!="0" }.first { it.type == "1" } 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 endWay = sob.orderChildList.filter { it.isPassingPoints=="0" }.last { it.type == "2" }
sni.shippingNoteNumber = sob.orderNum sni.shippingNoteNumber = sob.orderNum
sni.serialNumber = "0000" sni.serialNumber = "0000"
sni.startLatitude = startWay.latitude.toDouble() sni.startLatitude = startWay.latitude.toDouble()
@ -92,9 +92,9 @@ object JTTProcess {
LocationOpenApi.start( LocationOpenApi.start(
con, con,
sob.waybillInfo.vehicleNum, 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 con
).idcardName, )?.idcardName,
remark, remark,
snis, snis,
object : OnResultListener { object : OnResultListener {
@ -134,9 +134,9 @@ object JTTProcess {
LocationOpenApi.send( LocationOpenApi.send(
con, con,
sob.waybillInfo.vehicleNum, 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 con
).idcardName, )?.idcardName,
remark, remark,
snis, snis,
object : OnSendResultListener { object : OnSendResultListener {
@ -156,8 +156,8 @@ object JTTProcess {
fun pause(con: Context?, sob: OrderDetailBean, remark: String?) { fun pause(con: Context?, sob: OrderDetailBean, remark: String?) {
val snis = arrayOfNulls<ShippingNoteInfo>(1) val snis = arrayOfNulls<ShippingNoteInfo>(1)
val sni = ShippingNoteInfo() val sni = ShippingNoteInfo()
val startWay = sob.orderChildList.filter { it.isPassingPoints!="0" }.first { it.type == "1" } 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 endWay = sob.orderChildList.filter { it.isPassingPoints=="0" }.last { it.type == "2" }
sni.shippingNoteNumber = sob.orderNum sni.shippingNoteNumber = sob.orderNum
sni.serialNumber = "0000" sni.serialNumber = "0000"
sni.startLatitude = startWay.latitude.toDouble() sni.startLatitude = startWay.latitude.toDouble()
@ -172,9 +172,9 @@ object JTTProcess {
LocationOpenApi.pause( LocationOpenApi.pause(
con, con,
sob.waybillInfo.vehicleNum, 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 con
).idcardName, )?.idcardName,
remark, remark,
snis, snis,
object : OnResultListener { object : OnResultListener {
@ -193,8 +193,8 @@ object JTTProcess {
fun restart(con: Context?, sob: OrderDetailBean, remark: String?) { fun restart(con: Context?, sob: OrderDetailBean, remark: String?) {
val snis = arrayOfNulls<ShippingNoteInfo>(1) val snis = arrayOfNulls<ShippingNoteInfo>(1)
val sni = ShippingNoteInfo() val sni = ShippingNoteInfo()
val startWay = sob.orderChildList.filter { it.isPassingPoints!="0" }.first { it.type == "1" } 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 endWay = sob.orderChildList.filter { it.isPassingPoints=="0" }.last { it.type == "2" }
sni.shippingNoteNumber = sob.orderNum sni.shippingNoteNumber = sob.orderNum
sni.serialNumber = "0000" sni.serialNumber = "0000"
sni.startLatitude = startWay.latitude.toDouble() sni.startLatitude = startWay.latitude.toDouble()
@ -209,9 +209,9 @@ object JTTProcess {
LocationOpenApi.restart( LocationOpenApi.restart(
con, con,
sob.waybillInfo.vehicleNum, 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 con
).idcardName, )?.idcardName,
remark, remark,
snis, snis,
object : OnResultListener { object : OnResultListener {
@ -229,8 +229,8 @@ object JTTProcess {
fun stop(con: Context, sob: OrderDetailBean, remark: String?) { fun stop(con: Context, sob: OrderDetailBean, remark: String?) {
val snis = arrayOfNulls<ShippingNoteInfo>(1) val snis = arrayOfNulls<ShippingNoteInfo>(1)
val sni = ShippingNoteInfo() val sni = ShippingNoteInfo()
val startWay = sob.orderChildList.filter { it.isPassingPoints!="0" }.first { it.type == "1" } 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 endWay = sob.orderChildList.filter { it.isPassingPoints=="0" }.last { it.type == "2" }
sni.shippingNoteNumber = sob.orderNum sni.shippingNoteNumber = sob.orderNum
sni.serialNumber = "0000" sni.serialNumber = "0000"
sni.startLatitude = startWay.latitude.toDouble() sni.startLatitude = startWay.latitude.toDouble()
@ -247,9 +247,9 @@ object JTTProcess {
LocationOpenApi.stop( LocationOpenApi.stop(
con, con,
sob.waybillInfo.vehicleNum, 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 con
).idcardName, )?.idcardName,
remark, remark,
snis, snis,
object : OnResultListener { 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.os.Bundle
import android.widget.Toast import android.widget.Toast
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentStatePagerAdapter
import androidx.viewpager.widget.ViewPager 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.R
import com.dahe.gldriver.adapter.MyHomePagerAdapter import com.dahe.gldriver.adapter.MyHomePagerAdapter
import com.dahe.gldriver.bean.TabBean import com.dahe.gldriver.bean.TabBean
import com.dahe.gldriver.databinding.ActivityHomeBinding import com.dahe.gldriver.databinding.ActivityHomeBinding
import com.dahe.gldriver.event.GoWaybillEvent 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.home.HomeFragment
import com.dahe.gldriver.ui.message.MessageFragment import com.dahe.gldriver.ui.message.MessageFragment
import com.dahe.gldriver.ui.mine.MineFragment import com.dahe.gldriver.ui.mine.MineFragment
import com.dahe.gldriver.ui.waybill.WaybillFragment 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.base.BaseActivity
import com.dahe.mylibrary.net.CommonResponseBean
import com.flyco.tablayout.listener.CustomTabEntity import com.flyco.tablayout.listener.CustomTabEntity
import com.flyco.tablayout.listener.OnTabSelectListener import com.flyco.tablayout.listener.OnTabSelectListener
import com.permissionx.guolindev.PermissionX 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.EventBus
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
import java.util.Timer import java.util.Timer
@ -95,6 +100,7 @@ class HomeActivity : BaseActivity<ActivityHomeBinding>(), OnTabSelectListener,
Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.RECORD_AUDIO,
Manifest.permission.ACCESS_BACKGROUND_LOCATION, Manifest.permission.ACCESS_BACKGROUND_LOCATION,
) )
.request { allGranted, grantedList, deniedList -> .request { allGranted, grantedList, deniedList ->

View File

@ -1,5 +1,6 @@
package com.dahe.gldriver.ui.account package com.dahe.gldriver.ui.account
import android.Manifest
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
@ -21,6 +22,7 @@ import com.dahe.mylibrary.base.BaseActivity
import com.dahe.mylibrary.net.CommonResponseBean import com.dahe.mylibrary.net.CommonResponseBean
import com.dahe.mylibrary.utils.ActivityUtils import com.dahe.mylibrary.utils.ActivityUtils
import com.dahe.mylibrary.utils.ToastUtils import com.dahe.mylibrary.utils.ToastUtils
import com.permissionx.guolindev.PermissionX
import com.umeng.commonsdk.utils.UMUtils import com.umeng.commonsdk.utils.UMUtils
import com.umeng.umverify.UMResultCode import com.umeng.umverify.UMResultCode
import com.umeng.umverify.UMVerifyHelper import com.umeng.umverify.UMVerifyHelper
@ -78,6 +80,31 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>(), View.OnClickListener
override fun initDate() { 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?) { 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.AppConfig
import com.dahe.gldriver.base.WebActivity import com.dahe.gldriver.base.WebActivity
import com.dahe.gldriver.bean.GridBean import com.dahe.gldriver.bean.GridBean
import com.dahe.gldriver.bean.OrderDetailBean
import com.dahe.gldriver.databinding.FragmentHomeBinding import com.dahe.gldriver.databinding.FragmentHomeBinding
import com.dahe.gldriver.event.GoWaybillEvent import com.dahe.gldriver.event.GoWaybillEvent
import com.dahe.gldriver.net.BaseObserver import com.dahe.gldriver.net.BaseObserver
import com.dahe.gldriver.net.DataManager import com.dahe.gldriver.net.DataManager
import com.dahe.gldriver.net.RxHttpCallBack 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.home.activity.BusinessActivity
import com.dahe.gldriver.ui.mine.activity.PersonInfoActivity import com.dahe.gldriver.ui.mine.activity.PersonInfoActivity
import com.dahe.gldriver.ui.waybill.activity.WaybillDetailActivity import com.dahe.gldriver.ui.waybill.activity.WaybillDetailActivity
import com.dahe.gldriver.utils.OrderUtils import com.dahe.gldriver.utils.OrderUtils
import com.dahe.gldriver.utils.UserUtils
import com.dahe.glex.bean.OrderBean import com.dahe.glex.bean.OrderBean
import com.dahe.glex.bean.UserBean
import com.dahe.glex.bean.UserDetail import com.dahe.glex.bean.UserDetail
import com.dahe.mylibrary.base.BaseFragment import com.dahe.mylibrary.base.BaseFragment
import com.dahe.mylibrary.callback.RefreshCallBack 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.recycleviewswipe.RecycleViewDivider
import com.dahe.mylibrary.utils.ActivityUtils import com.dahe.mylibrary.utils.ActivityUtils
import com.dahe.mylibrary.utils.ConvertUtils import com.dahe.mylibrary.utils.ConvertUtils
import com.dahe.mylibrary.utils.ImageLoader
import com.permissionx.guolindev.PermissionX import com.permissionx.guolindev.PermissionX
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers import io.reactivex.rxjava3.schedulers.Schedulers
@ -196,6 +197,24 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(), RefreshCallBack {
//执行中运单轨迹上传 //执行中运单轨迹上传
OrderUtils.getInstance().upLocation(mContext) 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() { private fun initRecy() {

View File

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

View File

@ -57,12 +57,12 @@ class CarTeamManActivity : BaseActivity<ActivityCarTeamBinding>() {
mFragments.run { mFragments.run {
add(DriversManFragment().apply { add(DriversManFragment().apply {
arguments = Bundle().apply { arguments = Bundle().apply {
putString(AppConfig.ID, SPUtils.instance.getUserInfo(mContext)!!.captainId) putString(AppConfig.ID, SPUtils.instance.getUserInfo(mContext)?.captainId)
} }
}) })
add(CarsManFragment().apply { add(CarsManFragment().apply {
arguments = Bundle().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, mContext,
EditCaTeamActivity::class.java, EditCaTeamActivity::class.java,
Bundle().apply { 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.ui.account.LoginActivity
import com.dahe.gldriver.utils.CommonPopUtils import com.dahe.gldriver.utils.CommonPopUtils
import com.dahe.gldriver.utils.SPUtils import com.dahe.gldriver.utils.SPUtils
import com.dahe.gldriver.utils.UserUtils
import com.dahe.glex.bean.UserBean import com.dahe.glex.bean.UserBean
import com.dahe.mylibrary.base.BaseActivity import com.dahe.mylibrary.base.BaseActivity
import com.dahe.mylibrary.callback.PushAliasListener import com.dahe.mylibrary.callback.PushAliasListener
@ -59,9 +60,10 @@ class SettingActivity : BaseActivity<ActivitySettingBinding>(), View.OnClickList
binding.rlTwo.id -> { binding.rlTwo.id -> {
CommonPopUtils.getInstance() CommonPopUtils.getInstance()
.showCommCenterPop(mContext, content = "您确定退出当前app么?") { .showCommCenterPop(mContext, content = "您确定退出好运司机端么?") {
SPUtils.instance.removeUserToken(mContext) UserUtils.instance.loginOut(mContext)
ActivityUtils.startLoginActivity(mContext,LoginActivity::class.java) // SPUtils.instance.removeUserToken(mContext)
// ActivityUtils.startLoginActivity(mContext,LoginActivity::class.java)
// ActivityUtils.finishAllActivities() // ActivityUtils.finishAllActivities()
} }
} }

View File

@ -64,7 +64,7 @@ class WaybillAppraiseActivity : BaseActivity<ActivityWaybillUnloadBinding>() {
SeeDocActivity::class.java, SeeDocActivity::class.java,
Bundle().apply { putString(AppConfig.ORDER_ID, orderId) }) 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() initRecy()
getLocation() getLocation()
binding.run { binding.run {

View File

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

View File

@ -67,7 +67,7 @@ class WaybillLoadActivity : BaseActivity<ActivityWaybillLoadBinding>() {
Bundle().apply { putString(AppConfig.ORDER_ID, orderId) }) 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() initRecy()
getLocation() getLocation()

View File

@ -61,7 +61,7 @@ class WaybillUnlLoadActivity : BaseActivity<ActivityWaybillUnloadBinding>() {
SeeDocActivity::class.java, SeeDocActivity::class.java,
Bundle().apply { putString(AppConfig.ORDER_ID, orderId) }) 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() initRecy()
getLocation() getLocation()
binding.run { binding.run {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -105,7 +105,7 @@ class OrderUtils private constructor() {
listener: OnResultListener listener: OnResultListener
) { ) {
val userInfo = SPUtils.instance.getUserInfo(context) val userInfo = SPUtils.instance.getUserInfo(context)
if (userInfo.isCarCaptain == "1") { if (userInfo?.isCarCaptain == "1") {
DataManager.getInstance() DataManager.getInstance()
.selectCarsList(userInfo.captainId) .selectCarsList(userInfo.captainId)
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
@ -214,7 +214,8 @@ class OrderUtils private constructor() {
* @param context Context * @param context Context
*/ */
fun upLocation(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 return
DataManager.getInstance().orderDetail("") DataManager.getInstance().orderDetail("")
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()) .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.glex.bean.UserBean
import com.dahe.mylibrary.net.JsonUtils import com.dahe.mylibrary.net.JsonUtils
import com.dahe.mylibrary.utils.BaseSPUtils import com.dahe.mylibrary.utils.BaseSPUtils
import com.google.gson.Gson
/** /**
* @ClassName SPUtils2 * @ClassName SPUtils2
@ -36,12 +37,13 @@ class SPUtils private constructor() : BaseSPUtils() {
* *
* @param context * @param context
*/ */
fun getUserInfo(context: Context?): UserBean { fun getUserInfo(context: Context?): UserBean? {
return JsonUtils.getInstance() val s = get(context, USER_INFO_KEY, "") as String
.fromJson( if (s.isNullOrEmpty())
BaseSPUtils.get(context, BaseSPUtils.USER_INFO_KEY, "") as String, return null
UserBean::class.java else
) return JsonUtils.getInstance()
.fromJson(s, UserBean::class.java)
} }
fun setUserToken(context: Context?, token: String) { fun setUserToken(context: Context?, token: String) {
@ -58,11 +60,11 @@ class SPUtils private constructor() : BaseSPUtils() {
} }
fun getIsFirstOpenApp(context: Context): Boolean { 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){ fun setIsFirstOpenApp(context: Context, isFirstOpen: Boolean) {
put(context,AppConfig.IS_FIRST_OPEN,isFirstOpen) put(context, AppConfig.IS_FIRST_OPEN, isFirstOpen)
} }

View File

@ -24,6 +24,7 @@ class UserUtils private constructor(){
} }
fun loginOut(context : Context){ fun loginOut(context : Context){
SPUtils.instance.removeUserToken(context)
if (null== SPUtils.instance.getUserInfo(context)) if (null== SPUtils.instance.getUserInfo(context))
return return
//删除推送别名 //删除推送别名
@ -32,7 +33,7 @@ class UserUtils private constructor(){
val intent = Intent(context, LauncherActivity::class.java) val intent = Intent(context, LauncherActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK
context.startActivity(intent) context.startActivity(intent)
ToastUtils.showToast(context, "您的账号再异地登录,请重新登录") // ToastUtils.showToast(context, "您的账号再异地登录,请重新登录")
} }
fun loginIn(context: Context,userBean: UserBean){ fun loginIn(context: Context,userBean: UserBean){

Binary file not shown.