Commit 9f6ab835 by 严久程

版本

parents a4026dea d2181d81
...@@ -44,10 +44,10 @@ ext { ...@@ -44,10 +44,10 @@ ext {
//第三步 若干 //第三步 若干
"m-confide" : "0.0.29", "m-confide" : "0.0.29",
"m-consultant" : "0.0.40", "m-consultant" : "0.0.42",
"m-course" : "0.0.30", "m-course" : "0.0.30",
"m-fm" : "0.0.21", "m-fm" : "0.0.21",
"m-muse" : "0.0.18", "m-muse" : "0.0.19",
"m-tests" : "0.0.12", "m-tests" : "0.0.12",
"m-user" : "0.0.34", "m-user" : "0.0.34",
......
...@@ -312,7 +312,7 @@ class ExpertSearchActivity : BaseMvpActivity<IExpertSearchView, ExpertSearchPres ...@@ -312,7 +312,7 @@ class ExpertSearchActivity : BaseMvpActivity<IExpertSearchView, ExpertSearchPres
image_scroll_top.setOnClickListener(this) image_scroll_top.setOnClickListener(this)
// initStatus() // initStatus()
ConsultAssistantDialogUtils.INSTANCE.fitRequest(this, "doctor_list") ConsultAssistantDialogUtils.INSTANCE.fitRequest(this, "doctor_list", true)
} }
private fun initNetLossView() { private fun initNetLossView() {
...@@ -999,7 +999,7 @@ class ExpertSearchActivity : BaseMvpActivity<IExpertSearchView, ExpertSearchPres ...@@ -999,7 +999,7 @@ class ExpertSearchActivity : BaseMvpActivity<IExpertSearchView, ExpertSearchPres
} else { } else {
updateFilterTextViewStatus(tvFilter, FILTER_STATUS_NORMAL) updateFilterTextViewStatus(tvFilter, FILTER_STATUS_NORMAL)
} }
ConsultAssistantDialogUtils.INSTANCE.fitRequest(this, "doctor_list") ConsultAssistantDialogUtils.INSTANCE.fitRequest(this, "doctor_list", true)
} }
filterPopupWindow.isClippingEnabled = false filterPopupWindow.isClippingEnabled = false
filterPopupWindow.showAtLocation(viewSep2.rootView, Gravity.TOP + Gravity.RIGHT, 0, 0) filterPopupWindow.showAtLocation(viewSep2.rootView, Gravity.TOP + Gravity.RIGHT, 0, 0)
...@@ -1478,6 +1478,6 @@ class ExpertSearchActivity : BaseMvpActivity<IExpertSearchView, ExpertSearchPres ...@@ -1478,6 +1478,6 @@ class ExpertSearchActivity : BaseMvpActivity<IExpertSearchView, ExpertSearchPres
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
ConsultAssistantDialogUtils.INSTANCE.resetStatus() ConsultAssistantDialogUtils.INSTANCE.expertSearchResetStatus()
} }
} }
...@@ -2,6 +2,7 @@ package com.yidianling.consultant.modular.singlton ...@@ -2,6 +2,7 @@ package com.yidianling.consultant.modular.singlton
import android.app.Activity import android.app.Activity
import android.support.v7.app.AppCompatActivity import android.support.v7.app.AppCompatActivity
import com.ydl.ydlcommon.utils.YdlBuryPointUtil
import com.yidianling.common.tools.ToastUtil import com.yidianling.common.tools.ToastUtil
import com.yidianling.consultant.dialog.ConsultAssistantDialog import com.yidianling.consultant.dialog.ConsultAssistantDialog
import com.yidianling.consultant.model.SearchApi import com.yidianling.consultant.model.SearchApi
...@@ -21,16 +22,19 @@ class ConsultAssistantDialogUtils private constructor() { ...@@ -21,16 +22,19 @@ class ConsultAssistantDialogUtils private constructor() {
} }
var consultAssistantDialogFromHomePage: ConsultAssistantDialog? = null // 首页展示的dialog var consultAssistantDialogFromHomePage: ConsultAssistantDialog? = null // 首页展示的dialog
var consultAssistantDialog: ConsultAssistantDialog? = null //咨询师列表页面展示的dialog var consultAssistantFragmentDialog: ConsultAssistantDialog? = null //咨询师列表fragment页面展示的dialog
var expertSearchPageHasShown: Boolean = false // 专家咨询列表页面是否已经展示 var expertSearchPageHasShown: Boolean = false // 专家咨询列表fragment页面是否已经展示
var consultAssistantActivityDialog: ConsultAssistantDialog? = null //咨询师列表activity页面展示的dialog
var expertSearchActivityPageHasShown: Boolean = false // 专家咨询列表activity页面是否已经展示
var timer: Timer? = null var timer: Timer? = null
/** /**
*判断是否符合代码展示逻辑 *判断是否符合代码展示逻辑
* origin 展示请求来源 首页 home_index 咨询列表 doctor_list * origin 展示请求来源 首页 home_index 咨询列表 doctor_list
* fromActivity 默认不是来自于咨询师列表activity
*/ */
fun fitRequest(activity: Activity, origin: String) { fun fitRequest(activity: Activity, origin: String, fromActivity: Boolean = false) {
when (origin) { when (origin) {
"home_index" -> { "home_index" -> {
if (ConsultantIn.isLogin() && if (ConsultantIn.isLogin() &&
...@@ -40,7 +44,7 @@ class ConsultAssistantDialogUtils private constructor() { ...@@ -40,7 +44,7 @@ class ConsultAssistantDialogUtils private constructor() {
} }
} }
"doctor_list" -> { "doctor_list" -> {
shouldShowDialog(activity, origin) shouldShowDialog(activity, origin, fromActivity = fromActivity)
} }
} }
...@@ -49,7 +53,7 @@ class ConsultAssistantDialogUtils private constructor() { ...@@ -49,7 +53,7 @@ class ConsultAssistantDialogUtils private constructor() {
/** /**
* 判断是否符合接口展示逻辑 * 判断是否符合接口展示逻辑
*/ */
private fun shouldShowDialog(activity: Activity, origin: String, isDelay: Boolean = false) { private fun shouldShowDialog(activity: Activity, origin: String, isDelay: Boolean = false, fromActivity: Boolean = false) {
// 请求接口判断导医咨询助理按钮是否展示 // 请求接口判断导医咨询助理按钮是否展示
SearchApi.getSearchApi().getConsultAssistantRequest(origin) SearchApi.getSearchApi().getConsultAssistantRequest(origin)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
...@@ -59,7 +63,7 @@ class ConsultAssistantDialogUtils private constructor() { ...@@ -59,7 +63,7 @@ class ConsultAssistantDialogUtils private constructor() {
if (origin == "home_index") { if (origin == "home_index") {
showFromYdlHome(activity) showFromYdlHome(activity)
} else if (origin == "doctor_list") { } else if (origin == "doctor_list") {
show(activity) show(activity, fromActivity)
} }
} }
} }
...@@ -78,6 +82,7 @@ class ConsultAssistantDialogUtils private constructor() { ...@@ -78,6 +82,7 @@ class ConsultAssistantDialogUtils private constructor() {
object : ConsultAssistantDialog.OnConsultAssistantClickListener { object : ConsultAssistantDialog.OnConsultAssistantClickListener {
override fun onClickAction() { override fun onClickAction() {
//获取用户uid //获取用户uid
YdlBuryPointUtil.sendClick("home_page_assistant_click")
getConsultAssistantUid(activity) getConsultAssistantUid(activity)
} }
...@@ -100,8 +105,9 @@ class ConsultAssistantDialogUtils private constructor() { ...@@ -100,8 +105,9 @@ class ConsultAssistantDialogUtils private constructor() {
/** /**
* 咨询师列表页展示 * 咨询师列表页展示
*/ */
fun show(activity: Activity) { fun show(activity: Activity, fromActivity: Boolean = false) {
// 来自于fragment咨询师列表
if (!fromActivity) {
if (!expertSearchPageHasShown && timer == null) { if (!expertSearchPageHasShown && timer == null) {
timer = Timer() timer = Timer()
timer!!.schedule(object : TimerTask() { timer!!.schedule(object : TimerTask() {
...@@ -116,18 +122,57 @@ class ConsultAssistantDialogUtils private constructor() { ...@@ -116,18 +122,57 @@ class ConsultAssistantDialogUtils private constructor() {
} else { } else {
showDialog(activity) showDialog(activity)
} }
}else {// 来自于activity咨询师列表
if (!expertSearchActivityPageHasShown && timer == null) {
timer = Timer()
timer!!.schedule(object : TimerTask() {
override fun run() {
Observable.just(1).observeOn(AndroidSchedulers.mainThread())
.subscribe {
expertSearchActivityPageHasShown = true
showDialog(activity, true)
}
}
}, 5000)
} else {
showDialog(activity, true)
}
}
} }
/** /**
* 咨询师列表页展示浮层 * 咨询师列表页展示浮层
*/ */
fun showDialog(activity: Activity) { fun showDialog(activity: Activity, fromActivity: Boolean = false) {
if (!fromActivity) {
if (!activity.isFinishing) {
if (consultAssistantFragmentDialog == null) {
consultAssistantFragmentDialog = ConsultAssistantDialog(
activity,
object : ConsultAssistantDialog.OnConsultAssistantClickListener {
override fun onClickAction() {
YdlBuryPointUtil.sendClick("assistant_list_click")
// 咨询师列表页面且未登录情况下,跳转登录页面
if (!ConsultantIn.isLogin()) {
ConsultantIn.toLogin(activity)
} else {
//获取用户uid
getConsultAssistantUid(activity)
}
}
})
}
consultAssistantFragmentDialog?.show()
}
}else {
if (!activity.isFinishing) { if (!activity.isFinishing) {
if (consultAssistantDialog == null) { if (consultAssistantActivityDialog == null) {
consultAssistantDialog = ConsultAssistantDialog( consultAssistantActivityDialog = ConsultAssistantDialog(
activity, activity,
object : ConsultAssistantDialog.OnConsultAssistantClickListener { object : ConsultAssistantDialog.OnConsultAssistantClickListener {
override fun onClickAction() { override fun onClickAction() {
YdlBuryPointUtil.sendClick("assistant_list_click")
// 咨询师列表页面且未登录情况下,跳转登录页面 // 咨询师列表页面且未登录情况下,跳转登录页面
if (!ConsultantIn.isLogin()) { if (!ConsultantIn.isLogin()) {
ConsultantIn.toLogin(activity) ConsultantIn.toLogin(activity)
...@@ -139,7 +184,8 @@ class ConsultAssistantDialogUtils private constructor() { ...@@ -139,7 +184,8 @@ class ConsultAssistantDialogUtils private constructor() {
}) })
} }
consultAssistantDialog?.show() consultAssistantActivityDialog?.show()
}
} }
} }
...@@ -148,20 +194,36 @@ class ConsultAssistantDialogUtils private constructor() { ...@@ -148,20 +194,36 @@ class ConsultAssistantDialogUtils private constructor() {
* 咨询师列表页隐藏 * 咨询师列表页隐藏
*/ */
fun hide() { fun hide() {
consultAssistantDialog?.hide() consultAssistantFragmentDialog?.hide()
} }
/** /**
* 咨询师列表页面使用的重置本单例关于专家咨询列表页面得状态 * 释放本单例所有资源(咨询师列表fragmnet在MainActivity,
* 且在MainActivity销毁的时候,会先执行咨询师列表fragmnet
* 的ondeatroy,所以这边直接在该专家咨询列表碎片执行该方法)
*/ */
fun resetStatus() { fun resetStatus() {
consultAssistantDialogFromHomePage?.dismiss() consultAssistantDialogFromHomePage?.dismiss()
consultAssistantDialog?.dismiss() consultAssistantFragmentDialog?.dismiss()
consultAssistantActivityDialog?.dismiss()
timer?.cancel() timer?.cancel()
timer = null timer = null
expertSearchPageHasShown = false expertSearchPageHasShown = false
expertSearchActivityPageHasShown = false
consultAssistantDialogFromHomePage = null consultAssistantDialogFromHomePage = null
consultAssistantDialog = null consultAssistantFragmentDialog = null
consultAssistantActivityDialog = null
}
/**
* 咨询师列表activity页面使用的重置本单例关于专家咨询列表页面得状态
*/
fun expertSearchResetStatus() {
consultAssistantActivityDialog?.dismiss()
timer?.cancel()
timer = null
expertSearchActivityPageHasShown = false
consultAssistantActivityDialog = null
} }
////////////////////////////////////// 咨询师列表页面的展示隐藏逻辑 代码块end /////////////////////////////////////////////////// ////////////////////////////////////// 咨询师列表页面的展示隐藏逻辑 代码块end ///////////////////////////////////////////////////
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment