Browse Source

1.优化首页消息弹窗展示逻辑

王鹏鹏 2 years ago
parent
commit
c449bfb3dc

+ 1 - 0
game/src/main/res/layout/activity_play_game.xml

@@ -146,6 +146,7 @@
                             android:background="@drawable/bg_full_game_text"
                             android:fontFamily="@font/lcb"
                             android:gravity="center"
+                            android:text="120秒"
                             android:includeFontPadding="false"
                             android:textColor="@android:color/white"
                             android:textSize="@dimen/divider_38px"

+ 34 - 50
healthconsultation/src/main/java/com/yingyang/healthconsultation/consultationsheet/ConsultationSheetActivity.kt

@@ -84,8 +84,7 @@ class ConsultationSheetActivity :
             }
         }
         imageAdapter = XBaseAdapter(
-            R.layout.item_image,
-            imageList
+            R.layout.item_image, imageList
         ) { view: View, bean: UploadImgBean, position: Int ->
             val img = view.findViewById<ImageView>(R.id.img)
             val ivAdd = view.findViewById<ImageView>(R.id.iv_add)
@@ -137,21 +136,14 @@ class ConsultationSheetActivity :
      */
     @SuppressLint("NotifyDataSetChanged")
     private fun delect(i: Int) {
-        TipsDialog.TipDialogBuilder()
-            .title("提示")
-            .content("是否删除该图片")
-            .leftBtnText("否")
-            .rightBtnText("是")
-            .leftClick({
-            }, true)
-            .rightClick({
+        TipsDialog.TipDialogBuilder().title("提示").content("是否删除该图片").leftBtnText("否")
+            .rightBtnText("是").leftClick({}, true).rightClick({
                 imageList.removeAt(i)
                 if (imageList.contains(emptyUploadImgBean).not()) {
                     imageList.add(0, emptyUploadImgBean)
                 }
                 imageAdapter.notifyDataSetChanged()
-            }, true)
-            .show(supportFragmentManager)
+            }, true).show(supportFragmentManager)
     }
 
     /**
@@ -168,8 +160,7 @@ class ConsultationSheetActivity :
     private fun getImgLocalPaths(): ArrayList<String> {
         val localList = arrayListOf<String>()
         imageList.forEach {
-            if (it.localPaht.isEmpty().not())
-                localList.add(it.localPaht)
+            if (it.localPaht.isEmpty().not()) localList.add(it.localPaht)
         }
         return localList
 
@@ -180,6 +171,7 @@ class ConsultationSheetActivity :
         binding {
             backLayout.setOnTouchListener(this@ConsultationSheetActivity)
             btnSubmit.setOnTouchListener(this@ConsultationSheetActivity)
+            tvAgreements.setOnTouchListener(this@ConsultationSheetActivity)
             radioBeenHospital.setOnCheckedChangeListener { group, checkedId ->
                 if (checkedId == R.id.radioYes) {
                     isConsultation = "0"
@@ -200,25 +192,32 @@ class ConsultationSheetActivity :
     override fun onTouch(v: View, event: MotionEvent): Boolean {
         when (event.action) {
             MotionEvent.ACTION_DOWN -> {
-                if (v.id == R.id.backLayout || v.id == R.id.btnSubmit) {
+                if (v.id == R.id.backLayout || v.id == R.id.btnSubmit || v.id == R.id.tvAgreements) {
                     v.startAnimation(getScaleAnimation())
                 }
             }
+
             MotionEvent.ACTION_UP -> {
                 v.startAnimation(getEndAnimation())
                 when (v.id) {
                     R.id.backLayout -> {
                         finish()
                     }
+
                     R.id.btnSubmit -> {
                         if (judge()) {
                             saveData()
                         }
                     }
+
+                    R.id.tvAgreements -> {
+                        JumpUtil.jumpActivity(RouterUrlCommon.privacyAgreement, mContext)
+                    }
                 }
             }
+
             MotionEvent.ACTION_CANCEL -> {
-                if (v.id == R.id.backLayout || v.id == R.id.btnSubmit) {
+                if (v.id == R.id.backLayout || v.id == R.id.btnSubmit || v.id == R.id.tvAgreements) {
                     v.startAnimation(getEndAnimation())
                 }
             }
@@ -238,27 +237,23 @@ class ConsultationSheetActivity :
      * 开启luban图片压缩
      */
     private fun withLs(photos: List<String>) {
-        Luban.with(this)
-            .load(photos)
-            .ignoreBy(100)
-            .setFocusAlpha(false)
+        Luban.with(this).load(photos).ignoreBy(100).setFocusAlpha(false)
             .filter { path -> !(TextUtils.isEmpty(path) || path.lowercase().endsWith(".gif")) }
-            .setCompressListener(
-                object : OnCompressListener {
-                    override fun onStart() {
-                    }
+            .setCompressListener(object : OnCompressListener {
+                override fun onStart() {
+                }
 
-                    override fun onSuccess(file: File) {
-                        val data = mutableListOf<String>()
-                        data.add(file.path)
-                        addImages(data)
-                    }
+                override fun onSuccess(file: File) {
+                    val data = mutableListOf<String>()
+                    data.add(file.path)
+                    addImages(data)
+                }
 
-                    override fun onError(e: Throwable) {
-                        LogUtil.e("图片压缩失败:$e")
-                        addImages(photos)
-                    }
-                }).launch()
+                override fun onError(e: Throwable) {
+                    LogUtil.e("图片压缩失败:$e")
+                    addImages(photos)
+                }
+            }).launch()
     }
 
     @SuppressLint("NotifyDataSetChanged")
@@ -291,11 +286,7 @@ class ConsultationSheetActivity :
                     it.toast()
                     imageList[position].uploadFlag = false
                     ImgUtil.loadImg(
-                        mContext,
-                        "",
-                        imgView,
-                        R.mipmap.icon_add_pic,
-                        R.mipmap.icon_imgreload
+                        mContext, "", imgView, R.mipmap.icon_add_pic, R.mipmap.icon_imgreload
                     )
                 }, success = {
                     if (it.isNullOrEmpty().not()) {
@@ -306,11 +297,7 @@ class ConsultationSheetActivity :
                     } else {
                         imageList[position].uploadFlag = false
                         ImgUtil.loadImg(
-                            mContext,
-                            "",
-                            imgView,
-                            R.mipmap.icon_add_pic,
-                            R.mipmap.icon_imgreload
+                            mContext, "", imgView, R.mipmap.icon_add_pic, R.mipmap.icon_imgreload
                         )
                     }
                 })
