From 81d91378a2a726dcfffec74ce7cda43486806b77 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期五, 14 三月 2025 10:54:28 +0800
Subject: [PATCH] fix bug

---
 app/src/main/java/com/xianning/driver/ui/main/MainActivity.kt |   64 ++++++++++++++++++++++++++++----
 1 files changed, 56 insertions(+), 8 deletions(-)

diff --git a/app/src/main/java/com/xianning/driver/ui/main/MainActivity.kt b/app/src/main/java/com/xianning/driver/ui/main/MainActivity.kt
index d43f54d..6ad9e1a 100644
--- a/app/src/main/java/com/xianning/driver/ui/main/MainActivity.kt
+++ b/app/src/main/java/com/xianning/driver/ui/main/MainActivity.kt
@@ -14,16 +14,13 @@
 import com.baidu.location.BDAbstractLocationListener
 import com.baidu.location.BDLocation
 import com.baidu.location.LocationClient
+import com.example.emanagercar.ui.base.BaseWebActivity
 import com.xianning.driver.R
 import com.xianning.driver.base.BaseEvent
 import com.xianning.driver.base.Const
 import com.xianning.driver.base.MyApplication
 import com.xianning.driver.base.MyBaseActivity
 import com.xianning.driver.base.gaode.AMapKit
-import com.xianning.driver.bean.HomeDataBean
-import com.xianning.driver.bean.OrderSimpleData
-import com.xianning.driver.bean.SelectServerModeBean
-import com.xianning.driver.bean.VersionBean
 import com.xianning.driver.ui.DialogUtil
 import com.xianning.driver.ui.main.event.MineEventActivity
 import com.xianning.driver.ui.mine.MineActivity
@@ -39,13 +36,17 @@
 import com.lzf.easyfloat.enums.SidePattern
 import com.lzf.easyfloat.interfaces.OnInvokeView
 import com.tbruyelle.rxpermissions2.RxPermissions
+import com.tencent.bugly.crashreport.CrashReport
 //import com.tencent.bugly.crashreport.CrashReport
 import com.umeng.commonsdk.UMConfigure
 import com.umeng.socialize.PlatformConfig
+import com.xianning.driver.bean.*
 import com.xianning.driver.netUtls.*
 import com.xianning.driver.ui.mine.RechargeActivity
+import com.xianning.driver.utils.HtmlUtils
 import kotlinx.android.synthetic.main.activity_main.*
 import kotlinx.android.synthetic.main.app_title.*
+import kotlinx.android.synthetic.main.dialog_notice.view.*
 import kotlinx.android.synthetic.main.dialog_sure_and_del.view.*
 import org.greenrobot.eventbus.EventBus
 import org.jetbrains.anko.dip
@@ -70,6 +71,7 @@
 
     private var listener:BDAbstractLocationListener? = null
     private var locationClient:LocationClient? = null
+    private var isFirst = true
 
     override fun initView() {
         LocationClient.setAgreePrivacy(true)
@@ -115,6 +117,39 @@
         callVersion()
         checkGps()
         MyApplication.addOrderView(qeeOrderView)
+        callNotice()
+    }
+
+    /**
+     * 获取公告弹窗
+     */
+    private fun callNotice() {
+        var map = getMapByAny()
+        callNet(Api.allert, map) {
+            var data = gson.fromJson<NoticeBean>(it, NoticeBean::class.java)
+            if (!data.data.isNullOrEmpty()){
+                val first = data.data.first()
+                if (first.id != CacheKey.getKeyStr("notice")){
+                    CacheKey.putKeyStr("notice",first.id)
+                    val dialog = DialogUtil.getDialog(this, R.layout.dialog_notice,R.style.dialogFullScreen_not_float)
+                    val view = DialogUtil.getView(dialog)
+                    view.iv_notice.setImageURI(first.imgUrl)
+                    view.tv_notice.text = HtmlUtils.getTextFromHtml(first.content)
+                    view.iv_close.setOnClickListener {
+                        dialog.dismiss()
+                    }
+                    view.cl.setOnClickListener {
+                        var map = getMapByAny()
+                        map["type"] = 5
+                        callNet(Api.queryByType, map) {
+                            var data = gson.fromJson<AgreeBean>(it, AgreeBean::class.java)
+                            BaseWebActivity.to(mContext, data.data.content, "关于我们", "1")
+                        }
+                        dialog.dismiss()
+                    }
+                }
+            }
+        }
     }
 
 
@@ -198,16 +233,26 @@
 //        map["id"] = CacheKey.getUserId()
         callNet(Api.queryNewData, map) {
             var data = gson.fromJson<VersionBean>(it, VersionBean::class.java)
-            if (data.data.version != "" && data.data.version != Utils.getAppVersion(this)) {
+            if (data.data.version != "" && data.data.version > Utils.getAppVersion(this)) {
                 if (data.data.mandatory == 2) {
                     DialogUtil.getDelAndSureDialog(this, "有新版本是否更新?", {}, {
-                        DownloadUtil(this).downloadAPK(data.data.url, "咸宁95128约车司机")
+                        RxPermissions(this).request(Manifest.permission.WRITE_EXTERNAL_STORAGE).subscribe{
+                            if (it){
+                                DownloadUtil(this).downloadAPK(data.data.url, "咸宁95128约车司机")
+                            }else
+                                toast("缺少文件权限")
+                        }
                     })
                 } else if (data.data.mandatory == 1) {
                     DialogUtil.getDelAndSureDialog(this, "版本已过时,是否强制升级?", {
                         EventBus.getDefault().post(BaseEvent(BaseEvent.OUT_APP))
                     }, {
-                        DownloadUtil(this).downloadAPK(data.data.url, "咸宁95128约车司机")
+                        RxPermissions(this).request(Manifest.permission.WRITE_EXTERNAL_STORAGE).subscribe{
+                            if (it){
+                                DownloadUtil(this).downloadAPK(data.data.url, "咸宁95128约车司机")
+                            }else
+                                toast("缺少文件权限")
+                        }
                         ToastUtils.showShortToast(this, "后台开始下载,请等待")
                     })
                 }else{
@@ -221,7 +266,10 @@
 
     override fun onResume() {
         super.onResume()
-        mainFragment?.refresh()
+        if (!isFirst){
+            mainFragment?.refresh()
+        }
+        isFirst = false
     }
 
     fun beOnDuty(b:Boolean){

--
Gitblit v1.7.1