From d2c92897e22b2c1992eceaef585f967a06b6ea84 Mon Sep 17 00:00:00 2001 From: liugl <liugl@sinata.cn> Date: 星期一, 02 十一月 2020 15:59:29 +0800 Subject: [PATCH] 11.30 首页列表添加 其他数据用来展示页面 不空 --- app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt | 327 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 285 insertions(+), 42 deletions(-) diff --git a/app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt b/app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt index f1d398c..0132e2c 100644 --- a/app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt +++ b/app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt @@ -1,11 +1,18 @@ package com.okgoincar.slab +import android.content.Context +import android.content.Intent +import android.content.IntentFilter +import android.os.Bundle +import android.os.Handler +import android.os.Looper 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.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 @@ -17,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 { @@ -41,28 +54,63 @@ setContentView(R.layout.slab_activity_main) } + 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) + 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_green_top) - ct_bg.setBackgroundResource(R.drawable.bg_slab_main) - + 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_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{ + showNoneNetDialog() + } } + + private fun callPersion() { callNet(true, Api.queryInfo, getMapByAny()) { @@ -72,14 +120,62 @@ } } + var popup:EasyPopup? = null + override fun onResume() { super.onResume() - mainFragment.refresh() + showNoneNetDialog() + try { + mainFragment?.refresh() + }catch (e:Exception){ + + } } + + fun showNoneNetDialog(){ + if (!NetUtils.isNetworkConnected(this)){ + popup = getSlabDelAndSurePopWindow(this,"刷新","取消","网络不通畅,是否刷新页面?",{}){ + if (!NetUtils.isNetworkConnected(this)){ + toast("无网络") + }else{ + initView() + popup?.dismiss() + } + } + window.decorView.post { + popup?.showCenter(window.decorView) + } + } + } + + 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 = @@ -89,13 +185,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()) } } @@ -105,6 +205,18 @@ 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) { + 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("您正在上班中") + } + } } @@ -125,42 +237,84 @@ override fun setOnclick() { tv_server_ing.setOnClickListener { tv_server_ing.textColor(this, R.color.main_yellow) - tv_wait_server.textColor(this, R.color.white) + if (getNowTimeBlack()) { + tv_wait_server.textColor(this, R.color.white) + } else { + tv_wait_server.textColor(this, R.color.black) + } mainFragment.state = 1 mainFragment.autoRefresh() } tv_wait_server.setOnClickListener { - tv_server_ing.textColor(this, R.color.white) tv_wait_server.textColor(this, R.color.main_yellow) + if (getNowTimeBlack()) { + tv_server_ing.textColor(this, R.color.white) + } else { + tv_server_ing.textColor(this, R.color.black) + } mainFragment.state = 2 mainFragment.autoRefresh() } + tv_name.clickDelay { + } + tv_car_num.clickDelay { + + } + + tv_star_num.clickDelay { + + } + + 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 = "出车" - toast("下班成功") - } - } else { - var map = getMapByAny() - map["type"] = "2" - callNet(true, Api.work2, map) { - homeDataBean?.data?.work = 1 - tv_car.text = "收车" - toast("上班成功") - } - } + + // 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("您正在上班中") +// } +// } } } @@ -175,7 +329,7 @@ .show() mBackAppTime = System.currentTimeMillis() } else { - closeAll() + moveTaskToBack(true) } } @@ -185,13 +339,102 @@ BaseEvent.START_CAR -> { initCall() } + BaseEvent.REQUEST_CAR_INFO -> { + Handler(Looper.getMainLooper()).post { + toast("收到显示屏信息") + } + } + BaseEvent.ERROR_INFO -> { + try { + mainFragment.refresh() + }catch (e:Exception){ + + } + } } } override fun onLocationChanged(p0: AMapLocation?) { - if (p0?.errorCode == 0) { + if (p0 == null) { +// toast("高德位置是空的") + return + } + if (p0.errorCode == 0) { +// toast("定位成功") MyApplication.aMapLocation = p0 CacheKey.putKeyStr("location", Gson().toJson(p0)) + } else { + p0.let { +// 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(true,this, "确定", "取消", "有新版本是否更新", {}) { + DownloadUtil(this).downloadAPK(bean.data.url, "ok出行车载端") + } + pop.showCenter(window.decorView) + } else { + var pop = DialogUtil.getSlabDelAndSurePopWindow( + false, + 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,{ + 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() + }) { + ok() + } + } else if (identification.isNotEmpty()) { + var map = getMapByAny() + map["taxiAptitudeCard"] = identification + callNet(this, 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() + }) { + ok() + } + } else { + ok() } } } \ No newline at end of file -- Gitblit v1.7.1