From b9d59e94776b16ed42e3178fedc44a62cc3fdff5 Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 27 Dec 2023 11:22:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=8B=86=E5=88=86=E9=A6=96=E9=A1=B5ViewMo?= =?UTF-8?q?del?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nnbc123/app/home/FriendsViewModel.kt | 90 +++++ .../nnbc123/app/home/HomeChildViewModel.kt | 45 +++ .../com/nnbc123/app/home/HomeViewModel.kt | 314 ------------------ .../com/nnbc123/app/home/PartyViewModel.kt | 56 ++++ .../fragment/home/friends/FriendsFragment.kt | 36 +- .../home/friends/FriendsListFragment.kt | 14 +- .../home/fragment/home/party/PartyFragment.kt | 28 +- .../app/ui/im/fragment/MessageFragment.java | 2 +- 8 files changed, 241 insertions(+), 344 deletions(-) create mode 100644 app/src/main/java/com/nnbc123/app/home/FriendsViewModel.kt create mode 100644 app/src/main/java/com/nnbc123/app/home/HomeChildViewModel.kt create mode 100644 app/src/main/java/com/nnbc123/app/home/PartyViewModel.kt diff --git a/app/src/main/java/com/nnbc123/app/home/FriendsViewModel.kt b/app/src/main/java/com/nnbc123/app/home/FriendsViewModel.kt new file mode 100644 index 000000000..9d4995e91 --- /dev/null +++ b/app/src/main/java/com/nnbc123/app/home/FriendsViewModel.kt @@ -0,0 +1,90 @@ +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.ListResult +import com.nnbc123.core.home.bean.HomeGameTab +import com.nnbc123.core.home.bean.HomeRoomInfo +import com.nnbc123.core.home.model.HomeModel +import com.nnbc123.core.user.bean.UserInfo +import com.nnbc123.core.utils.toast + +/** + * Created by Max on 2023/12/27 10:18 + * Desc: + **/ +class FriendsViewModel: BaseViewModel() { + + private val _resourceJumpLiveData = MutableLiveData() + val resourceJumpLiveData: LiveData = _resourceJumpLiveData + + private val _homeChatPickLiveData = MutableLiveData() + val homeChatPickLiveData: LiveData = _homeChatPickLiveData + + private val _newFriendLiveData = MutableLiveData>() + val newFriendLiveData: LiveData> = _newFriendLiveData + + val friendRecommendModeLiveData = MutableLiveData>() + + val gameTabLiveData = MutableLiveData>() + + 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() + } + ) + } + + fun getNewFriendList(gender: Int? = null, gameId: Long? = null) { + safeLaunch( + onError = { + _newFriendLiveData.value = ListResult.failed(1) + }, + block = { + val result = HomeModel.getNewFriendList(gender, gameId) + _newFriendLiveData.value = ListResult.success(result, 1) + } + ) + } + + fun getFriendRecommendMore() { + safeLaunch( + onError = { + friendRecommendModeLiveData.value = ListResult.failed(1) + }, + block = { + val result = HomeModel.getFriendRecommendMore() + friendRecommendModeLiveData.value = ListResult.success(result, 1) + } + ) + } + + fun getHomeGameTab() { + safeLaunch { + if (gameTabLiveData.value == null) { + HomeModel.getHomeGameTabListByLocal()?.let { + gameTabLiveData.value = it + } + } + gameTabLiveData.value = HomeModel.getHomeGameTabList() + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/nnbc123/app/home/HomeChildViewModel.kt b/app/src/main/java/com/nnbc123/app/home/HomeChildViewModel.kt new file mode 100644 index 000000000..d22778205 --- /dev/null +++ b/app/src/main/java/com/nnbc123/app/home/HomeChildViewModel.kt @@ -0,0 +1,45 @@ +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() + val resourceJumpLiveData: LiveData = _resourceJumpLiveData + + private val _homeChatPickLiveData = MutableLiveData() + val homeChatPickLiveData: LiveData = _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() + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/nnbc123/app/home/HomeViewModel.kt b/app/src/main/java/com/nnbc123/app/home/HomeViewModel.kt index 8ef2b38ae..63b91937b 100644 --- a/app/src/main/java/com/nnbc123/app/home/HomeViewModel.kt +++ b/app/src/main/java/com/nnbc123/app/home/HomeViewModel.kt @@ -2,118 +2,31 @@ package com.nnbc123.app.home import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData -import com.nnbc123.core.auth.AuthModel import com.nnbc123.core.bean.response.ListResult -import com.nnbc123.core.community.CommunityConstant import com.nnbc123.core.home.bean.* import com.nnbc123.core.home.model.HomeModel import com.nnbc123.core.room.bean.AnchorInfo -import com.nnbc123.core.room.bean.HomeLiveTopInfo -import com.nnbc123.core.room.bean.SingleRoomSortInfo -import com.nnbc123.core.statistic.StatisticManager -import com.nnbc123.core.statistic.protocol.StatisticsProtocol -import com.nnbc123.core.utils.toast import com.nnbc123.app.base.BaseViewModel -import com.nnbc123.core.user.bean.UserInfo -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.async class HomeViewModel : BaseViewModel() { - private val _bannerLiveData = MutableLiveData>() - val bannerLiveData: LiveData> = _bannerLiveData - - private val _partyBannerLiveData = MutableLiveData?>() - val partyBannerLiveData: LiveData?> = _partyBannerLiveData - private val _hotRoomLiveData = MutableLiveData>() val hotRoomLiveData: LiveData> = _hotRoomLiveData - private val _gameRoomLiveData = MutableLiveData>() - val gameRoomLiveData: LiveData> = _gameRoomLiveData - private val _pickRoomLiveData = MutableLiveData() val pickRoomLiveData: LiveData = _pickRoomLiveData private val _openGameRoomLiveData = MutableLiveData() val openGameRoomLiveData: LiveData = _openGameRoomLiveData - private val _concernsLiveData = MutableLiveData>() - val concernsLiveData: LiveData> = _concernsLiveData - - private val _collectLiveData = MutableLiveData>() - val collectLiveData: LiveData> = _collectLiveData - - private val _tagLiveData = MutableLiveData>() - val tagLiveData: LiveData> = _tagLiveData - - private val _emptyLiveData = MutableLiveData() - val emptyLiveData: LiveData = _emptyLiveData - private val _resourceLiveData = MutableLiveData>() val resourceLiveData: LiveData> = _resourceLiveData - private val _resourceJumpLiveData = MutableLiveData() - val resourceJumpLiveData: LiveData = _resourceJumpLiveData - - private val _homeChatPickLiveData = MutableLiveData() - val homeChatPickLiveData: LiveData = _homeChatPickLiveData - - private val _singleAnchorHomeLiveData = MutableLiveData>() - val singleAnchorHomeLiveData: LiveData> = _singleAnchorHomeLiveData - - - private val _singleRoomSortInfoLiveData = MutableLiveData>() - val singleRoomSortInfoLiveData: LiveData> = - _singleRoomSortInfoLiveData - - private val _homeLiveTopInfoLiveData = MutableLiveData() - val homeLiveTopInfoLiveData: LiveData = _homeLiveTopInfoLiveData - private val _anchorInfoLiveData = MutableLiveData() val anchorInfoLiveData: LiveData = _anchorInfoLiveData - private val _partyRecommendRoomLiveData = MutableLiveData>() - val partyRecommendRoomLiveData: LiveData> = - _partyRecommendRoomLiveData - - private val _partyRecommendRoomMoreLiveData = MutableLiveData>() - val partyRecommendRoomMoreLiveData: LiveData> = - _partyRecommendRoomMoreLiveData - - private val _giftServiceLiveData = MutableLiveData>() - val giftServiceLiveData: LiveData> = _giftServiceLiveData - - private val _newFriendLiveData = MutableLiveData>() - val newFriendLiveData: LiveData> = _newFriendLiveData - val gameTabLiveData = MutableLiveData>() - val friendRecommendModeLiveData = MutableLiveData>() - - fun getHomeGameTab() { - safeLaunch { - if (gameTabLiveData.value == null) { - HomeModel.getHomeGameTabListByLocal()?.let { - gameTabLiveData.value = it - } - } - gameTabLiveData.value = HomeModel.getHomeGameTabList() - } - } - - fun getBannerInfo() { - safeLaunch { - _bannerLiveData.value = HomeModel.getHomeBanner("1") - } - } - - fun getTagInfo() { - safeLaunch { - _tagLiveData.value = HomeModel.getHomeTag() - } - } - fun getHomeResource() { safeLaunch( block = { @@ -127,31 +40,6 @@ class HomeViewModel : BaseViewModel() { onError = { } ) - - } - - 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() - } - ) } fun getHotRoom(pageNum: Int, pageSize: Int) { @@ -166,145 +54,6 @@ class HomeViewModel : BaseViewModel() { ) } - fun getPartyBanner() { - safeLaunch( - onError = { - _partyBannerLiveData.value = null - }, - block = { - val result = HomeModel.getHotRoom() - var bannerInfoList: List? - bannerInfoList = result?.find { it.isBanner }?.bannerVoList - if (bannerInfoList == null) { - bannerInfoList = HomeModel.getPlayRoom()?.find { it.isBanner }?.bannerVoList - } - _partyBannerLiveData.value = bannerInfoList - } - ) - } - - - fun getGameRoom(pageNum: Int, pageSize: Int) { - safeLaunch( - onError = { - _gameRoomLiveData.value = ListResult.failed(pageNum) - }, - block = { - val result = HomeModel.getGameRoom(pageNum, pageSize) - _gameRoomLiveData.value = ListResult.success(result, pageNum) - } - ) - } - - fun fastPickGameRoom(mgId: Long? = null) { - safeLaunch( - onError = { - it.message.toast() - StatisticManager.Instance() - .onEvent( - StatisticsProtocol.EVENT_USERCENTER_QUICK_ENTRYSUCCESS_CLICK, - "个人中心快捷进房点击未匹配成功" - ) - }, - block = { - val homeRoomInfo = HomeModel.fastPickGameRoom(mgId) - if (homeRoomInfo?.isPick == true) { - _pickRoomLiveData.value = homeRoomInfo - } else if (homeRoomInfo?.isNeedOpenSelfRoom == true) { - _openGameRoomLiveData.value = mgId - } - } - ) - } - - - fun getCollectRoom(pageNum: Int, pageSize: Int) { - safeLaunch( - onError = { - _collectLiveData.value = ListResult.failed(pageNum) - _emptyLiveData.value = true - }, - block = { - if (pageNum == 1) { - val concernsRooms = async(Dispatchers.IO) { - try { - HomeModel.getConcernsRoom() - } catch (e: Throwable) { - null - } - } - val collectRooms = async(Dispatchers.IO) { - try { - HomeModel.getCollectRoom(pageNum, pageSize) - } catch (e: Throwable) { - null - } - } - _concernsLiveData.value = concernsRooms.await() - val collectList = collectRooms.await() - if (collectList == null) { - _collectLiveData.value = ListResult.failed(pageNum) - } else { - _collectLiveData.value = - ListResult.success(collectList.fansRoomList, pageNum) - } - _emptyLiveData.value = _concernsLiveData.value.isNullOrEmpty() && - _collectLiveData.value?.data.isNullOrEmpty() - } else { - val result = HomeModel.getCollectRoom(pageNum, pageSize) - _collectLiveData.value = ListResult.success(result?.fansRoomList, pageNum) - } - - } - ) - } - - fun requestSingleRoomSortList() { - safeLaunch( - onError = { - //保证最少有一个推荐tab,防止出现空白页 - _singleRoomSortInfoLiveData.value = - ListResult.success(listOf(SingleRoomSortInfo(null, "推荐")), 1) - }, - block = { - val result = HomeModel.requestSingleRoomSortList() - val fullResult = ArrayList() - fullResult.add(SingleRoomSortInfo(null, "推荐")) - result?.let { fullResult.addAll(it) } - _singleRoomSortInfoLiveData.value = ListResult.success(fullResult, 1) - } - ) - } - - fun getHomeSingleAnchorList() { - safeLaunch( - onError = { - _singleAnchorHomeLiveData.value = ListResult.failed(1) - }, - block = { - val result = HomeModel.getHomeSingleAnchorList() - _singleAnchorHomeLiveData.value = ListResult.success( - if ((result?.size ?: 0) > 4) { - result?.subList(0, 4) - } else { - result - }, 1 - ) - } - ) - } - - fun requestHomeLiveTopInfo() { - safeLaunch( - onError = { - _homeLiveTopInfoLiveData.value = null - }, - block = { - _homeLiveTopInfoLiveData.value = HomeModel.requestHomeLiveTopInfo() - } - ) - } - fun requestAnchorInfo() { safeLaunch( onError = { @@ -316,67 +65,4 @@ class HomeViewModel : BaseViewModel() { ) } - fun getPartyRecommendRoomList() { - safeLaunch( - onError = { - _partyRecommendRoomLiveData.value = ListResult.failed(1) - }, - block = { - val result = HomeModel.getPartyRecommendRoomList( - AuthModel.get().currentUid.toString(), - CommunityConstant.VERSION_VALID_TYPE - ) - _partyRecommendRoomLiveData.value = ListResult.success(result, 1) - } - ) - } - - fun getPartyRecommendRoomMoreList() { - safeLaunch( - onError = { - _partyRecommendRoomMoreLiveData.value = ListResult.failed(1) - }, - block = { - val result = HomeModel.getPartyRecommendRoomMoreList() - _partyRecommendRoomMoreLiveData.value = ListResult.success(result, 1) - } - ) - } - - fun getServiceGiftRecord() { - safeLaunch( - onError = { - _giftServiceLiveData.value = ListResult.failed(1) - }, - block = { - val result = HomeModel.getServiceGiftRecord() - _giftServiceLiveData.value = ListResult.success(result, 1) - } - ) - } - - fun getNewFriendList(gender: Int? = null, gameId: Long? = null) { - safeLaunch( - onError = { - _newFriendLiveData.value = ListResult.failed(1) - }, - block = { - val result = HomeModel.getNewFriendList(gender, gameId) - _newFriendLiveData.value = ListResult.success(result, 1) - } - ) - } - - - fun getFriendRecommendMore() { - safeLaunch( - onError = { - friendRecommendModeLiveData.value = ListResult.failed(1) - }, - block = { - val result = HomeModel.getFriendRecommendMore() - friendRecommendModeLiveData.value = ListResult.success(result, 1) - } - ) - } } \ No newline at end of file diff --git a/app/src/main/java/com/nnbc123/app/home/PartyViewModel.kt b/app/src/main/java/com/nnbc123/app/home/PartyViewModel.kt new file mode 100644 index 000000000..ff794058f --- /dev/null +++ b/app/src/main/java/com/nnbc123/app/home/PartyViewModel.kt @@ -0,0 +1,56 @@ +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.ListResult +import com.nnbc123.core.home.bean.BannerInfo +import com.nnbc123.core.home.bean.GiftServiceMsgVo +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 PartyViewModel : BaseViewModel() { + private val _giftServiceLiveData = MutableLiveData>() + val giftServiceLiveData: LiveData> = _giftServiceLiveData + + private val _bannerLiveData = MutableLiveData>() + val bannerLiveData: LiveData> = _bannerLiveData + + private val _resourceJumpLiveData = MutableLiveData() + val resourceJumpLiveData: LiveData = _resourceJumpLiveData + + fun getResourceJumpInfo(id: Long) { + safeLaunch( + onError = { + _resourceJumpLiveData.value = null + it.message.toast() + }, + block = { + _resourceJumpLiveData.value = HomeModel.getResourceJumpInfo(id, 0) + } + ) + } + + fun getBannerInfo() { + safeLaunch { + _bannerLiveData.value = HomeModel.getHomeBanner("1") + } + } + + fun getServiceGiftRecord() { + safeLaunch( + onError = { + _giftServiceLiveData.value = ListResult.failed(1) + }, + block = { + val result = HomeModel.getServiceGiftRecord() + _giftServiceLiveData.value = ListResult.success(result, 1) + } + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/nnbc123/app/home/fragment/home/friends/FriendsFragment.kt b/app/src/main/java/com/nnbc123/app/home/fragment/home/friends/FriendsFragment.kt index 166b4bfa6..cfb871ad5 100644 --- a/app/src/main/java/com/nnbc123/app/home/fragment/home/friends/FriendsFragment.kt +++ b/app/src/main/java/com/nnbc123/app/home/fragment/home/friends/FriendsFragment.kt @@ -3,12 +3,16 @@ package com.nnbc123.app.home.fragment.home.friends import android.view.Gravity import androidx.core.view.isVisible import androidx.fragment.app.activityViewModels +import androidx.fragment.app.viewModels 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.databinding.HomeFriendsFragmentBinding +import com.nnbc123.app.home.FriendsViewModel import com.nnbc123.app.home.HomeViewModel import com.nnbc123.app.home.adapter.HomeFriendsGameTabAdapter +import com.nnbc123.app.home.dialog.RecommendRoomDialog import com.nnbc123.app.ui.im.avtivity.NimP2PMessageActivity import com.nnbc123.app.ui.utils.load import com.nnbc123.app.ui.webview.CommonWebViewActivity @@ -26,6 +30,7 @@ import com.nnbc123.library.annatation.ActLayoutRes class FriendsFragment : BaseBindingFragment() { private val homeViewModel: HomeViewModel by activityViewModels() + private val viewModel: FriendsViewModel by activityViewModels() private val tabAdapter = HomeFriendsGameTabAdapter() @@ -44,7 +49,7 @@ class FriendsFragment : BaseBindingFragment() { showFilterGender() } mBinding.tvRefresh.singleClick { - homeViewModel.getNewFriendList(filterGender, filterGameId) + viewModel.getNewFriendList(filterGender, filterGameId) } mBinding.refreshLayout.isEnableLoadmore = false mBinding.refreshLayout.isEnableOverScrollBounce = false @@ -64,7 +69,7 @@ class FriendsFragment : BaseBindingFragment() { tabAdapter.selectItem(position) refreshListData() } - homeViewModel.gameTabLiveData.observe(viewLifecycleOwner) + viewModel.gameTabLiveData.observe(viewLifecycleOwner) { if (!it.isNullOrEmpty()) { tabAdapter.setNewData(it) @@ -75,10 +80,27 @@ class FriendsFragment : BaseBindingFragment() { private fun initResource() { mBinding.ivResourceMatch.singleClick { dialogManager.showProgressDialog(mContext) - homeViewModel.getHomeChatPick() + viewModel.getHomeChatPick() } - homeViewModel.homeChatPickLiveData.observe(viewLifecycleOwner) { + viewModel.resourceJumpLiveData.observe(this) + { + 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) + } + } + } + + viewModel.homeChatPickLiveData.observe(viewLifecycleOwner) { dialogManager.dismissDialog() it?.let { if (it.isNotEmpty()) { @@ -105,7 +127,7 @@ class FriendsFragment : BaseBindingFragment() { else -> { dialogManager.showProgressDialog(mContext) - homeViewModel.getResourceJumpInfo(item.id) + viewModel.getResourceJumpInfo(item.id) } } } @@ -159,13 +181,13 @@ class FriendsFragment : BaseBindingFragment() { private fun loadData() { if (homeViewModel.gameTabLiveData.value.isNullOrEmpty()) { - homeViewModel.getHomeGameTab() + viewModel.getHomeGameTab() } homeViewModel.getHomeResource() refreshListData() } private fun refreshListData() { - homeViewModel.getNewFriendList(filterGender, filterGameId) + viewModel.getNewFriendList(filterGender, filterGameId) } } \ No newline at end of file diff --git a/app/src/main/java/com/nnbc123/app/home/fragment/home/friends/FriendsListFragment.kt b/app/src/main/java/com/nnbc123/app/home/fragment/home/friends/FriendsListFragment.kt index 2d51156e9..a0ecb48a8 100644 --- a/app/src/main/java/com/nnbc123/app/home/fragment/home/friends/FriendsListFragment.kt +++ b/app/src/main/java/com/nnbc123/app/home/fragment/home/friends/FriendsListFragment.kt @@ -5,12 +5,14 @@ import android.view.LayoutInflater import android.view.View import androidx.core.view.isVisible import androidx.fragment.app.activityViewModels +import androidx.fragment.app.viewModels import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView import com.chuhai.utils.UiUtils 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 @@ -27,7 +29,7 @@ import kotlin.random.Random @ActLayoutRes(R.layout.home_friends_list_fragment) class FriendsListFragment : BaseBindingFragment() { private val adapter = HomeFriendsUserAdapter() - private val homeViewModel: HomeViewModel by activityViewModels() + private val viewModel: FriendsViewModel by activityViewModels() private var rvDelegate: RVDelegate? = null private var headerEmptyView: View? = null private val recommendTitleView get() = headerEmptyView?.findViewById(R.id.layout_title) @@ -91,10 +93,10 @@ class FriendsListFragment : BaseBindingFragment( } private fun initObserve() { - homeViewModel.newFriendLiveData.observe(this) { + viewModel.newFriendLiveData.observe(this) { if (it.data.isNullOrEmpty()) { headerEmptyView?.isVisible = true - val list = homeViewModel.friendRecommendModeLiveData.value?.data?.toMutableList() + val list = viewModel.friendRecommendModeLiveData.value?.data?.toMutableList() recommendTitleView?.isVisible = !list.isNullOrEmpty() adapter.setNewData(list) } else { @@ -102,7 +104,7 @@ class FriendsListFragment : BaseBindingFragment( rvDelegate?.loadData(it) } } - homeViewModel.friendRecommendModeLiveData.observe(this) { + viewModel.friendRecommendModeLiveData.observe(this) { if (headerEmptyView?.isVisible == true) { recommendTitleView?.isVisible = !it.data.isNullOrEmpty() adapter.setNewData(it.data?.toMutableList()) @@ -112,8 +114,8 @@ class FriendsListFragment : BaseBindingFragment( override fun onResume() { super.onResume() - if (homeViewModel.friendRecommendModeLiveData.value?.data.isNullOrEmpty()) { - homeViewModel.getFriendRecommendMore() + if (viewModel.friendRecommendModeLiveData.value?.data.isNullOrEmpty()) { + viewModel.getFriendRecommendMore() } } } \ No newline at end of file diff --git a/app/src/main/java/com/nnbc123/app/home/fragment/home/party/PartyFragment.kt b/app/src/main/java/com/nnbc123/app/home/fragment/home/party/PartyFragment.kt index 2345a0590..b2aac4b26 100644 --- a/app/src/main/java/com/nnbc123/app/home/fragment/home/party/PartyFragment.kt +++ b/app/src/main/java/com/nnbc123/app/home/fragment/home/party/PartyFragment.kt @@ -3,22 +3,26 @@ package com.nnbc123.app.home.fragment.home.party import android.os.Bundle import androidx.core.view.isVisible import androidx.fragment.app.activityViewModels +import androidx.fragment.app.viewModels import androidx.viewpager2.widget.ViewPager2 import com.chuhai.utils.ktx.singleClick 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.databinding.HomePartyFragmentBinding import com.nnbc123.app.home.HomeViewModel import com.nnbc123.app.game_room.GameRoomActivity +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.ui.im.avtivity.NimP2PMessageActivity +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.home.event.RefreshHomeDataEvent +import com.nnbc123.core.room.bean.RoomInfo import com.nnbc123.core.statistic.StatisticManager import com.nnbc123.core.statistic.protocol.StatisticsProtocol import com.nnbc123.library.annatation.ActLayoutRes @@ -34,6 +38,7 @@ import org.greenrobot.eventbus.ThreadMode class PartyFragment : BaseBindingFragment() { private val homeViewModel: HomeViewModel by activityViewModels() + private val viewModel: PartyViewModel by activityViewModels() //仅埋点使用,不影响业务逻辑 private val abcArray = arrayOf("A", "B", "C", "D") @@ -69,8 +74,8 @@ class PartyFragment : BaseBindingFragment() { private fun loadData() { homeViewModel.getHomeResource() - homeViewModel.getBannerInfo() - homeViewModel.getServiceGiftRecord() + viewModel.getBannerInfo() + viewModel.getServiceGiftRecord() } private fun initHotMessage() { @@ -86,7 +91,7 @@ class PartyFragment : BaseBindingFragment() { } } }.create() - homeViewModel.giftServiceLiveData.observe(viewLifecycleOwner) { + viewModel.giftServiceLiveData.observe(viewLifecycleOwner) { if (it.isSuccess && !it.data.isNullOrEmpty()) { mBinding.hotMessage.isVisible = true mBinding.hotMessage.refreshData(it.data) @@ -99,15 +104,6 @@ class PartyFragment : BaseBindingFragment() { GameRoomActivity.start(requireContext()) } - homeViewModel.homeChatPickLiveData.observe(viewLifecycleOwner) { - dialogManager.dismissDialog() - it?.let { - if (it.isNotEmpty()) { - NimP2PMessageActivity.start(context, it) - } - } - } - homeViewModel.resourceLiveData.observe(this) { if (it.isNullOrEmpty()) { mBinding.groupResource.isVisible = false @@ -136,14 +132,14 @@ class PartyFragment : BaseBindingFragment() { else -> { dialogManager.showProgressDialog(mContext) - homeViewModel.getResourceJumpInfo(it[i].id) + viewModel.getResourceJumpInfo(it[i].id) } } } } } - homeViewModel.resourceJumpLiveData.observe(this) + viewModel.resourceJumpLiveData.observe(this) { dialogManager.dismissDialog() it?.let { @@ -162,7 +158,7 @@ class PartyFragment : BaseBindingFragment() { } private fun initBanner() { - homeViewModel.bannerLiveData.observe(this) { + viewModel.bannerLiveData.observe(this) { BannerHelper.setBanner(mBinding.rollView, it) { _, _ -> StatisticManager.Instance() .onEvent(StatisticsProtocol.EVENT_HOME_BANNER_CLICK, "首页_banner") diff --git a/app/src/main/java/com/nnbc123/app/ui/im/fragment/MessageFragment.java b/app/src/main/java/com/nnbc123/app/ui/im/fragment/MessageFragment.java index dd89102eb..2d83c7bc7 100644 --- a/app/src/main/java/com/nnbc123/app/ui/im/fragment/MessageFragment.java +++ b/app/src/main/java/com/nnbc123/app/ui/im/fragment/MessageFragment.java @@ -661,7 +661,7 @@ public class MessageFragment extends TFragment implements ModuleProxy, MessageLi @SuppressLint("CheckResult") private void loadChatLimit(boolean sessionIsEmpty) { if (ignoreChatLimit) { - Log.d("MAAAX", "#ignore"); + Log.d(TAG, "#ignore"); return; } IMCustomModel.get().getPrivateChatLimit(sessionId).subscribe(((privateChatLimitInfo, throwable) -> {