Commit 4f823ebc by 万齐军

Merge branch 'feat/qj/confide_2.0' into 'd/v_confide_2.0'

Feat/qj/confide 2.0

See merge request app_android_lib/YDL-Component!46
parents b3e227f2 31897a3d
...@@ -42,7 +42,6 @@ import com.ydl.webview.H5Params ...@@ -42,7 +42,6 @@ import com.ydl.webview.H5Params
import com.ydl.webview.NewH5Activity import com.ydl.webview.NewH5Activity
import com.ydl.webview.RefreshWebEvent import com.ydl.webview.RefreshWebEvent
import com.ydl.ydl_av.chat.bean.AudioMessageBean import com.ydl.ydl_av.chat.bean.AudioMessageBean
import com.ydl.ydl_av.voice.impl.YDLVoiceApiImpl
import com.ydl.ydl_av.voice.listener.IYDLVoiceEventHandler import com.ydl.ydl_av.voice.listener.IYDLVoiceEventHandler
import com.ydl.ydl_av.voice.manager.YDLVoiceManager import com.ydl.ydl_av.voice.manager.YDLVoiceManager
import com.ydl.ydl_image.config.SimpleImageOpConfiger import com.ydl.ydl_image.config.SimpleImageOpConfiger
......
...@@ -11,8 +11,6 @@ import androidx.fragment.app.FragmentActivity ...@@ -11,8 +11,6 @@ import androidx.fragment.app.FragmentActivity
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.SimpleItemAnimator import androidx.recyclerview.widget.SimpleItemAnimator
import com.alibaba.android.arouter.facade.annotation.Route import com.alibaba.android.arouter.facade.annotation.Route
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.jcodecraeer.xrecyclerview.ProgressStyle import com.jcodecraeer.xrecyclerview.ProgressStyle
import com.jcodecraeer.xrecyclerview.XRecyclerView import com.jcodecraeer.xrecyclerview.XRecyclerView
import com.ydl.confide.R import com.ydl.confide.R
...@@ -37,18 +35,18 @@ import com.ydl.webview.H5Params ...@@ -37,18 +35,18 @@ import com.ydl.webview.H5Params
import com.ydl.webview.NewH5Activity import com.ydl.webview.NewH5Activity
import com.ydl.ydl_image.listener.YDLImageRecyclerOnScrollListener import com.ydl.ydl_image.listener.YDLImageRecyclerOnScrollListener
import com.ydl.ydlcommon.base.config.HttpConfig import com.ydl.ydlcommon.base.config.HttpConfig
import com.ydl.ydlcommon.base.config.HttpConfig.Companion.H5_URL
import com.ydl.ydlcommon.base.config.HttpConfig.Companion.YDL_H5 import com.ydl.ydlcommon.base.config.HttpConfig.Companion.YDL_H5
import com.ydl.ydlcommon.modular.findRouteService import com.ydl.ydlcommon.modular.findRouteService
import com.ydl.ydlcommon.mvp.lce.BaseLceActivity import com.ydl.ydlcommon.mvp.lce.BaseLceActivity
import com.ydl.ydlcommon.router.IYDLRouterConstant import com.ydl.ydlcommon.router.IYDLRouterConstant
import com.ydl.ydlcommon.utils.BuryPointUtils import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import com.ydl.ydlcommon.utils.remind.ToastHelper import com.ydl.ydlcommon.utils.remind.ToastHelper
import com.ydl.ydlcommon.view.DrawableRightTextView import com.ydl.ydlcommon.view.DrawableRightTextView
import com.ydl.ydlcommon.view.WrapContentLinearLayoutManager import com.ydl.ydlcommon.view.WrapContentLinearLayoutManager
import com.yidianling.common.tools.RxImageTool import com.yidianling.common.tools.RxImageTool
import com.yidianling.common.tools.ToastUtil import com.yidianling.common.tools.ToastUtil
import com.yidianling.im.api.service.IImService import com.yidianling.im.api.service.IImService
import com.yidianling.user.api.service.IUserService
import de.greenrobot.event.EventBus import de.greenrobot.event.EventBus
import kotlinx.android.synthetic.main.confide_home_activity.* import kotlinx.android.synthetic.main.confide_home_activity.*
import kotlinx.android.synthetic.main.confide_title_bar.* import kotlinx.android.synthetic.main.confide_title_bar.*
...@@ -60,7 +58,7 @@ import kotlinx.android.synthetic.main.confide_title_bar.* ...@@ -60,7 +58,7 @@ import kotlinx.android.synthetic.main.confide_title_bar.*
* @Company 壹点灵 * @Company 壹点灵
* @date 2018/8/10 * @date 2018/8/10
*/ */
@Route(path = "/confide/home") @Route(path = ConfideRoute.R_CONFIDE_HOME)
class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHomeContract.Presenter>(),IConfideHomeContract.View,XRecyclerView.LoadingListener { class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHomeContract.Presenter>(),IConfideHomeContract.View,XRecyclerView.LoadingListener {
override fun getContentViewId(): Int { override fun getContentViewId(): Int {
...@@ -191,6 +189,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo ...@@ -191,6 +189,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
override fun initDataAndEvent() { override fun initDataAndEvent() {
//来自首页倾诉红包入口 //来自首页倾诉红包入口
val isFromRed = intent.getBooleanExtra(IYDLRouterConstant.EXTRA_RED_PACKET,false) val isFromRed = intent.getBooleanExtra(IYDLRouterConstant.EXTRA_RED_PACKET,false)
val listenFree = intent.getBooleanExtra("listenFree",false)
isSplash = intent.getBooleanExtra("isSplash", false) isSplash = intent.getBooleanExtra("isSplash", false)
//初始化View //初始化View
...@@ -208,10 +207,13 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo ...@@ -208,10 +207,13 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
initStatusBar() initStatusBar()
// ModularServiceManager.provide(IConsultantService::class.java).showConfideListDialog(this) // ModularServiceManager.provide(IConsultantService::class.java).showConfideListDialog(this)
// ActionCountUtils.count("daoyi_advertisement_page|daoyi_advertisement_visit","17") // ActionCountUtils.count("daoyi_advertisement_page|daoyi_advertisement_visit","17")
Glide.with(this) // Glide.with(this)
.load(R.drawable.confide__free) // .load(R.drawable.confide__free)
.diskCacheStrategy(DiskCacheStrategy.RESOURCE) // .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
.into(confide_Free) // .into(confide_Free)
val isLogin = (findRouteService(IUserService::class.java)?.isLogin()) ?: false
findViewById<View>(R.id.confide_Free).visibility =
if (isFromRed || listenFree || !isLogin) View.VISIBLE else View.GONE
if (isFromRed){ if (isFromRed){
ToastUtil.toastLong(this@ConfideHomeActivity,"红包已领取成功 可立即点击拨打") ToastUtil.toastLong(this@ConfideHomeActivity,"红包已领取成功 可立即点击拨打")
} }
...@@ -270,6 +272,10 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo ...@@ -270,6 +272,10 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
*/ */
private fun initClick() { private fun initClick() {
quick_consult_card.setOnClickListener { quick_consult_card.setOnClickListener {
ActionCountUtils.record("listen_counselor_list_page", "akey_consult_icon_click")
if (!PhoneCallIn.loginByOneKeyLogin(this,true)) {
return@setOnClickListener
}
bottomSheetDialogFragment=ConfideBottomSheetDialogFragment() bottomSheetDialogFragment=ConfideBottomSheetDialogFragment()
bottomSheetDialogFragment.showBottomSheetDialog(this as FragmentActivity, HttpConfig.MH5_URL + ConfideRoute.h5ConfideIntro("0"),"0",true) bottomSheetDialogFragment.showBottomSheetDialog(this as FragmentActivity, HttpConfig.MH5_URL + ConfideRoute.h5ConfideIntro("0"),"0",true)
...@@ -285,21 +291,21 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo ...@@ -285,21 +291,21 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
} }
img_mine.setOnClickListener { img_mine.setOnClickListener {
//跳转倾诉列表 //跳转倾诉列表
ActionCountUtils.record("listen_counselor_list_page", "topright_corner_icon_click","1")
if (!PhoneCallIn.loginByOneKeyLogin(this,true)) { if (!PhoneCallIn.loginByOneKeyLogin(this,true)) {
return@setOnClickListener return@setOnClickListener
} }
BuryPointUtils.getInstance().createMap()
.put("mine_name", "倾诉记录")
.burryPoint("mine")
val h5Paramsqing = H5Params(YDL_H5 + "confideOrderList", null) val h5Paramsqing = H5Params(YDL_H5 + "confideOrderList", null)
NewH5Activity.start(this, h5Paramsqing) NewH5Activity.start(this, h5Paramsqing)
} }
findViewById<View>(R.id.img_customer)?.setOnClickListener { findViewById<View>(R.id.img_customer)?.setOnClickListener {
ActionCountUtils.record("listen_counselor_list_page", "topright_corner_icon_click","2")
val imService = findRouteService(IImService::class.java) val imService = findRouteService(IImService::class.java)
imService?.startP2PXiaoYi(this) imService?.startP2PXiaoYi(this)
} }
findViewById<View>(R.id.img_help)?.setOnClickListener { findViewById<View>(R.id.img_help)?.setOnClickListener {
val params = H5Params(H5_URL + "help/", "") ActionCountUtils.record("listen_counselor_list_page", "topright_corner_icon_click","3")
val params = H5Params("https://activity.yidianling.com/activity/qs", "")//倾诉指南
params.isShowMenu = true params.isShowMenu = true
NewH5Activity.start(this, params) NewH5Activity.start(this, params)
} }
...@@ -495,6 +501,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo ...@@ -495,6 +501,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
} }
override fun showSortPopupWindow(v_line_top: View, tvSort: DrawableRightTextView, bodyBean: ConfideHomeBodyBean?) { override fun showSortPopupWindow(v_line_top: View, tvSort: DrawableRightTextView, bodyBean: ConfideHomeBodyBean?) {
ActionCountUtils.record("listen_counselor_list_page", "choice_filter_click")
if (null == allFiltersBean) { if (null == allFiltersBean) {
return return
} }
...@@ -505,6 +512,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo ...@@ -505,6 +512,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
} }
override fun showSexAgePopupWindow(v_line_top: View, tvSexAge: DrawableRightTextView, bodyBean: ConfideHomeBodyBean?) { override fun showSexAgePopupWindow(v_line_top: View, tvSexAge: DrawableRightTextView, bodyBean: ConfideHomeBodyBean?) {
ActionCountUtils.record("listen_counselor_list_page", "choice_filter_click")
if (null == allFiltersBean) { if (null == allFiltersBean) {
return return
} }
...@@ -515,6 +523,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo ...@@ -515,6 +523,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
} }
override fun showGoodPopupWindow(v_line_top: View, tvGood: DrawableRightTextView, bodyBean: ConfideHomeBodyBean?) { override fun showGoodPopupWindow(v_line_top: View, tvGood: DrawableRightTextView, bodyBean: ConfideHomeBodyBean?) {
ActionCountUtils.record("listen_counselor_list_page", "choice_filter_click")
if (null == allFiltersBean) { if (null == allFiltersBean) {
return return
} }
......
...@@ -7,13 +7,12 @@ import androidx.databinding.ObservableField ...@@ -7,13 +7,12 @@ import androidx.databinding.ObservableField
import androidx.databinding.ObservableInt import androidx.databinding.ObservableInt
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.ydl.confide.R import com.ydl.confide.R
import com.ydl.confide.api.ConfideRoute
import com.ydl.confide.databinding.ItemConfideHomeRecentBinding import com.ydl.confide.databinding.ItemConfideHomeRecentBinding
import com.ydl.confide.databinding.ItemVideoShowBinding import com.ydl.confide.databinding.ItemVideoShowBinding
import com.ydl.confide.home.bean.ConfideHomeBodyBean import com.ydl.confide.home.bean.ConfideHomeBodyBean
import com.ydl.confide.home.event.IConfideHomeEvent import com.ydl.confide.home.event.IConfideHomeEvent
import com.ydl.confide.intro.BindingViewHolder import com.ydl.confide.intro.BindingViewHolder
import com.ydl.ydlcommon.base.config.HttpConfig import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
class VideoShowAdapter(private val data: List<ConfideHomeBodyBean>?, private val event: IConfideHomeEvent) : class VideoShowAdapter(private val data: List<ConfideHomeBodyBean>?, private val event: IConfideHomeEvent) :
RecyclerView.Adapter<BindingViewHolder<ItemVideoShowBinding>>() { RecyclerView.Adapter<BindingViewHolder<ItemVideoShowBinding>>() {
...@@ -31,7 +30,10 @@ class VideoShowAdapter(private val data: List<ConfideHomeBodyBean>?, private val ...@@ -31,7 +30,10 @@ class VideoShowAdapter(private val data: List<ConfideHomeBodyBean>?, private val
override fun onBindViewHolder(holder: BindingViewHolder<ItemVideoShowBinding>, position: Int) { override fun onBindViewHolder(holder: BindingViewHolder<ItemVideoShowBinding>, position: Int) {
val itemVideoShowViewModel = dataList[position] val itemVideoShowViewModel = dataList[position]
holder.binding.item = itemVideoShowViewModel holder.binding.item = itemVideoShowViewModel
holder.itemView.setOnClickListener { event.videoShowClick(position, data) } holder.itemView.setOnClickListener {
ActionCountUtils.record("listen_counselor_list_page", "video_card_click")
event.videoShowClick(position, data)
}
} }
override fun getItemCount() = dataList.size override fun getItemCount() = dataList.size
...@@ -58,19 +60,30 @@ class RecentConfideAdapter(val data: List<ItemVideoShowViewModel>, private val e ...@@ -58,19 +60,30 @@ class RecentConfideAdapter(val data: List<ItemVideoShowViewModel>, private val e
override fun onBindViewHolder(holder: BindingViewHolder<ItemConfideHomeRecentBinding>, position: Int) { override fun onBindViewHolder(holder: BindingViewHolder<ItemConfideHomeRecentBinding>, position: Int) {
val itemVideoShowViewModel = data[position] val itemVideoShowViewModel = data[position]
holder.binding.item = itemVideoShowViewModel holder.binding.item = itemVideoShowViewModel
holder.itemView.setOnClickListener { event.consultantClick(itemVideoShowViewModel.linkUrl,itemVideoShowViewModel.doctorId) } holder.itemView.setOnClickListener {
ActionCountUtils.record("listen_counselor_list_page", "head_portrait_click", "1")
ActionCountUtils.record(
"listen_counselor_popupwindows_page",
"popupwindows_page_visit",
itemVideoShowViewModel.confideId ?: "", "2"
)
event.consultantClick(
itemVideoShowViewModel.doctorId,
itemVideoShowViewModel.confideId
)
}
} }
override fun getItemCount() = data.size override fun getItemCount() = data.size
} }
class ItemVideoShowViewModel { class ItemVideoShowViewModel {
var linkUrl: String? = null
val name = ObservableField<String>("") val name = ObservableField<String>("")
val coverUrl = ObservableField<String>("") val coverUrl = ObservableField<String>("")
val videoCoverUrl = ObservableField<String>("") val videoCoverUrl = ObservableField<String>("")
val state = ObservableInt() val state = ObservableInt()
var doctorId: String? = null var doctorId: String? = null
var confideId: String? = null
} }
internal fun ItemVideoShowViewModel.mapOf(bean: ConfideHomeBodyBean): ItemVideoShowViewModel { internal fun ItemVideoShowViewModel.mapOf(bean: ConfideHomeBodyBean): ItemVideoShowViewModel {
...@@ -79,9 +92,7 @@ internal fun ItemVideoShowViewModel.mapOf(bean: ConfideHomeBodyBean): ItemVideoS ...@@ -79,9 +92,7 @@ internal fun ItemVideoShowViewModel.mapOf(bean: ConfideHomeBodyBean): ItemVideoS
videoCoverUrl.set(bean.coverVideoPicture) videoCoverUrl.set(bean.coverVideoPicture)
state.set(bean.confideLine ?: 0) state.set(bean.confideLine ?: 0)
doctorId = bean.doctorId doctorId = bean.doctorId
doctorId?.let { confideId = bean.confidedId
linkUrl = HttpConfig.MH5_URL + ConfideRoute.h5ConfideIntro(it)
}
return this return this
} }
......
...@@ -132,9 +132,15 @@ class ConfideHomeEventImpl(context: Context, var confideHomeView: IConfideHomeCo ...@@ -132,9 +132,15 @@ class ConfideHomeEventImpl(context: Context, var confideHomeView: IConfideHomeCo
* 最佳倾诉榜单--点我倾诉 * 最佳倾诉榜单--点我倾诉
* @param linkUrl 跳转地址 * @param linkUrl 跳转地址
*/ */
override fun consultantClick(linkUrl: String?, doctorId: String?) { override fun consultantClick(doctorId: String?, confideId: String?) {
ConfideBottomSheetDialogFragment() confideId?.let {
.showBottomSheetDialog(mContext as FragmentActivity, HttpConfig.MH5_URL + ConfideRoute.h5ConfideIntro(doctorId.toString()), doctorId!!) ConfideBottomSheetDialogFragment()
.showBottomSheetDialog(
mContext as FragmentActivity,
HttpConfig.MH5_URL + ConfideRoute.h5ConfideIntro(it),
doctorId!!
)
}
} }
......
...@@ -73,7 +73,7 @@ interface IConfideHomeEvent { ...@@ -73,7 +73,7 @@ interface IConfideHomeEvent {
* 咨询师推荐--点我倾诉 * 咨询师推荐--点我倾诉
* @param linkUrl 跳转地址 * @param linkUrl 跳转地址
*/ */
fun consultantClick(linkUrl: String?,doctorId: String?) fun consultantClick(doctorId: String?, confideId: String?)
fun videoShowClick(index: Int, data: List<ConfideHomeBodyBean>?) fun videoShowClick(index: Int, data: List<ConfideHomeBodyBean>?)
......
...@@ -10,13 +10,13 @@ import android.view.ViewGroup ...@@ -10,13 +10,13 @@ import android.view.ViewGroup
import android.widget.FrameLayout import android.widget.FrameLayout
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import com.ydl.ydl_image.module.GlideApp
import com.yidianling.common.tools.RxImageTool
import com.ydl.confide.R import com.ydl.confide.R
import com.ydl.confide.home.bean.ConfideHomeBodyBean import com.ydl.confide.home.bean.ConfideHomeBodyBean
import com.ydl.confide.home.config.IConfideHomeConfig import com.ydl.confide.home.config.IConfideHomeConfig
import com.ydl.confide.home.event.IConfideHomeEvent import com.ydl.confide.home.event.IConfideHomeEvent
import com.ydl.ydl_image.module.GlideApp
import com.ydl.ydlcommon.utils.ScreenUtil import com.ydl.ydlcommon.utils.ScreenUtil
import com.yidianling.common.tools.RxImageTool
import kotlinx.android.synthetic.main.confide_recommend_expert_item_view.view.* import kotlinx.android.synthetic.main.confide_recommend_expert_item_view.view.*
/** /**
...@@ -243,7 +243,7 @@ class ConfideHomeRecommendExpertItemView(mContext: Context, private var confideH ...@@ -243,7 +243,7 @@ class ConfideHomeRecommendExpertItemView(mContext: Context, private var confideH
private fun click(bodyBean: ConfideHomeBodyBean) { private fun click(bodyBean: ConfideHomeBodyBean) {
when (bodyBean.confideLine) {//1在线 2离线 3通话中 when (bodyBean.confideLine) {//1在线 2离线 3通话中
1, 3, 4 -> { 1, 3, 4 -> {
confideHomeEvent.consultantClick(bodyBean.linkUrl,bodyBean.doctorId) confideHomeEvent.consultantClick(bodyBean.doctorId, bodyBean.confidedId)
} }
2 -> { 2 -> {
//跳转私聊 并发送自定义消息 //跳转私聊 并发送自定义消息
......
...@@ -19,6 +19,7 @@ import com.ydl.confide.home.config.IConfideHomeConfig ...@@ -19,6 +19,7 @@ import com.ydl.confide.home.config.IConfideHomeConfig
import com.ydl.confide.home.contract.IConfideHomeContract import com.ydl.confide.home.contract.IConfideHomeContract
import com.ydl.confide.home.event.IConfideHomeEvent import com.ydl.confide.home.event.IConfideHomeEvent
import com.ydl.ydl_image.module.GlideApp import com.ydl.ydl_image.module.GlideApp
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import com.yidianling.common.tools.RxImageTool import com.yidianling.common.tools.RxImageTool
import kotlinx.android.synthetic.main.confide_recommend_view_new.view.* import kotlinx.android.synthetic.main.confide_recommend_view_new.view.*
...@@ -84,8 +85,24 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con ...@@ -84,8 +85,24 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con
setListenAndScore(bodyBean) setListenAndScore(bodyBean)
//设置页面点击事件 //设置页面点击事件
this.setOnClickListener { this.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_list_page",
"listen_counselor_card_click",
bodyBean.confidedId ?: ""
)
confideHomeEvent.consultantClick(bodyBean.linkUrl,bodyBean.doctorId) ActionCountUtils.record(
"listen_counselor_popupwindows_page",
"popupwindows_page_visit",
bodyBean.confidedId ?: "",
"1"
)
confideHomeEvent.consultantClick(bodyBean.doctorId, bodyBean.confidedId)
}
img_head.setOnClickListener {
ActionCountUtils.record("listen_counselor_list_page", "head_portrait_click", "2")
this.performClick()
} }
} }
...@@ -162,6 +179,12 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con ...@@ -162,6 +179,12 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con
iv_play.setImageResource(R.drawable.confide_sond_play) iv_play.setImageResource(R.drawable.confide_sond_play)
} }
iv_play.setOnClickListener { iv_play.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_list_page",
"listen_counselor_icon_click",
bodyBean.confidedId ?: "",
"4"
)
if (bodyBean.confideIsPlay!!) { if (bodyBean.confideIsPlay!!) {
confideHomeEvent.pauseVoice() confideHomeEvent.pauseVoice()
} else { } else {
...@@ -252,12 +275,14 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con ...@@ -252,12 +275,14 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con
* 设置向TA倾诉按钮状态 * 设置向TA倾诉按钮状态
*/ */
private fun setConfideButton(bodyBean: ConfideHomeBodyBean) { private fun setConfideButton(bodyBean: ConfideHomeBodyBean) {
var sign2 = 1
when (bodyBean.confideLine) {//1在线 2离线 3通话中 4继续倾诉 when (bodyBean.confideLine) {//1在线 2离线 3通话中 4继续倾诉
1 -> { 1 -> {
tv_confide.setBackgroundResource(R.drawable.confide_line_1) tv_confide.setBackgroundResource(R.drawable.confide_line_1)
} }
2 -> { 2 -> {
//男他女她 //男他女她
sign2 = 3
if (bodyBean.confideSex == 1) { if (bodyBean.confideSex == 1) {
tv_confide.setBackgroundResource(R.drawable.confide_line_sex_boy) tv_confide.setBackgroundResource(R.drawable.confide_line_sex_boy)
} else { } else {
...@@ -265,6 +290,7 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con ...@@ -265,6 +290,7 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con
} }
} }
3 -> { 3 -> {
sign2 = 2
tv_confide.setBackgroundResource(R.drawable.confide_line_3) tv_confide.setBackgroundResource(R.drawable.confide_line_3)
} }
4 -> { 4 -> {
...@@ -272,6 +298,12 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con ...@@ -272,6 +298,12 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con
} }
} }
tv_confide.setOnClickListener { tv_confide.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_list_page",
"listen_counselor_icon_click",
bodyBean.confidedId ?: "",
sign2.toString()
)
click(bodyBean) click(bodyBean)
} }
} }
...@@ -323,7 +355,7 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con ...@@ -323,7 +355,7 @@ class ConfideHomeRecommendView(var view: IConfideHomeContract.View, context: Con
if (bodyBean.confideLine == 3) { if (bodyBean.confideLine == 3) {
} }
confideHomeEvent.consultantClick(bodyBean.linkUrl,bodyBean.doctorId) confideHomeEvent.consultantClick(bodyBean.doctorId, bodyBean.confidedId)
} }
2 -> { 2 -> {
//跳转私聊 并发送自定义消息 //跳转私聊 并发送自定义消息
......
...@@ -79,6 +79,9 @@ class ExpertIntroActivity : AppCompatActivity() { ...@@ -79,6 +79,9 @@ class ExpertIntroActivity : AppCompatActivity() {
} }
data.addAll(vms) data.addAll(vms)
} }
if (data.isEmpty()) {
loadMore()
}
binding.ivBack.setOnClickListener { onBackPressed() } binding.ivBack.setOnClickListener { onBackPressed() }
binding.tvConfideRecord.setOnClickListener { binding.tvConfideRecord.setOnClickListener {
if (!PhoneCallIn.loginByOneKeyLogin(this, true)) { if (!PhoneCallIn.loginByOneKeyLogin(this, true)) {
......
...@@ -17,6 +17,7 @@ import com.ydl.confide.databinding.ItemExpertIntroBinding ...@@ -17,6 +17,7 @@ import com.ydl.confide.databinding.ItemExpertIntroBinding
import com.ydl.confide.home.http.ConfideHomeApi import com.ydl.confide.home.http.ConfideHomeApi
import com.ydl.confide.home.util.ConfideNetworkUtil import com.ydl.confide.home.util.ConfideNetworkUtil
import com.ydl.ydlcommon.utils.TimeUtil import com.ydl.ydlcommon.utils.TimeUtil
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import com.ydl.ydlcommon.view.dialog.CommonDialog import com.ydl.ydlcommon.view.dialog.CommonDialog
import com.ydl.ydlnet.YDLHttpUtils import com.ydl.ydlnet.YDLHttpUtils
import com.yidianling.common.tools.ToastUtil import com.yidianling.common.tools.ToastUtil
...@@ -164,6 +165,15 @@ internal class IntroAdapter( ...@@ -164,6 +165,15 @@ internal class IntroAdapter(
private fun onLoadDialStatus(position: Int) { private fun onLoadDialStatus(position: Int) {
val confideApi = YDLHttpUtils.obtainApi(ConfideHomeApi::class.java) val confideApi = YDLHttpUtils.obtainApi(ConfideHomeApi::class.java)
val curUid = data[position].uid val curUid = data[position].uid
val confideId = data[position].confideId
val video = data[position].isVideo
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_visit",
confideId ?: "",
if (video) "1" else "2",
"1"
)
if (curUid != null) { if (curUid != null) {
dispose?.dispose() dispose?.dispose()
dispose = confideApi.getDialStatus(curUid) dispose = confideApi.getDialStatus(curUid)
......
...@@ -18,6 +18,7 @@ import com.ydl.confide.home.bean.ConfideHomeBodyBean ...@@ -18,6 +18,7 @@ import com.ydl.confide.home.bean.ConfideHomeBodyBean
import com.ydl.ydlcommon.base.config.HttpConfig import com.ydl.ydlcommon.base.config.HttpConfig
import com.ydl.ydlcommon.modular.findRouteService import com.ydl.ydlcommon.modular.findRouteService
import com.ydl.ydlcommon.utils.LogUtil import com.ydl.ydlcommon.utils.LogUtil
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import com.ydl.ydlcommon.view.dialog.YDLShareDialog import com.ydl.ydlcommon.view.dialog.YDLShareDialog
import com.yidianling.im.api.service.IImService import com.yidianling.im.api.service.IImService
import io.reactivex.Observable import io.reactivex.Observable
...@@ -49,16 +50,37 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) : ...@@ -49,16 +50,37 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
fun onBind(item: VideoViewModel) { fun onBind(item: VideoViewModel) {
vm = item vm = item
binding.layoutCall.setOnClickListener { binding.layoutCall.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId.toString(),
if (item.isVideo) "1" else "2",
"6"
)
showDoctorDetail(item) showDoctorDetail(item)
} }
binding.btnChat.setOnClickListener { binding.btnChat.setOnClickListener {
val aty = it.context as? Activity val aty = it.context as? Activity
if (aty != null && !item.uid.isNullOrEmpty()) { if (aty != null && !item.uid.isNullOrEmpty()) {
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId.toString(),
if (item.isVideo) "1" else "2",
"7"
)
findRouteService(IImService::class.java)?.startChat(aty, item.uid!!, 0, 0) findRouteService(IImService::class.java)?.startChat(aty, item.uid!!, 0, 0)
} }
} }
binding.btnEvaluate.setOnClickListener { binding.btnEvaluate.setOnClickListener {
item.doctorId?.let { item.doctorId?.let {
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId ?: "",
if (item.isVideo) "1" else "2",
"8"
)
ConfideBottomSheetDialogFragment() ConfideBottomSheetDialogFragment()
.showBottomSheetDialog( .showBottomSheetDialog(
itemView.context as FragmentActivity, itemView.context as FragmentActivity,
...@@ -68,15 +90,41 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) : ...@@ -68,15 +90,41 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
} }
} }
binding.tvName.setOnClickListener { binding.tvName.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_popupwindows_page",
"popupwindows_page_visit",
item.confideId ?: "",
"4"
)
showDoctorDetail(item) showDoctorDetail(item)
} }
binding.ivAvatar.setOnClickListener { binding.ivAvatar.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId ?: "",
if (item.isVideo) "1" else "2",
"10"
)
ActionCountUtils.record(
"listen_counselor_popupwindows_page",
"popupwindows_page_visit",
item.confideId ?: "",
"3"
)
showDoctorDetail(item) showDoctorDetail(item)
} }
binding.vDisableClick.setOnClickListener { } binding.vDisableClick.setOnClickListener { }
binding.btnShare.setOnClickListener { binding.btnShare.setOnClickListener {
val aty = it.context as? Activity val aty = it.context as? Activity
if (aty != null) { if (aty != null) {
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId ?: "",
if (item.isVideo) "1" else "2",
"9"
)
var shareUrl = "${HttpConfig.MH5_URL}experts/${item.doctorId}" var shareUrl = "${HttpConfig.MH5_URL}experts/${item.doctorId}"
if (!item.confideId.isNullOrBlank()) { if (!item.confideId.isNullOrBlank()) {
shareUrl += "?id=${item.confideId}" shareUrl += "?id=${item.confideId}"
...@@ -89,6 +137,13 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) : ...@@ -89,6 +137,13 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
} }
} }
binding.videoView.setOnClickListener { binding.videoView.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId ?: "",
if (item.isVideo) "1" else "2",
if (item.isVideo) "4" else "2"
)
if (video?.canPause() == true) { if (video?.canPause() == true) {
video?.pause() video?.pause()
if (item.isVideo) { if (item.isVideo) {
...@@ -99,6 +154,13 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) : ...@@ -99,6 +154,13 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
} }
} }
binding.ivPlay.setOnClickListener { binding.ivPlay.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId.toString(),
if (item.isVideo) "1" else "2",
if (item.isVideo) "3" else "1"
)
video?.start() video?.start()
if (item.isVideo) { if (item.isVideo) {
binding.ivPlay.visibility = View.GONE binding.ivPlay.visibility = View.GONE
...@@ -107,6 +169,13 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) : ...@@ -107,6 +169,13 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
} }
} }
binding.voicePlay.setOnClickListener { binding.voicePlay.setOnClickListener {
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId.toString(),
if (item.isVideo) "1" else "2",
if (item.isVideo) "3" else "1"
)
if (video?.isPlaying == true) { if (video?.isPlaying == true) {
video?.pause() video?.pause()
binding.voicePlay.stop() binding.voicePlay.stop()
...@@ -132,6 +201,14 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) : ...@@ -132,6 +201,14 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
video?.start() video?.start()
binding.ivPlay.visibility = View.GONE binding.ivPlay.visibility = View.GONE
} }
ActionCountUtils.record(
"listen_counselor_content_play_page",
"listen_counselor_content_play_icon_click",
item.confideId.toString(),
if (item.isVideo) "1" else "2",
"5"
)
} }
}) })
binding.voicePlay.visibility = binding.voicePlay.visibility =
...@@ -200,9 +277,10 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) : ...@@ -200,9 +277,10 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
} }
private fun showDoctorDetail(item: VideoViewModel) { private fun showDoctorDetail(item: VideoViewModel) {
if (!item.linkUrl.isNullOrBlank()) { item.confideId?.let {
val url = HttpConfig.MH5_URL + ConfideRoute.h5ConfideIntro(it)
ConfideBottomSheetDialogFragment() ConfideBottomSheetDialogFragment()
.showBottomSheetDialog(itemView.context as FragmentActivity, item.linkUrl!!, item.doctorId!!) .showBottomSheetDialog(itemView.context as FragmentActivity, url, item.doctorId!!)
} }
} }
} }
...@@ -223,7 +301,6 @@ class VideoViewModel { ...@@ -223,7 +301,6 @@ class VideoViewModel {
var uid: String? = null var uid: String? = null
var doctorId: String? = null var doctorId: String? = null
var confideId: String? = null var confideId: String? = null
var linkUrl: String? = null
} }
private fun genMinProgramPath(url: String): String { private fun genMinProgramPath(url: String): String {
...@@ -256,9 +333,6 @@ internal fun VideoViewModel.mapOf(bean: ConfideHomeBodyBean): VideoViewModel { ...@@ -256,9 +333,6 @@ internal fun VideoViewModel.mapOf(bean: ConfideHomeBodyBean): VideoViewModel {
uid = bean.uid?.toString() uid = bean.uid?.toString()
doctorId = bean.doctorId doctorId = bean.doctorId
confideId = bean.confidedId confideId = bean.confidedId
doctorId?.let {
linkUrl = HttpConfig.MH5_URL + ConfideRoute.h5ExpertEval(it)
}
return this return this
} }
......
...@@ -2,9 +2,10 @@ package com.ydl.confide.api ...@@ -2,9 +2,10 @@ package com.ydl.confide.api
object ConfideRoute { object ConfideRoute {
const val R_VIDEO_SHOW = "confide/expert_video" const val R_VIDEO_SHOW = "/confide/expert_video"
const val R_CONFIDE_HOME = "/confide/home"
fun h5ConfideIntro(id: String) = "jy/listenMask?listenerId=${id}" fun h5ConfideIntro(id: String) = "jy/listenMask?listenerId=${id}"
fun h5ExpertEval(id: String) = "comment/evaList/${id}?listenerId=${id}" fun h5ExpertEval(id: String) = "comment/evaList/${id}?listenerId=${id}&fromVideo=1"
} }
\ No newline at end of file
...@@ -26,10 +26,12 @@ ...@@ -26,10 +26,12 @@
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:layout_marginLeft="15dp" android:layout_marginLeft="15dp"
android:layout_marginRight="15dp" android:layout_marginRight="15dp"
android:layout_marginBottom="30dp" android:layout_marginBottom="20dp"
android:background="@drawable/confide_card_consult_bg" android:background="@drawable/confide_card_consult_bg"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingLeft="@dimen/platform_dp_8" android:paddingLeft="@dimen/platform_dp_8"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:paddingRight="@dimen/platform_dp_8" android:paddingRight="@dimen/platform_dp_8"
android:visibility="gone" android:visibility="gone"
tools:visibility="visible"> tools:visibility="visible">
...@@ -75,27 +77,33 @@ ...@@ -75,27 +77,33 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="30dp" android:layout_height="30dp"
android:background="@drawable/confide_consult_btn_bg" android:background="@drawable/confide_consult_btn_bg"
android:layout_marginRight="24dp"
android:gravity="center" android:gravity="center"
android:paddingTop="@dimen/platform_dp_5" android:paddingTop="@dimen/platform_dp_5"
android:paddingBottom="@dimen/platform_dp_5" android:paddingBottom="@dimen/platform_dp_5"
android:paddingLeft="@dimen/platform_dp_7" android:paddingLeft="@dimen/platform_dp_7"
android:paddingRight="@dimen/platform_dp_7" android:paddingRight="@dimen/platform_dp_7"
android:text="我要倾诉" android:text="我要倾诉"
android:layout_marginTop="@dimen/platform_dp_15" android:layout_marginTop="@dimen/platform_dp_12"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="13sp" android:textSize="13sp"
android:drawableRight="@drawable/confide_right_arrow" android:drawableRight="@drawable/confide_right_arrow"
/> />
<ImageView
android:layout_width="@dimen/platform_dp_40"
android:layout_height="@dimen/confide_dp_25"
android:src="@drawable/confide__free"
android:layout_marginStart="@dimen/platform_dp_40"
android:id="@+id/confide_Free"
>
</ImageView> <TextView
android:id="@+id/confide_Free"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_confide_free"
android:layout_gravity="right|top"
android:paddingLeft="5dp"
android:paddingTop="2dp"
android:paddingRight="5dp"
android:paddingBottom="2dp"
android:text="首单免费"
android:textColor="@color/white"
android:textSize="11sp" />
</FrameLayout> </FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
......
...@@ -116,7 +116,7 @@ ...@@ -116,7 +116,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="@dimen/platform_sp_12" android:textSize="@dimen/platform_sp_12"
android:textColor="#BCBCBC" android:textColor="#BCBCBC"
android:text="向TA倾诉" android:text="倾诉人次"
/> />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
...@@ -156,16 +156,17 @@ ...@@ -156,16 +156,17 @@
android:layout_marginStart="14dp" android:layout_marginStart="14dp"
app:layout_constraintBottom_toBottomOf="@id/img_bg" app:layout_constraintBottom_toBottomOf="@id/img_bg"
/> />
<TextView <TextView
android:id="@+id/price_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:text="50元/25分钟" android:text="50元/25分钟"
android:id="@+id/price_content"
android:textSize="@dimen/platform_sp_12" android:textSize="@dimen/platform_sp_12"
app:layout_constraintStart_toEndOf="@id/flowlayout_tag" app:layout_constraintStart_toEndOf="@id/flowlayout_tag"
app:layout_constraintBottom_toBottomOf="@id/flowlayout_tag" app:layout_constraintTop_toBottomOf="@+id/ll_confide_data"/>
>
</TextView>
<TextView <TextView
android:id="@+id/tv_content" android:id="@+id/tv_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -194,8 +195,8 @@ ...@@ -194,8 +195,8 @@
android:gravity="center" android:gravity="center"
tools:background="@drawable/confide_line_1"/> tools:background="@drawable/confide_line_1"/>
<ImageView <ImageView
android:layout_width="wrap_content" android:layout_width="42dp"
android:layout_height="wrap_content" android:layout_height="21dp"
android:id="@+id/confide_free_logo" android:id="@+id/confide_free_logo"
android:layout_marginTop="@dimen/platform_dp_5" android:layout_marginTop="@dimen/platform_dp_5"
android:layout_marginStart="@dimen/platform_dp_8" android:layout_marginStart="@dimen/platform_dp_8"
......
<resources> <resources>
<string name="confide_title">即时倾诉</string> <string name="confide_title">倾诉热线</string>
<string name="confide_video_wifi_tip">当前处于非wifi环境下,播放会消耗流量,确定继续播放?</string> <string name="confide_video_wifi_tip">当前处于非wifi环境下,播放会消耗流量,确定继续播放?</string>
<string name="confide_tip">提示</string> <string name="confide_tip">提示</string>
<string name="confide_tip_remain_time">(剩余%s)</string> <string name="confide_tip_remain_time">(剩余%s)</string>
......
...@@ -27,6 +27,7 @@ import com.ydl.ydlcommon.bean.ShareData ...@@ -27,6 +27,7 @@ import com.ydl.ydlcommon.bean.ShareData
import com.ydl.ydlcommon.data.PlatformRamImpl import com.ydl.ydlcommon.data.PlatformRamImpl
import com.ydl.ydlcommon.modular.ModularServiceManager import com.ydl.ydlcommon.modular.ModularServiceManager
import com.ydl.ydlcommon.modular.findRouteService import com.ydl.ydlcommon.modular.findRouteService
import com.ydl.ydlcommon.modular.route
import com.ydl.ydlcommon.router.IYDLRouterConstant import com.ydl.ydlcommon.router.IYDLRouterConstant
import com.ydl.ydlcommon.utils.LogUtil import com.ydl.ydlcommon.utils.LogUtil
import com.ydl.ydlcommon.utils.Utils import com.ydl.ydlcommon.utils.Utils
...@@ -296,7 +297,7 @@ open class HomeBaseImpl : IHomeBaseEvent { ...@@ -296,7 +297,7 @@ open class HomeBaseImpl : IHomeBaseEvent {
ActionCountUtils.count(HomeBIConstants.YDL_USER_CONSULT_CLICK) ActionCountUtils.count(HomeBIConstants.YDL_USER_CONSULT_CLICK)
} }
override fun nowConfideClick() { override fun nowConfideClick(listenFree: Boolean) {
if (Utils.isFastClick()) { if (Utils.isFastClick()) {
//防止连击 //防止连击
return return
...@@ -304,7 +305,7 @@ open class HomeBaseImpl : IHomeBaseEvent { ...@@ -304,7 +305,7 @@ open class HomeBaseImpl : IHomeBaseEvent {
ActionCountUtils.count(HomeBIConstants.YDL_USER_TALK_IN_TIME_CLICK) ActionCountUtils.count(HomeBIConstants.YDL_USER_TALK_IN_TIME_CLICK)
//倾诉首页 ydl-user://confide/home //倾诉首页 ydl-user://confide/home
YDLRouterManager.router(IYDLRouterConstant.ROUTER_CONFIDE_HOME) route(mContext, ConfideRoute.R_CONFIDE_HOME, "listenFree" to listenFree)
} }
override fun psychologyClassClick() { override fun psychologyClassClick() {
......
package com.yidianling.home.event package com.yidianling.home.event
import androidx.recyclerview.widget.RecyclerView
import android.view.View import android.view.View
import androidx.recyclerview.widget.RecyclerView
import com.yidianling.home.model.bean.* import com.yidianling.home.model.bean.*
/** /**
...@@ -82,7 +82,7 @@ interface IHomeBaseEvent { ...@@ -82,7 +82,7 @@ interface IHomeBaseEvent {
/** /**
* 即可倾诉点击事件 * 即可倾诉点击事件
*/ */
fun nowConfideClick() fun nowConfideClick(listenFree: Boolean)
/** /**
* 心理课堂点击事件 * 心理课堂点击事件
......
...@@ -41,7 +41,6 @@ import com.yidianling.home.ui.view.HomeSpaceItemDecoration ...@@ -41,7 +41,6 @@ import com.yidianling.home.ui.view.HomeSpaceItemDecoration
import com.yidianling.home.utils.HomeAnimUtils import com.yidianling.home.utils.HomeAnimUtils
import com.yidianling.user.api.service.IUserService import com.yidianling.user.api.service.IUserService
import kotlinx.android.synthetic.ydl.home_fragment.* import kotlinx.android.synthetic.ydl.home_fragment.*
import kotlin.properties.Delegates
/** /**
...@@ -204,7 +203,7 @@ open class YdlHomeFragment : BaseMvpFragment<IHomeContract.View, HomePresenterIm ...@@ -204,7 +203,7 @@ open class YdlHomeFragment : BaseMvpFragment<IHomeContract.View, HomePresenterIm
homeEvent?.reservationExpertsClick() homeEvent?.reservationExpertsClick()
} }
tv_confide.setOnClickListener { tv_confide.setOnClickListener {
homeEvent?.nowConfideClick() homeEvent?.nowConfideClick(adapter?.listenFree ?: false)
} }
tv_course.setOnClickListener { tv_course.setOnClickListener {
homeEvent?.psychologyClassClick() homeEvent?.psychologyClassClick()
......
...@@ -8,10 +8,9 @@ import android.widget.LinearLayout ...@@ -8,10 +8,9 @@ import android.widget.LinearLayout
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.yidianling.common.tools.LogUtil import com.yidianling.common.tools.RxDeviceTool
import com.yidianling.home.R import com.yidianling.home.R
import com.yidianling.home.event.IHomeBaseEvent import com.yidianling.home.event.IHomeBaseEvent
import com.yidianling.common.tools.RxDeviceTool
import kotlinx.android.synthetic.ydl.home_button_banner_view.view.* import kotlinx.android.synthetic.ydl.home_button_banner_view.view.*
/** /**
...@@ -54,7 +53,7 @@ class HomeButtonBannerView(private val mContext: Context, private var homeEvent: ...@@ -54,7 +53,7 @@ class HomeButtonBannerView(private val mContext: Context, private var homeEvent:
homeEvent?.reservationExpertsClick() homeEvent?.reservationExpertsClick()
} }
homeModuleButtonBannerSecond.setOnClickListener { homeModuleButtonBannerSecond.setOnClickListener {
homeEvent?.nowConfideClick() homeEvent?.nowConfideClick(listenFree)
} }
homeModuleButtonBannerThird.setOnClickListener { homeModuleButtonBannerThird.setOnClickListener {
homeEvent?.psychologyClassClick() homeEvent?.psychologyClassClick()
......
...@@ -106,6 +106,11 @@ class ActionCountUtils { ...@@ -106,6 +106,11 @@ class ActionCountUtils {
count(uid, partId, position, url, api, signs = *arrayOf(sign1)) count(uid, partId, position, url, api, signs = *arrayOf(sign1))
} }
fun record(partId: String, position: String, vararg signs: String) {
val userId = ModularServiceManager.getPlatformUserService()?.getUser()?.userId ?: ""
count(userId, partId, position, url = "", api = "", signs = *signs)
}
/* /*
* *
* 测试用埋点,现在服务端统一用百度埋点 * 测试用埋点,现在服务端统一用百度埋点
...@@ -155,7 +160,7 @@ class ActionCountUtils { ...@@ -155,7 +160,7 @@ class ActionCountUtils {
DeviceIDHelper.getInstance().deviceId DeviceIDHelper.getInstance().deviceId
} }
actionDataParams.deviceId(deviceId) actionDataParams.deviceId(deviceId)
signs == null ?: signs.forEachIndexed { index, s -> signs.forEachIndexed { index, s ->
//拓展参数个数确定,暂不使用反射调用 //拓展参数个数确定,暂不使用反射调用
//actionDataParams.javaClass.getMethod("sign$index").invoke(s) //actionDataParams.javaClass.getMethod("sign$index").invoke(s)
when (index) { when (index) {
......
...@@ -127,6 +127,8 @@ public class WebUrlParamsUtils { ...@@ -127,6 +127,8 @@ public class WebUrlParamsUtils {
if (userInfo != null) { if (userInfo != null) {
mTree.put("uid", userInfo.getUserId()); mTree.put("uid", userInfo.getUserId());
mTree.put("accessToken", userInfo.getToken()); mTree.put("accessToken", userInfo.getToken());
} else {
mTree.put("uid", "0");
} }
mTree.put("v", RxAppTool.getAppVersionName(BaseApp.Companion.getApp())); mTree.put("v", RxAppTool.getAppVersionName(BaseApp.Companion.getApp()));
mTree.put("isFromApp", "1");//1表示用户版调用接口 mTree.put("isFromApp", "1");//1表示用户版调用接口
......
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