From 40a8a2c243c15fe8d4eb46f4dbc42a290bd0a63a Mon Sep 17 00:00:00 2001 From: liugl <liugl@sinata.cn> Date: 星期四, 10 九月 2020 15:34:08 +0800 Subject: [PATCH] 9.10 --- app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt | 320 +++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 247 insertions(+), 73 deletions(-) diff --git a/app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt b/app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt index 61dd992..e50b41e 100644 --- a/app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt +++ b/app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt @@ -1,5 +1,6 @@ package com.okgoincar.slab +import android.content.Context import android.content.Intent import android.content.IntentFilter import android.os.Bundle @@ -8,10 +9,10 @@ import android.widget.Toast import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import cn.sinata.rxnetty.Cache.CacheUtil import cn.sinata.rxnetty.NettyClient -import cn.sinata.xldutils.utils.clickDelay -import cn.sinata.xldutils.utils.getNowTimeBlack -import cn.sinata.xldutils.utils.textColor +import cn.sinata.xldutils.netstatus.NetUtils +import cn.sinata.xldutils.utils.* import com.amap.api.location.AMapLocation import com.amap.api.location.AMapLocationListener import com.okgoincar.netUtls.callNet @@ -23,17 +24,23 @@ import com.okgoincar.base.AMapKit import com.okgoincar.base.BaseEvent import com.okgoincar.base.MyApplication -import com.okgoincar.bean.HomeDataBean -import com.okgoincar.bean.MainInfoBean -import com.okgoincar.bean.UserBean -import com.okgoincar.bean.UserInfoBean +import com.okgoincar.bean.* import com.okgoincar.netUtls.Api +import com.okgoincar.netUtls.sendAudio import com.okgoincar.slab.event.SlabMineEventActivity +import com.okgoincar.slab.util.DialogUtil import com.okgoincar.utils.DateUtil +import com.okgoincar.utils.EasePopup.EasyPopup +import com.okgoincar.utils.download.DownloadUtil import com.okgoincar.utils.glide.GlideUtil +import kotlinx.android.synthetic.main.dialog_sure_and_del_slab.view.* +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 { @@ -50,46 +57,60 @@ override fun setBlackMode(b: Boolean?) { super.setBlackMode(b) - if (b!!) { + if (b!!) { //晚上 ct_bg.setBackgroundResource(R.color.black_191919) - ll_top.setBackgroundResource(R.drawable.bg_green_top_black) - tv_server_ing.textColor(this,R.color.write) - iv_small.textColor(this,R.color.write) - tv_wait_server.textColor(this,R.color.write) - tv_code_num.textColor(this,R.color.write) - tv_name.textColor(this,R.color.write) - tv_car_num.textColor(this,R.color.write) - tv_star_num.textColor(this,R.color.write) - tv_current_time.textColor(this,R.color.write) - tv_company.textColor(this,R.color.write) - tv_time.textColor(this,R.color.write) + ll_top.setBackgroundResource(R.drawable.bg_gray_top) + tv_server_ing.textColor(this, R.color.write) + iv_small.textColor(this, R.color.write) + tv_wait_server.textColor(this, R.color.write) + tv_code_num.textColor(this, R.color.write) + tv_name.textColor(this, R.color.write) + tv_car_num.textColor(this, R.color.write) + tv_star_num.textColor(this, R.color.write) + tv_current_time.textColor(this, R.color.write) + tv_company.textColor(this, R.color.write) + tv_time.textColor(this, R.color.write) + tv_car_statue.textColor(this, R.color.write) + tv_title.textColor(this, R.color.slab_yellow_zhong) } else { - ll_top.setBackgroundResource(R.drawable.bg_white_round5) + ll_top.setBackgroundResource(R.drawable.bg_green_top) ct_bg.setBackgroundResource(R.drawable.write) - tv_server_ing.textColor(this,R.color.black) - iv_small.textColor(this,R.color.black) - tv_wait_server.textColor(this,R.color.black) - tv_code_num.textColor(this,R.color.black) - tv_name.textColor(this,R.color.black) - tv_car_num.textColor(this,R.color.black) - tv_star_num.textColor(this,R.color.black) - tv_current_time.textColor(this,R.color.black) - tv_company.textColor(this,R.color.black) - tv_time.textColor(this,R.color.black) - + tv_server_ing.textColor(this, R.color.black) + iv_small.textColor(this, R.color.black) + tv_wait_server.textColor(this, R.color.black) + tv_code_num.textColor(this, R.color.black) + tv_name.textColor(this, R.color.black) + tv_car_num.textColor(this, R.color.black) + tv_star_num.textColor(this, R.color.black) + tv_current_time.textColor(this, R.color.black) + tv_company.textColor(this, R.color.black) + tv_time.textColor(this, R.color.black) + tv_car_statue.textColor(this, R.color.black) + tv_title.textColor(this, R.color.yellow_ffa72d) } } override fun initView() { - setTitleText("OK出行司机") - showHeader(false) - showTitle(false) - addFragment(mainFragment, R.id.rl_container) - AMapKit.initLocation(this, this) - initCall() - NettyClient.getInstance().startService() - callPersion() + if (NetUtils.isNetworkConnected(this)){ + setTitleText("OK出行司机") + showHeader(false) + showTitle(false) + 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() + } + }else{ + toast("无网络") + } } + + private fun callPersion() { callNet(true, Api.queryInfo, getMapByAny()) { @@ -99,14 +120,59 @@ } } + var popup:EasyPopup? = null + override fun onResume() { super.onResume() - mainFragment.refresh() + if (!NetUtils.isNetworkConnected(this)){ + popup = getSlabDelAndSurePopWindow(this,"刷新","取消","网络不通畅,是否刷新页面?",{}){ + if (!NetUtils.isNetworkConnected(this)){ + toast("无网络") + }else{ + initView() + popup?.dismiss() + } + } + window.decorView.post { + popup?.showCenter(window.decorView) + } + } + try { + mainFragment?.refresh() + }catch (e:Exception){ + + } + } + + fun getSlabDelAndSurePopWindow(context: Context,sureStr:String,cancelStr:String,content:String,clickClose :() -> Unit,clickSure:() -> Unit): EasyPopup { + var dialog = DialogUtil.getPopupwindow(context, R.layout.dialog_sure_and_del_slab) + var view = dialog.contentView + view.tv_close_base.text = cancelStr + view.tv_sure_base.text = sureStr + view.tv_close_base.gone() + view.tv_close_base.setOnClickListener { + dialog.dismiss() + clickClose() + } + view.tv_sure_base.setOnClickListener { + clickSure() + } + view.tv_view_two_base.text = content + return dialog + } + + + private fun showUI(data: UserInfoBean?) { data?.let { - tv_code_num.text = "证号:" + data.taxiAptitudeCard + tv_title_top.text = "服 务 监 督 卡" + if (data.taxiAptitudeCard.length > 7){ + tv_code_num.text = "资格证号:"+data.taxiAptitudeCard.substring(0,3)+"*******"+data.taxiAptitudeCard.substring(data.taxiAptitudeCard.length-4,data.taxiAptitudeCard.length) + }else{ + tv_code_num.text = "资格证号:" + data.taxiAptitudeCard + } tv_name.text = "姓名:" + it.name tv_car_num.text = "车牌:" + it.licensePlate recycler_view_start.layoutManager = @@ -116,13 +182,17 @@ false ) as RecyclerView.LayoutManager? recycler_view_start.adapter = SlabStartAdapter(it.score.toDouble()) - tv_company.text = "公司:" + it.company + var company = it.company + if (company.startsWith("广西")){ + company = company.substring(2,company.length) + } + tv_company.text = "公司:" + company tv_time.text = "发证日期:" + it.networkCarlssueDate - GlideUtil.load(this, it.avatar, iv_head, 1) + GlideUtil.load(this, it.avatar, iv_head, 8) tv_current_time.text = DateUtil.getTime( DateUtil.TYPE7, System.currentTimeMillis() - ) + "\n" + DateUtil.getWeek(System.currentTimeMillis()) + ) + DateUtil.getWeek(System.currentTimeMillis()) } } @@ -132,10 +202,17 @@ var data = gson.fromJson<HomeDataBean>(it, HomeDataBean::class.java) homeDataBean = data tv_car.text = if (data.data.work == 1) "收车" else "出车" - if (data.data.work == 1){ + if (data.data.work == 1) { MyApplication.getTTsManager().setVideoText("您正在上班中") - }else{ - MyApplication.getTTsManager().setVideoText("您已下班") + } else { +// MyApplication.getTTsManager().setVideoText("您已下班") + var mapC = getMapByAny() + mapC["type"] = "2" + callNet(true, Api.work2, mapC) { + homeDataBean?.data?.work = 1 + tv_car.text = "收车" + MyApplication.getTTsManager().setVideoText("您正在上班中") + } } } @@ -157,9 +234,9 @@ override fun setOnclick() { tv_server_ing.setOnClickListener { tv_server_ing.textColor(this, R.color.main_yellow) - if (getNowTimeBlack()){ + if (getNowTimeBlack()) { tv_wait_server.textColor(this, R.color.white) - }else{ + } else { tv_wait_server.textColor(this, R.color.black) } mainFragment.state = 1 @@ -168,9 +245,9 @@ tv_wait_server.setOnClickListener { tv_wait_server.textColor(this, R.color.main_yellow) - if (getNowTimeBlack()){ + if (getNowTimeBlack()) { tv_server_ing.textColor(this, R.color.white) - }else{ + } else { tv_server_ing.textColor(this, R.color.black) } mainFragment.state = 2 @@ -178,7 +255,7 @@ } tv_name.clickDelay { - toast("点亮网约") + } tv_car_num.clickDelay { @@ -189,27 +266,52 @@ } + tv_more.clickDelay { + startActivity<SlabOrderListActivity>() + } + ll_task.clickDelay { startActivity<SlabMineEventActivity>() } + 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 黑色 + setBlackMode(false) + mainFragment.adapter.notifyDataSetChanged() + } else { + CacheKey.putKeyStr("date_mode", System.currentTimeMillis().toString()) + CacheKey.putKeyStr("mode_now_time", "2") + setBlackMode(true) + mainFragment.adapter.notifyDataSetChanged() + } + + + } tv_car.clickDelay { - if (homeDataBean?.data?.work == 1) { - callNet(true, Api.work2, getMapByAny()) { - homeDataBean?.data?.work = 2 - tv_car.text = "出车" - MyApplication.getTTsManager().setVideoText("您已下班") - } - } else { - var map = getMapByAny() - map["type"] = "2" - callNet(true, Api.work2, map) { - homeDataBean?.data?.work = 1 - tv_car.text = "收车" - MyApplication.getTTsManager().setVideoText("您正在上班中") - } - } + + // if (homeDataBean?.data?.work == 1) { +// callNet(true, Api.work2, getMapByAny()) { +// homeDataBean?.data?.work = 2 +// tv_car.text = "出车" +// MyApplication.getTTsManager().setVideoText("您已下班") +// } +// } else { +// var map = getMapByAny() +// map["type"] = "2" +// callNet(true, Api.work2, map) { +// homeDataBean?.data?.work = 1 +// tv_car.text = "收车" +// MyApplication.getTTsManager().setVideoText("您正在上班中") +// } +// } } } @@ -224,7 +326,7 @@ .show() mBackAppTime = System.currentTimeMillis() } else { - closeAll() + moveTaskToBack(true) } } @@ -239,22 +341,94 @@ toast("收到显示屏信息") } } + BaseEvent.ERROR_INFO -> { + try { + mainFragment.refresh() + }catch (e:Exception){ + + } + } } } override fun onLocationChanged(p0: AMapLocation?) { - if (p0 == null){ - toast("高德位置是空的") + if (p0 == null) { +// toast("高德位置是空的") return } if (p0.errorCode == 0) { - toast("定位成功") +// toast("定位成功") MyApplication.aMapLocation = p0 CacheKey.putKeyStr("location", Gson().toJson(p0)) - }else{ + } else { p0.let { - toast("定位失败"+it.errorCode.toString()) +// toast("定位失败" + it.errorCode.toString()) } } } + + private fun callVersion() { + var map = getMapByAny() + callNet(false, Api.queryNewData_, map) { + 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出行车载端") + } + pop.showCenter(window.decorView) + } else { + var pop = DialogUtil.getSlabDelAndSurePopWindow( + this, + "确定", + "取消", + "版本已过时,是否强制升级?", + {}) { + DownloadUtil(this).downloadAPK(bean.data.url, "ok出行车载端") + toast("后台开始下载,请等待") + } + pop.showCenter(window.decorView) + } + + } else { + } + } + } + + private fun callLogin(ok: () -> Unit) { + var jobNum = CacheKey.getKeyStr("jobNum") + var identification = CacheKey.getKeyStr("identification") + if (jobNum.isNotEmpty()) { + var map = getMapByAny() + map["taxiAptitudeCard"] = identification + callNet(this, Api.loginByTaxiAptitudeCard, map,{ + ok() + }) { + 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 if (identification.isNotEmpty()) { + var map = getMapByAny() + map["taxiAptitudeCard"] = identification + callNet(true, Api.loginByTaxiAptitudeCard, 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() + } + } } \ No newline at end of file -- Gitblit v1.7.1