From bd6a8872438a35d47821c5d5da7fe149e5fed3ab Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期三, 21 六月 2023 09:53:36 +0800 Subject: [PATCH] 处理收不到广播 --- app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt | 213 ++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 155 insertions(+), 58 deletions(-) diff --git a/app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt b/app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt index e3e7b79..3c361be 100644 --- a/app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt +++ b/app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt @@ -1,22 +1,20 @@ 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.view.Gravity +import android.view.KeyEvent +import android.view.ViewGroup +import android.widget.PopupWindow import android.widget.Toast import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import cn.sinata.rxnetty.NettyClient +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 -import com.okgoincar.netUtls.getMapByAny -import com.okgoincar.ui.adapter.SlabStartAdapter -import com.okgoincar.utils.Cache.CacheKey import com.google.gson.Gson import com.okgoincar.R import com.okgoincar.base.AMapKit @@ -24,19 +22,22 @@ import com.okgoincar.base.MyApplication import com.okgoincar.bean.* import com.okgoincar.netUtls.Api -import com.okgoincar.netUtls.sendAudio +import com.okgoincar.netUtls.callNet +import com.okgoincar.netUtls.createView +import com.okgoincar.netUtls.getMapByAny import com.okgoincar.slab.event.SlabMineEventActivity import com.okgoincar.slab.util.DialogUtil +import com.okgoincar.ui.adapter.SlabStartAdapter +import com.okgoincar.utils.Cache.CacheKey import com.okgoincar.utils.DateUtil +import com.okgoincar.utils.EasePopup.EasyPopup +import com.okgoincar.utils.PackageUtil 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.dialog_sure_and_del_slab.view.* 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 { @@ -83,25 +84,27 @@ 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) - callLogin { - view_mode.isSelected = !getNowTimeBlack() - 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() + callVersion() + } + } else { + showNoneNetDialog() } - //重重新登录 用来上线 } @@ -113,18 +116,82 @@ } } + var popup: PopupWindow? = null + override fun onResume() { super.onResume() + showNoneNetDialog() try { - mainFragment.refresh() - }catch (e:Exception){ + mainFragment?.refresh() + callPersion() + } 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?.showAtLocation(window.decorView, Gravity.CENTER, 0, 0); +// popup?.showCenter(window.decorView) + } + } + } + + fun getSlabDelAndSurePopWindow( + context: Context, + sureStr: String, + cancelStr: String, + content: String, + clickClose: () -> Unit, + clickSure: () -> Unit + ): PopupWindow { + var dialog = PopupWindow(createView(R.layout.dialog_sure_and_del_slab, context)) + dialog.width = ViewGroup.LayoutParams.MATCH_PARENT + dialog.height = ViewGroup.LayoutParams.MATCH_PARENT + + 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 + if (Api.BASE_URL.contains("okyueche")){ + textView_version.text = "版本-V" + PackageUtil.getVersionName(this)+"_online" + }else{ + textView_version.text = "版本-V" + PackageUtil.getVersionName(this)+ "_测试" + } + 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 = @@ -134,13 +201,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, 8) tv_current_time.text = DateUtil.getTime( DateUtil.TYPE7, System.currentTimeMillis() - ) + "\n" + DateUtil.getWeek(System.currentTimeMillis()) + ) + DateUtil.getWeek(System.currentTimeMillis()) } } @@ -155,7 +226,7 @@ } else { // MyApplication.getTTsManager().setVideoText("您已下班") var mapC = getMapByAny() - mapC["type"] = "2" + mapC["type"] = "2,4" callNet(true, Api.work2, mapC) { homeDataBean?.data?.work = 1 tv_car.text = "收车" @@ -203,7 +274,7 @@ } tv_name.clickDelay { - toast("点亮网约") + } tv_car_num.clickDelay { @@ -218,12 +289,12 @@ startActivity<SlabOrderListActivity>() } - ll_task.clickDelay { startActivity<SlabMineEventActivity>() } tv_title_top.clickDelay { +// showOrder("3170","2",100,1) } view_mode.clickDelay { @@ -232,10 +303,12 @@ 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() } @@ -267,6 +340,9 @@ var mBackAppTime: Long = 0 override fun onBackPressed() { + if (popup != null && popup!!.isShowing) { + return + } if (System.currentTimeMillis() - mBackAppTime > 2000) { Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT) .show() @@ -274,6 +350,13 @@ } else { moveTaskToBack(true) } + } + + override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { + if (popup != null && popup!!.isShowing) { + return false + } + return super.onKeyDown(keyCode, event) } override fun onEventMainThread(event: BaseEvent?) { @@ -287,11 +370,16 @@ toast("收到显示屏信息") } } + BaseEvent.UPDATA_MAIN_CAR -> { + try { + mainFragment.refresh() + } catch (e: Exception) { + } + } BaseEvent.ERROR_INFO -> { try { mainFragment.refresh() - }catch (e:Exception){ - + } catch (e: Exception) { } } } @@ -299,16 +387,16 @@ 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()) } } } @@ -317,19 +405,26 @@ 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.version != "" && bean.data.version > Utils.getAppVersion(this)) { if (bean.data.mandatory == 0) { var pop = - DialogUtil.getSlabDelAndSurePopWindow(this, "确定", "取消", "有新版本是否更新", {}) { + 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("后台开始下载,请等待") @@ -338,32 +433,17 @@ } } 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) { + 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) @@ -372,6 +452,23 @@ 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() -- Gitblit v1.7.1