| | |
| | | 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 |
| | |
| | | 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 { |
| | | |
| | |
| | | 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() |
| | | } |
| | | //重重新登录 用来上线 |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | 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 = |
| | |
| | | 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()) |
| | | } |
| | | } |
| | | |
| | |
| | | } 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 = "收车" |
| | |
| | | } |
| | | |
| | | tv_name.clickDelay { |
| | | toast("点亮网约") |
| | | |
| | | } |
| | | |
| | | tv_car_num.clickDelay { |
| | |
| | | startActivity<SlabOrderListActivity>() |
| | | } |
| | | |
| | | |
| | | ll_task.clickDelay { |
| | | startActivity<SlabMineEventActivity>() |
| | | } |
| | | |
| | | tv_title_top.clickDelay { |
| | | // showOrder("3170","2",100,1) |
| | | } |
| | | |
| | | view_mode.clickDelay { |
| | |
| | | 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() |
| | | } |
| | | |
| | | |
| | |
| | | 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() |
| | |
| | | } 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?) { |
| | |
| | | toast("收到显示屏信息") |
| | | } |
| | | } |
| | | BaseEvent.UPDATA_MAIN_CAR -> { |
| | | try { |
| | | mainFragment.refresh() |
| | | } catch (e: Exception) { |
| | | } |
| | | } |
| | | BaseEvent.ERROR_INFO -> { |
| | | try { |
| | | mainFragment.refresh() |
| | | }catch (e:Exception){ |
| | | |
| | | } 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()) |
| | | } |
| | | } |
| | | } |
| | |
| | | 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("后台开始下载,请等待") |
| | |
| | | } |
| | | |
| | | } 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) |
| | |
| | | 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() |