| | |
| | | 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) |
| | | } |
| | | } |
| | | } |
| | | } |