feat:完成数据埋点需求
This commit is contained in:
@@ -5,16 +5,23 @@ import android.content.Intent
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import com.gyf.immersionbar.BarHide
|
||||
import com.gyf.immersionbar.ImmersionBar
|
||||
import com.nnbc123.app.R
|
||||
import com.nnbc123.app.avroom.activity.AVRoomActivity
|
||||
import com.nnbc123.app.base.BaseBindingActivity
|
||||
import com.nnbc123.app.common.EmptyViewHelper
|
||||
import com.nnbc123.app.common.widget.dialog.DialogManager.AbsOkDialogListener
|
||||
import com.nnbc123.app.databinding.ActivityMoreRoomBinding
|
||||
import com.nnbc123.app.home.dialog.RecommendRoomDialog
|
||||
import com.nnbc123.app.ui.utils.RVDelegate
|
||||
import com.nnbc123.app.ui.webview.CommonWebViewActivity
|
||||
import com.nnbc123.core.UriProvider
|
||||
import com.nnbc123.core.bean.response.observeResult
|
||||
import com.nnbc123.core.home.bean.HomeRoomInfo
|
||||
import com.nnbc123.core.pay.PayModel.NOT_REAL_NAME_BEFORE_CHARGING
|
||||
import com.nnbc123.core.statistic.StatisticManager
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol
|
||||
import com.nnbc123.core.utils.net.ServerException
|
||||
import com.nnbc123.library.annatation.ActLayoutRes
|
||||
|
||||
/**
|
||||
@@ -61,7 +68,7 @@ class GameRoomActivity : BaseBindingActivity<ActivityMoreRoomBinding>() {
|
||||
}
|
||||
|
||||
private fun initObserve() {
|
||||
viewModel.jumpLiveData.observe(this) {
|
||||
viewModel.jumpLiveData.observeResult(this, success = {
|
||||
dialogManager.dismissDialog()
|
||||
it?.let {
|
||||
if (it.isPick) {
|
||||
@@ -70,7 +77,24 @@ class GameRoomActivity : BaseBindingActivity<ActivityMoreRoomBinding>() {
|
||||
RecommendRoomDialog.newInstance(it).show(context)
|
||||
}
|
||||
}
|
||||
}
|
||||
}, failed = {
|
||||
dialogManager.dismissDialog()
|
||||
if ((it as? ServerException)?.code == NOT_REAL_NAME_BEFORE_CHARGING) {
|
||||
dialogManager.showTipsDialog(getString(R.string.tips_need_to_certification),
|
||||
getString(R.string.go_to_certification),
|
||||
object : AbsOkDialogListener() {
|
||||
override fun onOk() {
|
||||
// 跳去实名认证页面
|
||||
CommonWebViewActivity.start(
|
||||
this@GameRoomActivity.context,
|
||||
UriProvider.getTutuRealNamePage()
|
||||
)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
toast(it.message)
|
||||
}
|
||||
})
|
||||
viewModel.gameTabLiveData.observe(this) {
|
||||
gameTabAdapter.setNewData(it)
|
||||
mBinding.rvTop.isVisible = !it.isNullOrEmpty()
|
||||
@@ -83,6 +107,10 @@ class GameRoomActivity : BaseBindingActivity<ActivityMoreRoomBinding>() {
|
||||
private fun initEvent() {
|
||||
gameTabAdapter.setOnItemClickListener { adapter, view, position ->
|
||||
gameTabAdapter.getItem(position)?.let {
|
||||
StatisticManager.Instance().onEvent(
|
||||
StatisticsProtocol.EVENT_HOMEPAGE_MORE_GAME_TAB_CLICK,
|
||||
it.name
|
||||
)
|
||||
dialogManager.showProgressDialog(this)
|
||||
val type = if (it.isFriendsType == true) {
|
||||
2
|
||||
|
@@ -2,6 +2,7 @@ package com.nnbc123.app.game_room
|
||||
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import com.nnbc123.app.base.BaseViewModel
|
||||
import com.nnbc123.core.bean.response.BeanResult
|
||||
import com.nnbc123.core.bean.response.ListResult
|
||||
import com.nnbc123.core.home.bean.HomeGameBean
|
||||
import com.nnbc123.core.home.bean.HomeRoomInfo
|
||||
@@ -13,7 +14,7 @@ class GameRoomViewModel : BaseViewModel() {
|
||||
val gameTabLiveData = MutableLiveData<List<HomeGameBean>>()
|
||||
val roomListLiveData = MutableLiveData<ListResult<HomeRoomInfo>>()
|
||||
|
||||
val jumpLiveData = MutableLiveData<HomeRoomInfo?>()
|
||||
val jumpLiveData = MutableLiveData<BeanResult<HomeRoomInfo>?>()
|
||||
|
||||
fun getData() {
|
||||
safeLaunch(
|
||||
@@ -39,11 +40,10 @@ class GameRoomViewModel : BaseViewModel() {
|
||||
fun getJumpInfo(id: Long, type: Int) {
|
||||
safeLaunch(
|
||||
onError = {
|
||||
jumpLiveData.value = null
|
||||
it.message.toast()
|
||||
jumpLiveData.value = BeanResult.failed(it)
|
||||
},
|
||||
block = {
|
||||
jumpLiveData.value = HomeModel.getResourceJumpInfo(id, type)
|
||||
jumpLiveData.value = BeanResult.success(HomeModel.getResourceJumpInfo(id, type))
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@@ -3,6 +3,7 @@ package com.nnbc123.app.home
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import com.nnbc123.app.base.BaseViewModel
|
||||
import com.nnbc123.core.bean.response.BeanResult
|
||||
import com.nnbc123.core.bean.response.ListResult
|
||||
import com.nnbc123.core.home.bean.HomeGameTab
|
||||
import com.nnbc123.core.home.bean.HomeRoomInfo
|
||||
@@ -16,8 +17,8 @@ import com.nnbc123.core.utils.toast
|
||||
**/
|
||||
class FriendsViewModel: BaseViewModel() {
|
||||
|
||||
private val _resourceJumpLiveData = MutableLiveData<HomeRoomInfo?>()
|
||||
val resourceJumpLiveData: LiveData<HomeRoomInfo?> = _resourceJumpLiveData
|
||||
private val _resourceJumpLiveData = MutableLiveData<BeanResult<HomeRoomInfo>?>()
|
||||
val resourceJumpLiveData: LiveData<BeanResult<HomeRoomInfo>?> = _resourceJumpLiveData
|
||||
|
||||
private val _homeChatPickLiveData = MutableLiveData<String?>()
|
||||
val homeChatPickLiveData: LiveData<String?> = _homeChatPickLiveData
|
||||
@@ -32,11 +33,10 @@ class FriendsViewModel: BaseViewModel() {
|
||||
fun getResourceJumpInfo(id: Long) {
|
||||
safeLaunch(
|
||||
onError = {
|
||||
_resourceJumpLiveData.value = null
|
||||
it.message.toast()
|
||||
_resourceJumpLiveData.value = BeanResult.failed(it)
|
||||
},
|
||||
block = {
|
||||
_resourceJumpLiveData.value = HomeModel.getResourceJumpInfo(id, 0)
|
||||
_resourceJumpLiveData.value = BeanResult.success(HomeModel.getResourceJumpInfo(id, 0))
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@@ -1,45 +0,0 @@
|
||||
package com.nnbc123.app.home
|
||||
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import com.nnbc123.app.base.BaseViewModel
|
||||
import com.nnbc123.core.home.bean.HomeRoomInfo
|
||||
import com.nnbc123.core.home.model.HomeModel
|
||||
import com.nnbc123.core.utils.toast
|
||||
|
||||
/**
|
||||
* Created by Max on 2023/12/27 10:18
|
||||
* Desc:
|
||||
**/
|
||||
class HomeChildViewModel: BaseViewModel() {
|
||||
|
||||
private val _resourceJumpLiveData = MutableLiveData<HomeRoomInfo?>()
|
||||
val resourceJumpLiveData: LiveData<HomeRoomInfo?> = _resourceJumpLiveData
|
||||
|
||||
private val _homeChatPickLiveData = MutableLiveData<String?>()
|
||||
val homeChatPickLiveData: LiveData<String?> = _homeChatPickLiveData
|
||||
|
||||
fun getResourceJumpInfo(id: Long) {
|
||||
safeLaunch(
|
||||
onError = {
|
||||
_resourceJumpLiveData.value = null
|
||||
it.message.toast()
|
||||
},
|
||||
block = {
|
||||
_resourceJumpLiveData.value = HomeModel.getResourceJumpInfo(id, 0)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
fun getHomeChatPick() {
|
||||
safeLaunch(
|
||||
onError = {
|
||||
_homeChatPickLiveData.value = null
|
||||
it.message.toast()
|
||||
},
|
||||
block = {
|
||||
_homeChatPickLiveData.value = HomeModel.getHomeChatPick()
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
@@ -3,6 +3,7 @@ package com.nnbc123.app.home
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import com.nnbc123.app.base.BaseViewModel
|
||||
import com.nnbc123.core.bean.response.BeanResult
|
||||
import com.nnbc123.core.bean.response.ListResult
|
||||
import com.nnbc123.core.home.bean.BannerInfo
|
||||
import com.nnbc123.core.home.bean.GiftServiceMsgVo
|
||||
@@ -21,17 +22,16 @@ class PartyViewModel : BaseViewModel() {
|
||||
private val _bannerLiveData = MutableLiveData<List<BannerInfo>>()
|
||||
val bannerLiveData: LiveData<List<BannerInfo>> = _bannerLiveData
|
||||
|
||||
private val _resourceJumpLiveData = MutableLiveData<HomeRoomInfo?>()
|
||||
val resourceJumpLiveData: LiveData<HomeRoomInfo?> = _resourceJumpLiveData
|
||||
private val _resourceJumpLiveData = MutableLiveData<BeanResult<HomeRoomInfo>?>()
|
||||
val resourceJumpLiveData: LiveData<BeanResult<HomeRoomInfo>?> = _resourceJumpLiveData
|
||||
|
||||
fun getResourceJumpInfo(id: Long) {
|
||||
safeLaunch(
|
||||
onError = {
|
||||
_resourceJumpLiveData.value = null
|
||||
it.message.toast()
|
||||
_resourceJumpLiveData.value = BeanResult.failed(it)
|
||||
},
|
||||
block = {
|
||||
_resourceJumpLiveData.value = HomeModel.getResourceJumpInfo(id, 0)
|
||||
_resourceJumpLiveData.value = BeanResult.success(HomeModel.getResourceJumpInfo(id, 0))
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@ package com.nnbc123.app.home.fragment
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
import android.text.TextUtils
|
||||
import android.util.SparseArray
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
@@ -39,7 +38,6 @@ import com.nnbc123.app.ui.patriarch.PatriarchModeActivity
|
||||
import com.nnbc123.app.ui.pay.ChargeActivity
|
||||
import com.nnbc123.app.ui.relation.AttentionListActivity
|
||||
import com.nnbc123.app.ui.relation.FansListActivity
|
||||
import com.nnbc123.app.ui.utils.ImageLoadUtils
|
||||
import com.nnbc123.app.ui.webview.CommonWebViewActivity
|
||||
import com.nnbc123.app.ui.widget.OnPageSelectedListener
|
||||
import com.nnbc123.app.utils.UserUtils
|
||||
@@ -57,12 +55,10 @@ import com.nnbc123.core.room.bean.RoomInfo
|
||||
import com.nnbc123.core.statistic.StatisticManager
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol
|
||||
import com.nnbc123.core.user.UserModel
|
||||
import com.nnbc123.core.user.bean.UserExpInfo
|
||||
import com.nnbc123.core.user.bean.UserInfo
|
||||
import com.nnbc123.core.user.event.LoginUserInfoUpdateEvent
|
||||
import com.nnbc123.core.utils.CurrentTimeUtils
|
||||
import com.nnbc123.core.utils.StarUtils
|
||||
import com.nnbc123.core.utils.net.BeanObserver
|
||||
import com.nnbc123.core.utils.toast
|
||||
import com.trello.rxlifecycle3.android.FragmentEvent
|
||||
import io.reactivex.Observable
|
||||
@@ -241,12 +237,15 @@ class MeFragment : BaseFragment(), View.OnClickListener {
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (!isHidden) {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_HOMEPAGE_SHOW, "我的")
|
||||
}
|
||||
if (mUserInfo?.isReview == true) {
|
||||
requestUpdateUserInfo()
|
||||
}
|
||||
initUserDate()
|
||||
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
private fun initUserDate() {
|
||||
UserModel.get().currentUserInfo
|
||||
|
@@ -17,6 +17,8 @@ import com.nnbc123.app.ui.im.friend.FriendListFragment
|
||||
import com.nnbc123.app.ui.im.recent.RecentListFragment
|
||||
import com.nnbc123.app.ui.widget.magicindicator.ViewPagerHelper
|
||||
import com.nnbc123.app.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator
|
||||
import com.nnbc123.core.statistic.StatisticManager
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
|
||||
/**
|
||||
@@ -42,6 +44,13 @@ class MsgFragment : BaseViewBindingFragment<FragmentMsgBinding>(),
|
||||
binding.viewPager.currentItem = currentIndex
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (!isHidden) {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_HOMEPAGE_SHOW, "消息")
|
||||
}
|
||||
}
|
||||
|
||||
override fun init() {
|
||||
val tagList = arrayListOf("消息", "好友")
|
||||
mFragments.clear()
|
||||
|
@@ -3,6 +3,8 @@ package com.nnbc123.app.home.fragment.home
|
||||
import android.graphics.Color
|
||||
import android.view.Gravity
|
||||
import android.widget.LinearLayout
|
||||
import androidx.viewpager.widget.ViewPager
|
||||
import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
|
||||
import com.chuhai.utils.ktx.singleClick
|
||||
import com.gyf.immersionbar.ImmersionBar
|
||||
import com.nnbc123.app.R
|
||||
@@ -36,21 +38,28 @@ class HomeFragment : BaseBindingFragment<HomeFragmentBinding>() {
|
||||
initEvent()
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (!isHidden) {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_HOMEPAGE_SHOW, "首页")
|
||||
}
|
||||
}
|
||||
|
||||
private fun initEvent() {
|
||||
mBinding.ivMyRoom.singleClick {
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_HOME_MY_ROOM_CLICK, "首页_我的房间")
|
||||
.onEvent(StatisticsProtocol.EVENT_HOMEPAGE_TOP_MY_ROOM_CLICK)
|
||||
OpenRoomHelper.openRoom(baseActivity)
|
||||
}
|
||||
|
||||
mBinding.ivRanking.singleClick {
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_HOME_RANK_CLICK, "首页_榜单")
|
||||
.onEvent(StatisticsProtocol.EVENT_HOMEPAGE_TOP_RANK_CLICK)
|
||||
CommonWebViewActivity.start(mContext, UriProvider.getRanking())
|
||||
}
|
||||
|
||||
mBinding.tvSearch.singleClick {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_SEARCH, "进入搜索页")
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_HOMEPAGE_TOP_SEARCH_CLICK)
|
||||
SearchActivity.start(activity)
|
||||
//为啥触发条件这么恶心 我也不知道啊
|
||||
if (DemoCache.readAnchorCardView() == 0) {
|
||||
@@ -78,6 +87,23 @@ class HomeFragment : BaseBindingFragment<HomeFragmentBinding>() {
|
||||
mBinding.viewPager.adapter =
|
||||
RoomVPAdapter(childFragmentManager, fragmentList)
|
||||
ViewPagerHelper.bind(mBinding.magicIndicator, mBinding.viewPager)
|
||||
mBinding.viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
|
||||
override fun onPageScrolled(
|
||||
position: Int,
|
||||
positionOffset: Float,
|
||||
positionOffsetPixels: Int
|
||||
) {
|
||||
}
|
||||
|
||||
override fun onPageSelected(position: Int) {
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_HOMEPAGE_TOP_TBA_CLICK, "${position + 1}")
|
||||
}
|
||||
|
||||
override fun onPageScrollStateChanged(state: Int) {
|
||||
}
|
||||
|
||||
})
|
||||
InitialModel.get().cacheInitInfo?.defaultTab?.let {
|
||||
val tab = it - 1
|
||||
if (it >= 0 && it < tagList.size) {
|
||||
|
@@ -8,6 +8,7 @@ import com.chuhai.utils.ktx.singleClick
|
||||
import com.nnbc123.app.R
|
||||
import com.nnbc123.app.avroom.activity.AVRoomActivity
|
||||
import com.nnbc123.app.base.BaseBindingFragment
|
||||
import com.nnbc123.app.common.widget.dialog.DialogManager
|
||||
import com.nnbc123.app.databinding.HomeFriendsFragmentBinding
|
||||
import com.nnbc123.app.home.FriendsViewModel
|
||||
import com.nnbc123.app.home.HomeViewModel
|
||||
@@ -17,8 +18,13 @@ import com.nnbc123.app.ui.im.avtivity.NimP2PMessageActivity
|
||||
import com.nnbc123.app.ui.utils.load
|
||||
import com.nnbc123.app.ui.webview.CommonWebViewActivity
|
||||
import com.nnbc123.app.ui.widget.NewFriendsFilterWindow
|
||||
import com.nnbc123.core.UriProvider
|
||||
import com.nnbc123.core.auth.AuthModel
|
||||
import com.nnbc123.core.bean.response.observeResult
|
||||
import com.nnbc123.core.pay.PayModel
|
||||
import com.nnbc123.core.statistic.StatisticManager
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol
|
||||
import com.nnbc123.core.utils.net.ServerException
|
||||
import com.nnbc123.library.annatation.ActLayoutRes
|
||||
|
||||
/**
|
||||
@@ -79,26 +85,38 @@ class FriendsFragment : BaseBindingFragment<HomeFriendsFragmentBinding>() {
|
||||
|
||||
private fun initResource() {
|
||||
mBinding.ivResourceMatch.singleClick {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_HOMEPAGE_TOP_MATCH_CLICK)
|
||||
dialogManager.showProgressDialog(mContext)
|
||||
viewModel.getHomeChatPick()
|
||||
}
|
||||
|
||||
viewModel.resourceJumpLiveData.observe(this)
|
||||
{
|
||||
viewModel.resourceJumpLiveData.observeResult(this, success = {
|
||||
dialogManager.dismissDialog()
|
||||
it?.let {
|
||||
if (it.isPick) {
|
||||
AVRoomActivity.start(context, it.uid)
|
||||
// StatisticManager.Instance().onEvent(
|
||||
// "${currMatchClick}_match_success",
|
||||
// "资源位匹配成功",
|
||||
// mapOf("user_id" to AuthModel.get().currentUid.toString())
|
||||
// )
|
||||
} else {
|
||||
RecommendRoomDialog.newInstance(it).show(context)
|
||||
}
|
||||
}
|
||||
}
|
||||
}, failed = {
|
||||
dialogManager.dismissDialog()
|
||||
if ((it as? ServerException)?.code == PayModel.NOT_REAL_NAME_BEFORE_CHARGING) {
|
||||
dialogManager.showTipsDialog(getString(R.string.tips_need_to_certification),
|
||||
getString(R.string.go_to_certification),
|
||||
object : DialogManager.AbsOkDialogListener() {
|
||||
override fun onOk() {
|
||||
// 跳去实名认证页面
|
||||
CommonWebViewActivity.start(
|
||||
this@FriendsFragment.context,
|
||||
UriProvider.getTutuRealNamePage()
|
||||
)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
toast(it.message)
|
||||
}
|
||||
})
|
||||
|
||||
viewModel.homeChatPickLiveData.observe(viewLifecycleOwner) {
|
||||
dialogManager.dismissDialog()
|
||||
@@ -116,9 +134,8 @@ class FriendsFragment : BaseBindingFragment<HomeFriendsFragmentBinding>() {
|
||||
mBinding.ivResource0.load(item.icon)
|
||||
mBinding.ivResource0.singleClick {
|
||||
StatisticManager.Instance().onEvent(
|
||||
"E_match_click",
|
||||
"资源位点击",
|
||||
mapOf("user_id" to AuthModel.get().currentUid.toString())
|
||||
StatisticsProtocol.EVENT_HOMEPAGE_TOP_RESOURCE_CLICK,
|
||||
"E"
|
||||
)
|
||||
when (item.resourceType) {
|
||||
5 -> {
|
||||
|
@@ -13,14 +13,13 @@ import com.nnbc123.app.R
|
||||
import com.nnbc123.app.base.BaseBindingFragment
|
||||
import com.nnbc123.app.databinding.HomeFriendsListFragmentBinding
|
||||
import com.nnbc123.app.home.FriendsViewModel
|
||||
import com.nnbc123.app.home.HomeViewModel
|
||||
import com.nnbc123.app.home.adapter.HomeFriendsUserAdapter
|
||||
import com.nnbc123.app.ui.user.UserInfoActivity
|
||||
import com.nnbc123.app.ui.utils.RVDelegate
|
||||
import com.nnbc123.core.statistic.StatisticManager
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol
|
||||
import com.nnbc123.core.user.bean.UserInfo
|
||||
import com.nnbc123.library.annatation.ActLayoutRes
|
||||
import com.tencent.mm.opensdk.utils.Log
|
||||
import kotlin.random.Random
|
||||
|
||||
/**
|
||||
* Created by Max on 2023/12/18 19:35
|
||||
@@ -87,6 +86,10 @@ class FriendsListFragment : BaseBindingFragment<HomeFriendsListFragmentBinding>(
|
||||
private fun initEvent() {
|
||||
adapter.setOnItemClickListener { adapter, view, position ->
|
||||
(adapter.getItem(position) as? UserInfo)?.let { item ->
|
||||
StatisticManager.Instance().onEvent(
|
||||
StatisticsProtocol.EVENT_HOMEPAGE_MORE_GAME_USER_CLICK,
|
||||
item.uid.toString()
|
||||
)
|
||||
UserInfoActivity.Companion.start(mContext, item.uid)
|
||||
}
|
||||
}
|
||||
|
@@ -10,6 +10,7 @@ import com.nnbc123.app.R
|
||||
import com.nnbc123.app.avroom.activity.AVRoomActivity
|
||||
import com.nnbc123.app.base.BaseActivity
|
||||
import com.nnbc123.app.base.BaseBindingFragment
|
||||
import com.nnbc123.app.common.widget.dialog.DialogManager
|
||||
import com.nnbc123.app.databinding.HomePartyFragmentBinding
|
||||
import com.nnbc123.app.home.HomeViewModel
|
||||
import com.nnbc123.app.game_room.GameRoomActivity
|
||||
@@ -17,15 +18,19 @@ import com.nnbc123.app.home.PartyViewModel
|
||||
import com.nnbc123.app.home.adapter.HomePartyMessageAdapter
|
||||
import com.nnbc123.app.home.dialog.RecommendRoomDialog
|
||||
import com.nnbc123.app.home.helper.BannerHelper
|
||||
import com.nnbc123.app.home.helper.OpenRoomHelper
|
||||
import com.nnbc123.app.ui.utils.load
|
||||
import com.nnbc123.app.ui.webview.CommonWebViewActivity
|
||||
import com.nnbc123.core.auth.AuthModel
|
||||
import com.nnbc123.core.UriProvider
|
||||
import com.nnbc123.core.bean.response.observeResult
|
||||
import com.nnbc123.core.home.bean.BannerInfo
|
||||
import com.nnbc123.core.home.event.RefreshHomeDataEvent
|
||||
import com.nnbc123.core.room.bean.RoomInfo
|
||||
import com.nnbc123.core.im.custom.bean.RouterType
|
||||
import com.nnbc123.core.pay.PayModel
|
||||
import com.nnbc123.core.statistic.StatisticManager
|
||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol
|
||||
import com.nnbc123.core.utils.net.ServerException
|
||||
import com.nnbc123.library.annatation.ActLayoutRes
|
||||
import com.nnbc123.library.utils.JavaUtil
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
@@ -85,8 +90,12 @@ class PartyFragment : BaseBindingFragment<HomePartyFragmentBinding>() {
|
||||
setAdapter(adapter)
|
||||
registerLifecycleObserver(lifecycle)
|
||||
setUserInputEnabled(false)
|
||||
setOnPageClickListener { clickedView, position ->
|
||||
setOnPageClickListener { _, position ->
|
||||
adapter.getItem(position)?.let {
|
||||
StatisticManager.Instance().onEvent(
|
||||
StatisticsProtocol.EVENT_HOMEPAGE_INFORM_CLICK,
|
||||
it.roomUid.toString()
|
||||
)
|
||||
AVRoomActivity.start(mContext, it.roomUid)
|
||||
}
|
||||
}
|
||||
@@ -101,6 +110,8 @@ class PartyFragment : BaseBindingFragment<HomePartyFragmentBinding>() {
|
||||
|
||||
private fun initResource() {
|
||||
mBinding.ivResourceMore.singleClick {
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_HOMEPAGE_TOP_MORE_ROOM_CLICK)
|
||||
GameRoomActivity.start(requireContext())
|
||||
}
|
||||
|
||||
@@ -121,9 +132,8 @@ class PartyFragment : BaseBindingFragment<HomePartyFragmentBinding>() {
|
||||
resourceViews[i].singleClick { _ ->
|
||||
currMatchClick = abcArray[i]
|
||||
StatisticManager.Instance().onEvent(
|
||||
"${currMatchClick}_match_click",
|
||||
"资源位点击",
|
||||
mapOf("user_id" to AuthModel.get().currentUid.toString())
|
||||
StatisticsProtocol.EVENT_HOMEPAGE_TOP_RESOURCE_CLICK,
|
||||
currMatchClick
|
||||
)
|
||||
when (it[i].resourceType) {
|
||||
5 -> {
|
||||
@@ -139,29 +149,50 @@ class PartyFragment : BaseBindingFragment<HomePartyFragmentBinding>() {
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.resourceJumpLiveData.observe(this)
|
||||
{
|
||||
viewModel.resourceJumpLiveData.observeResult(this, success = {
|
||||
dialogManager.dismissDialog()
|
||||
it?.let {
|
||||
if (it.isPick) {
|
||||
AVRoomActivity.start(context, it.uid)
|
||||
StatisticManager.Instance().onEvent(
|
||||
"${currMatchClick}_match_success",
|
||||
"资源位匹配成功",
|
||||
mapOf("user_id" to AuthModel.get().currentUid.toString())
|
||||
)
|
||||
} else {
|
||||
RecommendRoomDialog.newInstance(it).show(context)
|
||||
}
|
||||
}
|
||||
}
|
||||
}, failed = {
|
||||
dialogManager.dismissDialog()
|
||||
if ((it as? ServerException)?.code == PayModel.NOT_REAL_NAME_BEFORE_CHARGING) {
|
||||
dialogManager.showTipsDialog(getString(R.string.tips_need_to_certification),
|
||||
getString(R.string.go_to_certification),
|
||||
object : DialogManager.AbsOkDialogListener() {
|
||||
override fun onOk() {
|
||||
// 跳去实名认证页面
|
||||
CommonWebViewActivity.start(
|
||||
this@PartyFragment.context,
|
||||
UriProvider.getTutuRealNamePage()
|
||||
)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
toast(it.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private fun initBanner() {
|
||||
viewModel.bannerLiveData.observe(this) {
|
||||
BannerHelper.setBanner(mBinding.rollView, it) { _, _ ->
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_HOME_BANNER_CLICK, "首页_banner")
|
||||
BannerHelper.setBanner(mBinding.rollView, it) { _, data ->
|
||||
var roomId: Long? = null
|
||||
if (data.skipType == BannerInfo.SKIP_TYPE_ROUTER) {
|
||||
if (JavaUtil.str2int(data.routerType) == RouterType.ROOM) {
|
||||
roomId = JavaUtil.str2long(data.routerValue)
|
||||
}
|
||||
} else if (data.skipType == BannerInfo.SKIP_TYP_CHAT_ROOM) {
|
||||
roomId = JavaUtil.str2long(data.skipUri)
|
||||
}
|
||||
if (roomId != null) {
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_HOMEPAGE_BANNER_CLICK, roomId.toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -40,7 +40,7 @@ class PartyHotRoomFragment : BaseBindingFragment<HomePartyRoomFragmentBinding>()
|
||||
adapter.getItem(position)?.let {
|
||||
AVRoomActivity.start(context, it.uid)
|
||||
StatisticManager.Instance()
|
||||
.onEvent(StatisticsProtocol.EVENT_COMMON_TAB_ROOM_SUCCESS, "派对-热门进入房间成功")
|
||||
.onEvent(StatisticsProtocol.EVENT_HOMEPAGE_ROOM_CLICK, it.uid.toString())
|
||||
}
|
||||
}
|
||||
homeViewModel.hotRoomLiveData.observe(this) {
|
||||
|
@@ -110,22 +110,22 @@ public class MainTabLayout extends LinearLayout implements View.OnClickListener
|
||||
switch (v.getId()) {
|
||||
case R.id.main_home_tab:
|
||||
select(mainTabInfoList.get(0).getTabType());
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_HOME_FIRST_TAB, "首页tab");
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_HOMEPAGE_BAR_CLICK, "首页");
|
||||
break;
|
||||
// case R.id.main_party_tab:
|
||||
// select(mainTabInfoList.get(1).getTabType());
|
||||
// break;
|
||||
case R.id.main_square_tab:
|
||||
select(mainTabInfoList.get(1).getTabType());
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_SQUARE_DONG_TAI_CLICK, "点击广场动态页");
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_HOMEPAGE_BAR_CLICK, "广场");
|
||||
break;
|
||||
case R.id.main_msg_tab:
|
||||
select(mainTabInfoList.get(2).getTabType());
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_MESSAGE, "消息页");
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_HOMEPAGE_BAR_CLICK, "消息");
|
||||
break;
|
||||
case R.id.main_me_tab:
|
||||
select(mainTabInfoList.get(3).getTabType());
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_HOME_MINE_TAB, "我的tab");
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_HOMEPAGE_BAR_CLICK, "我的");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@@ -175,6 +175,14 @@ public class SquareFragment extends BaseFragment implements MainMagicIndicatorAd
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
if (!isHidden()) {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_HOMEPAGE_SHOW, "广场");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSetListener() {
|
||||
if (ivSquarePublish != null) {
|
||||
|
@@ -3,6 +3,7 @@ package com.nnbc123.core.home.model
|
||||
import com.nnbc123.core.DemoCache
|
||||
import com.nnbc123.core.auth.AuthModel
|
||||
import com.nnbc123.core.base.BaseModel
|
||||
import com.nnbc123.core.bean.response.BeanResult
|
||||
import com.nnbc123.core.bean.response.ServiceResult
|
||||
import com.nnbc123.core.community.CommunityConstant
|
||||
import com.nnbc123.core.community.bean.UnReadCountInfo
|
||||
|
@@ -1,12 +1,19 @@
|
||||
package com.nnbc123.core.bean.response
|
||||
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import com.chuhai.core.exceptions.SuperException
|
||||
import com.nnbc123.core.utils.net.ServerException
|
||||
|
||||
data class BeanResult<T>(
|
||||
val isSuccess: Boolean,
|
||||
@Deprecated("建议使用throwable")
|
||||
val code: Int = 0,
|
||||
@Deprecated("建议使用throwable")
|
||||
val message: String? = null,
|
||||
val data: T? = null
|
||||
val data: T? = null,
|
||||
val throwable: Throwable? = null
|
||||
) {
|
||||
companion object {
|
||||
|
||||
@@ -20,14 +27,32 @@ data class BeanResult<T>(
|
||||
|
||||
fun <T> failed(throwable: Throwable): BeanResult<T> {
|
||||
return if (throwable is ServerException) {
|
||||
failed(throwable.code, throwable.message)
|
||||
BeanResult(false, throwable.code, throwable.message, null, throwable)
|
||||
} else {
|
||||
failed(-1, "网络异常,请检查你的网络再试!")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun <T> LiveData<BeanResult<T>?>.observeResult(
|
||||
lifecycleOwner: LifecycleOwner,
|
||||
success: ((T?) -> Unit)? = null,
|
||||
failed: ((Throwable) -> Unit)? = null
|
||||
) {
|
||||
this.observe(lifecycleOwner) {
|
||||
if (it == null) {
|
||||
failed?.invoke(NullPointerException("Result null"))
|
||||
} else if (it.isSuccess) {
|
||||
success?.invoke(it.data)
|
||||
} else {
|
||||
if (it.throwable != null) {
|
||||
failed?.invoke(it.throwable)
|
||||
} else {
|
||||
failed?.invoke(SuperException(it.message, it.code))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@@ -68,6 +68,12 @@ public class StatisticManager {
|
||||
mStatisticModel.onPageEnd(context, pageName);
|
||||
}
|
||||
|
||||
|
||||
public void onEvent(String eventId) {
|
||||
LogUtil.e(eventId);
|
||||
mStatisticModel.onEvent(BasicConfig.INSTANCE.getAppContext(), eventId, null, null);
|
||||
}
|
||||
|
||||
public void onEvent(String eventId, String eventLabel) {
|
||||
LogUtil.e(eventId);
|
||||
mStatisticModel.onEvent(BasicConfig.INSTANCE.getAppContext(), eventId, eventLabel, null);
|
||||
|
@@ -118,7 +118,7 @@ public interface StatisticsProtocol {
|
||||
String EVENT_MP_ROOM_SMASH_EGG_CLICK = "mp_room_smashEgg_click"; // 砸蛋入口
|
||||
String EVENT_MP_ROOM_SMASHEGG_CHOOSE = "mp_room_smashEgg_choose"; // 开始砸蛋-多人房
|
||||
String EVENT_MP_ROOM_RANKING_LIST_CLICK = "mp_room_rankingList_click"; // 房间榜
|
||||
String EVENT_CP_ROOM_RANKING_LIST_CLICK=("cp_room_rankingList_click");// 房间榜
|
||||
String EVENT_CP_ROOM_RANKING_LIST_CLICK = ("cp_room_rankingList_click");// 房间榜
|
||||
String EVENT_MP_ROOM_SET_TOPIC_CLICK = "mp_room_setTopic_click"; // 设置房间话题
|
||||
String EVENT_MP_ROOM_CLOSE_MIC_CLICK = "mp_room_close_mic_click"; // 关闭麦克风
|
||||
String EVENT_MP_ROOM_CLOSE_SOUND_CLICK = "mp_room_close_sound_click"; // 关闭声音
|
||||
@@ -440,4 +440,18 @@ public interface StatisticsProtocol {
|
||||
String EVENT_GRADE_PROFIT_POP_SHOW = "grade_profit_pop_show";//主播评级入口曝光
|
||||
String EVENT_GRADE_PROFIT_CLOSE_CLICK = "grade_profit_close_click";//主播评级弹窗关闭点击
|
||||
|
||||
String EVENT_HOMEPAGE_SHOW = "homepage_show";//首页曝光统计
|
||||
String EVENT_HOMEPAGE_BAR_CLICK = "homepage_bar_click";//底部工具栏bar统计
|
||||
String EVENT_HOMEPAGE_TOP_TBA_CLICK = "homepage_top_tab_click";//首页顶部tab切换点击
|
||||
String EVENT_HOMEPAGE_TOP_SEARCH_CLICK = "homepage_top_search_click";//首页顶部搜索框点击
|
||||
String EVENT_HOMEPAGE_TOP_RANK_CLICK = "homepage_top_rank_click";//首页顶部全服榜单点击
|
||||
String EVENT_HOMEPAGE_TOP_MY_ROOM_CLICK = "homepage_top_myroom_click";//首页顶部我的房间点击
|
||||
String EVENT_HOMEPAGE_TOP_RESOURCE_CLICK = "homepage_top_resource_click";//首页顶部资源位点击
|
||||
String EVENT_HOMEPAGE_TOP_MORE_ROOM_CLICK = "homepage_top_moregame_click";//首页顶部更多游戏跳转点击
|
||||
String EVENT_HOMEPAGE_INFORM_CLICK = "homepage_inform_click";//首页轮播通知的跳转点击
|
||||
String EVENT_HOMEPAGE_BANNER_CLICK = "homepage_banner_click";//首页banner的跳转点击
|
||||
String EVENT_HOMEPAGE_ROOM_CLICK = "homepage_room_click";//首页房间的跳转点击
|
||||
String EVENT_HOMEPAGE_MORE_GAME_TAB_CLICK = "homepage_moregame_tab_click";//更多游戏二级页顶部游戏分类点击
|
||||
String EVENT_HOMEPAGE_TOP_MATCH_CLICK = "homepage_top_match_click";//首页顶部匹配点击
|
||||
String EVENT_HOMEPAGE_MORE_GAME_USER_CLICK = "homepage_moregame_user_click";//首页用户主播卡片点击
|
||||
}
|
||||
|
Reference in New Issue
Block a user