From 664834b83a4c50cac039bbfa49f5164ca9bf8e3c Mon Sep 17 00:00:00 2001
From: liugl <liugl@sinata.cn>
Date: 星期五, 07 八月 2020 17:05:17 +0800
Subject: [PATCH] 8.7

---
 app/src/main/java/com/okgoincar/base/MainBroadCastReceiver.kt |   75 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 73 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..b699c3a 100644
--- a/app/src/main/java/com/okgoincar/base/MainBroadCastReceiver.kt
+++ b/app/src/main/java/com/okgoincar/base/MainBroadCastReceiver.kt
@@ -3,10 +3,81 @@
 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)
+                toast("isLogin=$b")
+                if (!b){
+                    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 toLoginActivity(context: Context?,driverCertificate: String?) {
+        var map = getMapByAny()
+        map["identification"] = driverCertificate
+        callNet(context!!,Api.loginByIdentification,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