8.7
liugl
2020-08-07 664834b83a4c50cac039bbfa49f5164ca9bf8e3c
app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt
@@ -10,10 +10,7 @@
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import cn.sinata.rxnetty.NettyClient
import cn.sinata.xldutils.utils.Utils
import cn.sinata.xldutils.utils.clickDelay
import cn.sinata.xldutils.utils.getNowTimeBlack
import cn.sinata.xldutils.utils.textColor
import cn.sinata.xldutils.utils.*
import com.amap.api.location.AMapLocation
import com.amap.api.location.AMapLocationListener
import com.okgoincar.netUtls.callNet
@@ -33,10 +30,13 @@
import com.okgoincar.utils.DateUtil
import com.okgoincar.utils.download.DownloadUtil
import com.okgoincar.utils.glide.GlideUtil
import kotlinx.android.synthetic.main.slab_activity_login.*
import kotlinx.android.synthetic.main.slab_activity_main.*
import kotlinx.android.synthetic.main.slab_activity_main.tv_name
import org.greenrobot.eventbus.EventBus
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.toast
import java.lang.Exception
class SlabMainActivity : MySlabBaseActivity(), AMapLocationListener {
@@ -91,14 +91,17 @@
        setTitleText("OK出行司机")
        showHeader(false)
        showTitle(false)
        addFragment(mainFragment, R.id.rl_container)
        AMapKit.initLocation(this, this)
        initCall()
        NettyClient.getInstance().startService()
        callPersion()
        callLogin {
            view_mode.isSelected = !getNowTimeBlack()
            addFragment(mainFragment, R.id.rl_container)
            AMapKit.initLocation(this, this)
            initCall()
            NettyClient.getInstance().startService()
            callPersion()
//        showOrder("2221", "2", 100, 2)
        callVersion()
        view_mode.isSelected = !getNowTimeBlack()
            callVersion()
        }
        //重重新登录 用来上线
    }
@@ -112,7 +115,11 @@
    override fun onResume() {
        super.onResume()
        mainFragment.refresh()
        try {
            mainFragment.refresh()
        }catch (e:Exception){
        }
    }
    private fun showUI(data: UserInfoBean?) {
@@ -133,7 +140,7 @@
            tv_current_time.text = DateUtil.getTime(
                DateUtil.TYPE7,
                System.currentTimeMillis()
            ) + "\n" + DateUtil.getWeek(System.currentTimeMillis())
            ) + DateUtil.getWeek(System.currentTimeMillis())
        }
    }
@@ -196,7 +203,6 @@
        }
        tv_name.clickDelay {
            toast("点亮网约")
        }
        tv_car_num.clickDelay {
@@ -217,18 +223,21 @@
        }
        tv_title_top.clickDelay {
        }
        view_mode.clickDelay {
            view_mode.isSelected = !view_mode.isSelected
            if (getNowTimeBlack()){
                CacheKey.putKeyStr("date_mode",System.currentTimeMillis().toString())
                CacheKey.putKeyStr("mode_now_time","1")//记录为点击切换的颜色 1 白色 2 黑色
            if (getNowTimeBlack()) {
                CacheKey.putKeyStr("date_mode", System.currentTimeMillis().toString())
                CacheKey.putKeyStr("mode_now_time", "1")//记录为点击切换的颜色 1 白色 2 黑色
                setBlackMode(false)
            }else{
                CacheKey.putKeyStr("date_mode",System.currentTimeMillis().toString())
                CacheKey.putKeyStr("mode_now_time","2")
                mainFragment.adapter.notifyDataSetChanged()
            } else {
                CacheKey.putKeyStr("date_mode", System.currentTimeMillis().toString())
                CacheKey.putKeyStr("mode_now_time", "2")
                setBlackMode(true)
                mainFragment.adapter.notifyDataSetChanged()
            }
@@ -256,8 +265,6 @@
    }
    private
    var mBackAppTime: Long = 0
@@ -282,21 +289,28 @@
                    toast("收到显示屏信息")
                }
            }
            BaseEvent.ERROR_INFO -> {
                try {
                    mainFragment.refresh()
                }catch (e:Exception){
                }
            }
        }
    }
    override fun onLocationChanged(p0: AMapLocation?) {
        if (p0 == null) {
            toast("高德位置是空的")
//            toast("高德位置是空的")
            return
        }
        if (p0.errorCode == 0) {
            toast("定位成功")
//            toast("定位成功")
            MyApplication.aMapLocation = p0
            CacheKey.putKeyStr("location", Gson().toJson(p0))
        } else {
            p0.let {
                toast("定位失败" + it.errorCode.toString())
//                toast("定位失败" + it.errorCode.toString())
            }
        }
    }
@@ -307,12 +321,18 @@
            var bean = gson.fromJson<VersionBean>(it, VersionBean::class.java)
            if (bean.data.version != "" && bean.data.version != Utils.getAppVersion(this)) {
                if (bean.data.mandatory == 0) {
                    var pop = DialogUtil.getSlabDelAndSurePopWindow(this, "确定" ,"取消","有新版本是否更新", {}) {
                        DownloadUtil(this).downloadAPK(bean.data.url, "ok出行车载端")
                    }
                    var pop =
                        DialogUtil.getSlabDelAndSurePopWindow(this, "确定", "取消", "有新版本是否更新", {}) {
                            DownloadUtil(this).downloadAPK(bean.data.url, "ok出行车载端")
                        }
                    pop.showCenter(window.decorView)
                } else {
                    var pop = DialogUtil.getSlabDelAndSurePopWindow(this,"确定" ,"取消","版本已过时,是否强制升级?", {}) {
                    var pop = DialogUtil.getSlabDelAndSurePopWindow(
                        this,
                        "确定",
                        "取消",
                        "版本已过时,是否强制升级?",
                        {}) {
                        DownloadUtil(this).downloadAPK(bean.data.url, "ok出行车载端")
                        toast("后台开始下载,请等待")
                    }
@@ -320,8 +340,42 @@
                }
            } else {
                toast("已经是最新版本")
            }
        }
    }
    private fun callLogin(ok: () -> Unit) {
        var jobNum = CacheKey.getKeyStr("jobNum")
        var identification = CacheKey.getKeyStr("identification")
        if (jobNum.isNotEmpty()) {
            var map = getMapByAny()
            map["jobNum"] = jobNum
            callNet(true, Api.loginByJobNumber, map) {
                var bean = gson.fromJson<LoginBean>(it, LoginBean::class.java)
                CacheKey.putKeyStr("jobNum", jobNum)
                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())
                ok()
            }
        } else if (identification.isNotEmpty()) {
            var map = getMapByAny()
            map["identification"] = identification
            callNet(true, Api.loginByIdentification, map) {
                var bean = Gson().fromJson<LoginBean>(it, LoginBean::class.java)
                CacheKey.putKeyStr("identification", identification)
                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())
                ok()
            }
        } else {
            ok()
        }
    }
}