From 40f9ac00ec5e4d6363450d1c8e0b0937cc0b1de4 Mon Sep 17 00:00:00 2001 From: liugl <liugl@sinata.cn> Date: 星期四, 14 一月 2021 10:50:18 +0800 Subject: [PATCH] 1。4:处理预约单导致串单的问题 隐藏预约单 --- app/src/main/java/com/okgoincar/base/MainBroadCastReceiver.kt | 86 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 84 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/okgoincar/base/MainBroadCastReceiver.kt b/app/src/main/java/com/okgoincar/base/MainBroadCastReceiver.kt index e4c67bb..8c58ed5 100644 --- a/app/src/main/java/com/okgoincar/base/MainBroadCastReceiver.kt +++ b/app/src/main/java/com/okgoincar/base/MainBroadCastReceiver.kt @@ -3,10 +3,92 @@ import android.content.BroadcastReceiver import android.content.Context import android.content.Intent +import android.os.Handler +import android.os.Looper +import cn.sinata.rxnetty.netStatus.NetUtils import cn.sinata.xldutils.utils.toast +import com.google.gson.Gson +import com.okgoincar.bean.LoginBean +import com.okgoincar.netUtls.Api +import com.okgoincar.netUtls.callNet +import com.okgoincar.netUtls.getMapByAny +import com.okgoincar.netUtls.getToken +import com.okgoincar.slab.SlabLoginActivity +import com.okgoincar.slab.SlabMainActivity +import com.okgoincar.utils.Cache.CacheKey +import com.okgoincar.utils.Cache.CacheUtil +import org.greenrobot.eventbus.EventBus +import org.jetbrains.anko.startActivity +import java.lang.Exception class MainBroadCastReceiver : BroadcastReceiver() { - override fun onReceive(context: Context?, intent: Intent?) { - toast("获取的action="+intent!!.getStringExtra("isLogin")) + override fun onReceive(contexts: Context?, intent: Intent?) { + if (intent == null) { + toast("内容获取为空,广播接收消息错误") + return + } + try { + Handler(Looper.getMainLooper()).post { + val b = intent.getBooleanExtra("isLogin", true) + if (!b) { + loginOut(contexts) + CacheUtil.get().clear() + EventBus.getDefault().post(BaseEvent(BaseEvent.OUT_APP)) + } else { + if (getToken().isNullOrEmpty()) { + Handler(Looper.getMainLooper()).post { +// toast("开始登录") + } + var driverCertificate = intent.getStringExtra("driverCertificate") + if (driverCertificate == null) { +// toast("身份证获取失败") + } else { + if (contexts == null) { +// toast("上下文为空,使用全局跳转") + toLoginActivity(MyApplication.getInstance(), driverCertificate) + } else { + toLoginActivity(MyApplication.getInstance(), driverCertificate) + } + } + + } + } + } + } catch (e: Exception) { + + } + + } + + private fun loginOut(context: Context?) { + var map = getMapByAny() + callNet(context!!, Api.loginOut, map) { + toast("Ok退签") + } + } + + private fun toLoginActivity(context: Context?, driverCertificate: String?) { + var map = getMapByAny() + if (driverCertificate.isNullOrEmpty()){ + toast("资格证号:空") + return + } + map["taxiAptitudeCard"] = driverCertificate + callNet(context!!, Api.loginByTaxiAptitudeCard, map) { + toast("登录成功") + var bean = Gson().fromJson<LoginBean>(it, LoginBean::class.java) + CacheKey.putKeyStr("identification", driverCertificate) + CacheKey.putKeyStr("appid", bean.data.appid) + CacheKey.putKeyStr("token", bean.data.token) + CacheKey.putKeyStr("userId", bean.data.id.toString()) + CacheKey.putKeyStr("serverId", bean.data.serverId.toString()) + CacheKey.putKeyStr("terminalName", bean.data.terminalId.toString()) + Handler(Looper.getMainLooper()).post { + var intent = Intent() + intent.setClass(context, SlabMainActivity::class.java) + intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK + context.startActivity(intent) + } + } } } \ No newline at end of file -- Gitblit v1.7.1