@@ -341,11 +328,9 @@ class ConsultationSheetActivity :
             appUserAge = User.getUserAge()
         }
         val patientInfo = GsonUtil.GsonString(patientConsultationBean)
-        ARouter.getInstance().build(RouterUrlCommon.payment)
-            .withString("id", id)
+        ARouter.getInstance().build(RouterUrlCommon.payment).withString("id", id)
             .withSerializable("purchaseConsultationBean", purchaseConsultationBean)
-            .withString("patientInfo", patientInfo)
-            .withTransition(R.anim.leftin, R.anim.leftout)
+            .withString("patientInfo", patientInfo).withTransition(R.anim.leftin, R.anim.leftout)
             .navigation(mContext)
     }
 
@@ -409,8 +394,7 @@ class ConsultationSheetActivity :
     private fun viewLargerImage(position: Int) {
         val intent = Intent(mContext, ImagePagerActivity::class.java)
         intent.putStringArrayListExtra(
-            "image_urls",
-            getImgRemotePathPaths() as ArrayList<String>?
+            "image_urls", getImgRemotePathPaths() as ArrayList<String>?
         )
         intent.putExtra("image_index", position)
         startActivity(intent)

+ 1 - 0
healthconsultation/src/main/res/layout/activity_consultation_sheet.xml

@@ -240,6 +240,7 @@
                         app:layout_constraintTop_toBottomOf="@+id/tvTipsTwo" />
 
                     <androidx.appcompat.widget.AppCompatTextView
+                        android:id="@+id/tvAgreements"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
                         android:layout_marginStart="@dimen/divider_12px"

+ 21 - 71
home/src/main/java/com/yingyangfly/home/activity/HomeActivity.kt

@@ -41,7 +41,6 @@ import gorden.rxbus2.RxBus
 import gorden.rxbus2.Subscribe
 import gorden.rxbus2.ThreadMode
 
-
 /**
  * 新版首页
  */
@@ -650,17 +649,10 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(), Vie
         override fun onRecvNewMessage(msg: V2TIMMessage) {
             super.onRecvNewMessage(msg)
             runOnUiThread {
-                Log.e("wpp", "msg---------------------->    " + GsonUtil.GsonString(msg))
                 if (msg.isRead.not()) {
-                    Log.e("wpp", "---------------------------->消息已读")
                     makeMessageAsRead(msg)
-                    analyticMessage(msg)
-                } else {
-                    Log.e("wpp", "---------------------------->消息未读")
-                    if (User.getShowWelcomeMessage().not()) {
-                        analyticMessage(msg)
-                    }
                 }
+                analyticMessage(msg)
             }
         }
     }
@@ -699,16 +691,12 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(), Vie
      */
     private fun addAMessageData(msg: MessageBean) {
         runOnUiThread {
-            Log.e("wpp", "addAMessageData---------------------->   " + GsonUtil.GsonString(msg))
             if (aMessageList.isNotEmpty() && aMessageList.containsKey(msg.timestamp).not()) {
                 aMessageList[msg.timestamp] = msg
             } else {
                 aMessageList[msg.timestamp] = msg
             }
             if (aCountDownTimer != null) {
-                if (User.getShowWelcomeMessage().not()) {
-                    User.saveShowWelcomeMessage(true)
-                }
                 aCountDownTimer?.cancel()
                 aCountDownTimer?.start()
             } else {
@@ -731,55 +719,11 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(), Vie
     private fun sortMessageDataByTimestamp(conversationList: List<MessageBean>) {
         runOnUiThread {
             if (conversationList.isNullOrEmpty().not()) {
-                Log.e("wpp7", GsonUtil.GsonString(conversationList))
-                val aMessages = mutableListOf<MessageBean>()
-                val bMessages = mutableListOf<MessageBean>()
-                val cMessages = mutableListOf<MessageBean>()
-                val dMessages = mutableListOf<MessageBean>()
-                val eMessages = mutableListOf<MessageBean>()
-                val fMessages = mutableListOf<MessageBean>()
-                val gMessages = mutableListOf<MessageBean>()
-                conversationList.forEach {
-                    when (it.businessID) {
-                        "A" -> aMessages.add(it)
-                        "B" -> bMessages.add(it)
-                        "C" -> cMessages.add(it)
-                        "D" -> dMessages.add(it)
-                        "E" -> eMessages.add(it)
-                        "F" -> fMessages.add(it)
-                        "G" -> gMessages.add(it)
-                    }
-                }
-                if (aMessages.isNotEmpty()) {
-                    Log.e("wpp7", GsonUtil.GsonString(aMessages))
-                    showMessageDialog(aMessages)
-                }
-                if (bMessages.isNotEmpty()) {
-                    Log.e("wpp7", GsonUtil.GsonString(bMessages))
-                    showMessageDialog(bMessages)
-                }
-                if (cMessages.isNotEmpty()) {
-                    Log.e("wpp7", GsonUtil.GsonString(cMessages))
+                if (conversationList.isNotEmpty()) {
                     binding.headLayout.postDelayed({
-                        showMessageDialog(cMessages)
+                        showMessageDialog(conversationList)
                     }, 3000)
                 }
-                if (dMessages.isNotEmpty()) {
-                    Log.e("wpp7", GsonUtil.GsonString(dMessages))
-                    showMessageDialog(dMessages)
-                }
-                if (eMessages.isNotEmpty()) {
-                    Log.e("wpp7", GsonUtil.GsonString(eMessages))
-                    showMessageDialog(eMessages)
-                }
-                if (fMessages.isNotEmpty()) {
-                    Log.e("wpp7", GsonUtil.GsonString(fMessages))
-                    showMessageDialog(fMessages)
-                }
-                if (gMessages.isNotEmpty()) {
-                    Log.e("wpp7", GsonUtil.GsonString(gMessages))
-                    showMessageDialog(gMessages)
-                }
             }
             aMessageList.clear()
         }
@@ -829,7 +773,6 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(), Vie
                 val v2TIMMessage = V2TIMManager.getMessageManager().createCustomMessage(
                     data.toByteArray(), event.patientInfo, data.toByteArray()
                 )
-                Log.e("wpp", "患者信息自定义消息" + GsonUtil.GsonString(v2TIMMessage))
                 V2TIMManager.getMessageManager().sendMessage(v2TIMMessage,
                     event.doctorId,
                     "",
@@ -875,21 +818,17 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(), Vie
                         if (TextUtils.isEmpty(description).not()) {
                             messageBean.description = description
                         }
-                        Log.e(
-                            "wpp9",
-                            "messageBean.timestamp----------------------->        $messageBean"
-                        )
                         when (messageBean.businessID) {
                             "A" -> {
                                 purchaseServices(messageBean)
                             }
 
                             "B" -> {
-                                addAMessageData(messageBean)
+                                showTaskDialog(messageBean)
                                 getFindMyTask()
                             }
 
-                            "C", "D", "E", "F", "G" -> {
+                            "C" -> {
                                 addAMessageData(messageBean)
                             }
 
@@ -905,6 +844,10 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(), Vie
                                 //医生接诊
                                 RxBus.get().send(RxBusCodes.doctorReception)
                             }
+
+                            else -> {
+                                showTaskDialog(messageBean)
+                            }
                         }
                     }
                 }
@@ -930,12 +873,10 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(), Vie
                         RxBusCodes.SuccessfulPurchase, messageBean.data
                     )
                     binding.imageSetting.postDelayed({
-                        LiveEventBusUtil.send(
-                            RxBusCodes.SHOWTASKDIALOG, messageBean
-                        )
+                        showTaskDialog(messageBean)
                     }, 800)
                 } else {
-                    addAMessageData(messageBean)
+                    showTaskDialog(messageBean)
                     if (messageBean.data.contains(userInfo)) {
                         //服务套餐购买成功
                         binding.imageSetting.postDelayed({
@@ -946,8 +887,17 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>(), Vie
                     }
                 }
             } else {
-                addAMessageData(messageBean)
+                showTaskDialog(messageBean)
             }
         }
     }
+
+    /**
+     * 展示IM消息弹窗
+     */
+    private fun showTaskDialog(msg: MessageBean) {
+        runOnUiThread {
+            LiveEventBusUtil.send(RxBusCodes.SHOWTASKDIALOG, msg)
+        }
+    }
 }