[BugFix]房间排行榜前三头像回显

This commit is contained in:
DESKTOP-ICQKP58\H1
2023-04-25 16:02:19 +08:00
parent 34b061996f
commit 2f238e0447
21 changed files with 659 additions and 127 deletions

View File

@@ -91,7 +91,6 @@
android:icon="@mipmap/app_logo" android:icon="@mipmap/app_logo"
android:label="@string/app_name" android:label="@string/app_name"
android:largeHeap="true" android:largeHeap="true"
android:requestLegacyExternalStorage="true"
android:resizeableActivity="true" android:resizeableActivity="true"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/MyMaterialTheme" android:theme="@style/MyMaterialTheme"
@@ -406,12 +405,7 @@
android:configChanges="keyboardHidden|orientation|screenSize|locale" android:configChanges="keyboardHidden|orientation|screenSize|locale"
android:theme="@android:style/Theme.Translucent" /> android:theme="@android:style/Theme.Translucent" />
<activity
android:name="com.alipay.sdk.auth.AuthActivity"
android:configChanges="orientation|keyboardHidden|navigation"
android:exported="false"
android:screenOrientation="behind"
android:windowSoftInputMode="adjustResize|stateHidden" />
<activity <activity
android:name="com.nnbc123.core.pay.PaymentActivity" android:name="com.nnbc123.core.pay.PaymentActivity"
android:launchMode="singleTask" android:launchMode="singleTask"

View File

@@ -0,0 +1,17 @@
package com.nnbc123.app.avroom.event;
/**
* 进房通知
*/
public class EnterRoomEvent {
private final int mType;
public EnterRoomEvent(int type) {
this.mType = type;
}
public int getType() {
return mType;
}
}

View File

@@ -280,7 +280,6 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
// 刷新礼物列表,获取房间专属礼物列表 // 刷新礼物列表,获取房间专属礼物列表
GiftModel.get().refreshGiftList(AvRoomDataManager.get().roomUid.toString()).subscribe() GiftModel.get().refreshGiftList(AvRoomDataManager.get().roomUid.toString()).subscribe()
checkFollowOwner() checkFollowOwner()
mvpPresenter?.loadRoomRank()
GiftValueMrg.get().updateRoomGiftValue(false) GiftValueMrg.get().updateRoomGiftValue(false)
ivRadishEntrance?.isVisible = GoldBoxHelper.isShowRadish() ivRadishEntrance?.isVisible = GoldBoxHelper.isShowRadish()

View File

@@ -6,6 +6,8 @@ import android.os.Bundle
import android.view.Gravity import android.view.Gravity
import android.view.View import android.view.View
import android.view.ViewConfiguration import android.view.ViewConfiguration
import android.widget.ImageView
import androidx.core.content.ContextCompat
import androidx.databinding.DataBindingUtil import androidx.databinding.DataBindingUtil
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
@@ -20,6 +22,7 @@ import com.nnbc123.app.avroom.activity.AVRoomActivity
import com.nnbc123.app.avroom.activity.RoomOnlineUserActivity import com.nnbc123.app.avroom.activity.RoomOnlineUserActivity
import com.nnbc123.app.avroom.adapter.SelectGameAdapter import com.nnbc123.app.avroom.adapter.SelectGameAdapter
import com.nnbc123.app.avroom.dialog.ExitRoomPopupWindow.Companion.newInstance import com.nnbc123.app.avroom.dialog.ExitRoomPopupWindow.Companion.newInstance
import com.nnbc123.app.avroom.event.EnterRoomEvent
import com.nnbc123.app.base.BaseFragment import com.nnbc123.app.base.BaseFragment
import com.nnbc123.app.databinding.FragmentChatroomGameMainBinding import com.nnbc123.app.databinding.FragmentChatroomGameMainBinding
import com.nnbc123.app.friend.view.SelectFriendActivity import com.nnbc123.app.friend.view.SelectFriendActivity
@@ -31,10 +34,12 @@ import com.nnbc123.app.ui.widget.ShareDialog.OnShareDialogItemClick
import com.nnbc123.app.utils.RegexUtil import com.nnbc123.app.utils.RegexUtil
import com.nnbc123.app.vip.VipMainActivity import com.nnbc123.app.vip.VipMainActivity
import com.nnbc123.core.UriProvider import com.nnbc123.core.UriProvider
import com.nnbc123.core.bean.response.ServiceResult
import com.nnbc123.core.gift.bean.GiftMultiReceiverInfo import com.nnbc123.core.gift.bean.GiftMultiReceiverInfo
import com.nnbc123.core.gift.bean.GiftReceiveInfo import com.nnbc123.core.gift.bean.GiftReceiveInfo
import com.nnbc123.core.gift.bean.LuckyBagGifts import com.nnbc123.core.gift.bean.LuckyBagGifts
import com.nnbc123.core.gift.bean.MultiGiftReceiveInfo import com.nnbc123.core.gift.bean.MultiGiftReceiveInfo
import com.nnbc123.core.home.bean.BannerInfo
import com.nnbc123.core.home.event.FollowRoomEvent import com.nnbc123.core.home.event.FollowRoomEvent
import com.nnbc123.core.home.event.ShareRoomEvent import com.nnbc123.core.home.event.ShareRoomEvent
import com.nnbc123.core.home.model.CollectionRoomModel import com.nnbc123.core.home.model.CollectionRoomModel
@@ -60,11 +65,13 @@ import com.nnbc123.core.statistic.protocol.StatisticsProtocol
import com.nnbc123.core.super_admin.util.SuperAdminUtil import com.nnbc123.core.super_admin.util.SuperAdminUtil
import com.nnbc123.core.user.UserModel import com.nnbc123.core.user.UserModel
import com.nnbc123.core.user.bean.UserInfo import com.nnbc123.core.user.bean.UserInfo
import com.nnbc123.core.utils.LogUtils
import com.nnbc123.core.utils.net.RxHelper import com.nnbc123.core.utils.net.RxHelper
import com.nnbc123.library.rxbus.RxBus import com.nnbc123.library.rxbus.RxBus
import com.nnbc123.library.utils.FormatUtils import com.nnbc123.library.utils.FormatUtils
import com.nnbc123.library.utils.JavaUtil import com.nnbc123.library.utils.JavaUtil
import com.nnbc123.library.utils.SingleToastUtil import com.nnbc123.library.utils.SingleToastUtil
import com.tencent.bugly.proguard.A
import com.trello.rxlifecycle3.android.FragmentEvent import com.trello.rxlifecycle3.android.FragmentEvent
import io.reactivex.SingleObserver import io.reactivex.SingleObserver
import io.reactivex.disposables.Disposable import io.reactivex.disposables.Disposable
@@ -160,6 +167,28 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte
AvRoomDataManager.get().mIsNeedGiftEffect = AvRoomDataManager.get().mIsNeedGiftEffect =
AvRoomDataManager.get().mCurrentRoomInfo?.isHasAnimationEffect ?: false AvRoomDataManager.get().mCurrentRoomInfo?.isHasAnimationEffect ?: false
} }
IMNetEaseManager.get().chatRoomEventObservable
.compose(bindToLifecycle())
.subscribe { roomEvent: RoomEvent? ->
if (roomEvent == null) return@subscribe
LogUtils.d(roomEvent.event.toString())
when (roomEvent.event) {
RoomEvent.ENTER_ROOM -> {
updateOnlineNumberView(
AvRoomDataManager.get().mCurrentRoomInfo?.onlineNum ?: 0
)
addTipMsg()
setRoomBg(AvRoomDataManager.get().mCurrentRoomInfo)
updateView()
}
RoomEvent.ROOM_INFO_UPDATE -> {
setRoomBg(AvRoomDataManager.get().mCurrentRoomInfo)
updateView()
}
else -> {
}
}
}
} }
private fun initRvGame() { private fun initRvGame() {
@@ -236,8 +265,6 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
updateView(AvRoomDataManager.get().mCurrentRoomInfo)
loadRoomRank()
IMNetEaseManager.get().chatRoomEventObservable IMNetEaseManager.get().chatRoomEventObservable
.compose(bindToLifecycle()) .compose(bindToLifecycle())
.subscribe { roomEvent: RoomEvent? -> .subscribe { roomEvent: RoomEvent? ->
@@ -265,6 +292,7 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte
else -> {} else -> {}
} }
} }
loadRoomRank()
} }
private fun onReceiveLuckyGiftToMultiMsg(giftMultiReceiverInfo: LuckyBagGifts?) { private fun onReceiveLuckyGiftToMultiMsg(giftMultiReceiverInfo: LuckyBagGifts?) {
@@ -292,6 +320,7 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte
tipMessage.content = "礼物特效" tipMessage.content = "礼物特效"
IMNetEaseManager.get().addCloseScreenMessages(tipMessage) IMNetEaseManager.get().addCloseScreenMessages(tipMessage)
} }
loadRoomRank()
} }
private fun setIdOnlineData() { private fun setIdOnlineData() {
@@ -321,20 +350,47 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte
} }
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
fun updateView(currentRoomInfo: RoomInfo?) { fun updateView(currentRoomInfo: RoomInfo?=null) {
if (currentRoomInfo != null) { (currentRoomInfo ?: AvRoomDataManager.get().mCurrentRoomInfo)?.let {
binding.roomInfo=it
updateHasAnimationEffect()
binding.roomTitle.text=RegexUtil.getPrintableString(it.getTitle())
if (!StringUtil.isEmpty(it.getRoomPwd())){
binding.roomTitle.setCompoundDrawablesWithIntrinsicBounds(
0,0,R.drawable.icon_room_lock,0
)
}else{
binding.roomTitle.setCompoundDrawablesWithIntrinsicBounds(
0,0,0,0
)
}
binding.tvFollowRoom.visibility=
if (AvRoomDataManager.get().isRoomOwner)View.GONE else View.VISIBLE
FOLLOW_ROOM_TYPE=if (AvRoomDataManager.get().isRoomFans) "2" else "1"
binding.tvFollowRoom.text = if (AvRoomDataManager.get().isRoomFans) "已收藏" else "收藏"
binding.tvFollowRoom.setTextColor(
if (AvRoomDataManager.get().isRoomFans) ContextCompat.getColor(
mContext,
R.color.white
) else ContextCompat.getColor(mContext, R.color.color_FFE285)
)
binding.tvFollowRoom.setBackgroundResource(if (AvRoomDataManager.get().isRoomFans) R.drawable.bg_room_follow_room_collected else R.drawable.bg_room_follow_room)
var tempFragment = roomFragment var tempFragment = roomFragment
if (currentRoomInfo != null) {
when (currentRoomInfo.type) { when (currentRoomInfo.type) {
RoomInfo.ROOMTYPE_GAME -> if (tempFragment !is GameRoomFragment) { RoomInfo.ROOMTYPE_GAME -> if (tempFragment !is GameRoomFragment) {
tempFragment = GameRoomFragment.newInstance() tempFragment = GameRoomFragment.newInstance()
} }
RoomInfo.ROOM_TYPE_SINGLE -> if (tempFragment !is SingleRoomFragment) { RoomInfo.ROOM_TYPE_SINGLE -> if (tempFragment !is SingleRoomFragment) {
tempFragment = SingleRoomFragment.newInstance() tempFragment = SingleRoomFragment.newInstance()
} }
else -> if (tempFragment !is HomePartyRoomFragment) { else -> if (tempFragment !is HomePartyRoomFragment) {
tempFragment = HomePartyRoomFragment.newInstance() tempFragment = HomePartyRoomFragment.newInstance()
} }
} }
}
if (tempFragment !== roomFragment) { if (tempFragment !== roomFragment) {
roomFragment = tempFragment roomFragment = tempFragment
childFragmentManager childFragmentManager
@@ -344,7 +400,10 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte
} }
binding.roomInfo = currentRoomInfo binding.roomInfo = currentRoomInfo
updateHasAnimationEffect() updateHasAnimationEffect()
if (currentRoomInfo != null) {
binding.roomTitle.text = RegexUtil.getPrintableString(currentRoomInfo.getTitle()) binding.roomTitle.text = RegexUtil.getPrintableString(currentRoomInfo.getTitle())
}
if (currentRoomInfo != null) {
if (!StringUtil.isEmpty(currentRoomInfo.getRoomPwd())) { if (!StringUtil.isEmpty(currentRoomInfo.getRoomPwd())) {
binding.roomTitle.setCompoundDrawablesWithIntrinsicBounds( binding.roomTitle.setCompoundDrawablesWithIntrinsicBounds(
null, null, null, null,
@@ -353,38 +412,10 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte
} else { } else {
binding.roomTitle.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null) binding.roomTitle.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null)
} }
}
setupFollowRoom() setupFollowRoom()
FOLLOW_ROOM_TYPE = if (AvRoomDataManager.get().isRoomFans) "2" else "1" FOLLOW_ROOM_TYPE = if (AvRoomDataManager.get().isRoomFans) "2" else "1"
setIdOnlineData() setIdOnlineData()
if (isShowChangeGame) {
initRvGame()
binding.llChangeGame.visibility = View.VISIBLE
if (AvRoomDataManager.get().isOpenGame) {
binding.tvCurrGame.text = currentRoomInfo.mgName
} else {
binding.tvCurrGame.text = "扩列交友"
}
getGameList()
.compose(bindToLifecycle())
.map { it.toMutableList() }
.subscribe { gameInfos: MutableList<GameInfo> ->
if (AvRoomDataManager.get().isOpenGame) {
for (i in gameInfos.indices) {
val (_, mgId) = gameInfos[i]
if (JavaUtil.str2long(mgId) == currentRoomInfo.mgId) {
gameInfos.removeAt(i)
break
}
}
val gameInfo = GameInfo()
gameInfo.name = "扩列交友"
gameInfos.add(gameInfo)
}
gameAdapter?.setNewData(gameInfos)
}
} else {
binding.llChangeGame.visibility = View.GONE
}
} }
} }
@@ -403,7 +434,10 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte
fun updateHasAnimation(event: HasAnimationEffect?) { fun updateHasAnimation(event: HasAnimationEffect?) {
updateHasAnimationEffect() updateHasAnimationEffect()
} }
@Subscribe(threadMode = ThreadMode.MAIN)
fun enterRoomEvent(event: EnterRoomEvent?) {
loadRoomRank()
}
override fun onClick(v: View) { override fun onClick(v: View) {
when (v.id) { when (v.id) {
R.id.room_more -> newInstance((requireActivity() as AVRoomActivity)) R.id.room_more -> newInstance((requireActivity() as AVRoomActivity))
@@ -422,10 +456,17 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte
.onEvent(StatisticsProtocol.EVENT_ROOM_RETURN_CLICK, "房间返回按钮点击") .onEvent(StatisticsProtocol.EVENT_ROOM_RETURN_CLICK, "房间返回按钮点击")
} }
R.id.ll_rank -> { R.id.ll_rank -> {
DialogWebViewActivity.start(mContext, UriProvider.getRoomRanking())
StatisticManager.Instance()
.onEvent(StatisticsProtocol.EVENT_MP_ROOM_RANKING_LIST_CLICK, "房间榜")
loadRoomRank() loadRoomRank()
if (AvRoomDataManager.get().isCpRoom) {
StatisticManager.Instance()
.onEvent(StatisticsProtocol.EVENT_CP_ROOM_RANKING_LIST_CLICK, "房间榜")
} else StatisticManager.Instance()
.onEvent(StatisticsProtocol.EVENT_MP_ROOM_RANKING_LIST_CLICK, "房间榜")
if (childFragmentManager.findFragmentByTag("dialog_fragment_room_rank") != null) {
return
}
val roomRankDialogFragment = RoomRankDialogFragment.newInstance()
roomRankDialogFragment.show(childFragmentManager, "dialog_fragment_room_rank")
} }
else -> {} else -> {}
} }
@@ -466,16 +507,28 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
fun loadRoomRank() { fun loadRoomRank() {
val type = val type =
if (AvRoomDataManager.get().isSingleRoom) { if (AvRoomDataManager.get().isSingleRoom) RoomContributeDataInfo.TYPE_ROOM_MONTH_RANKING else RoomContributeDataInfo.TYPE_ROOM_DAY_RANKING
RoomContributeDataInfo.TYPE_ROOM_WEEK_RANKING
} else {
RoomContributeDataInfo.TYPE_ROOM_DAY_RANKING
}
RoomContributeListModel.get().getSingleRoomRanking(1, type) RoomContributeListModel.get().getSingleRoomRanking(1, type)
.compose(bindToLifecycle()) .compose(bindToLifecycle())
.compose(RxHelper.handleBeanData()) .compose(RxHelper.handleBeanData())
.subscribe { roomContributeDataInfo: RoomContributeDataInfo -> .subscribe { roomContributeDataInfo: RoomContributeDataInfo ->
val rankings = roomContributeDataInfo.rankings
updateRoomRanks(roomContributeDataInfo.rankings) updateRoomRanks(roomContributeDataInfo.rankings)
var imageView: ImageView
val avatarList = listOf(
binding.ivRank0,
binding.ivRank1,
binding.ivRank2
)
for (i in avatarList.indices) {
imageView = avatarList[i]
if (rankings.size > i) {
val info = rankings[i]
imageView.loadAvatar(info.avatar)
} else {
imageView.setImageResource(R.drawable.default_avatar)
}
}
} }
} }
@@ -565,11 +618,9 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte
} }
} }
override fun onDestroyView() { override fun onDestroy() {
super.onDestroyView()
EventBus.getDefault().unregister(this) EventBus.getDefault().unregister(this)
binding.vsGiftView.release() super.onDestroy()
_binding = null
} }
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
@@ -581,6 +632,7 @@ class HomePartyFragment : BaseFragment(), View.OnClickListener, OnShareDialogIte
updateOnlineNumberView(onlineNumber) updateOnlineNumberView(onlineNumber)
} }
/** /**
* 普通多人 * 普通多人
* *

View File

@@ -4,24 +4,60 @@ import android.annotation.SuppressLint;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.widget.ImageView;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import com.netease.nim.uikit.common.util.log.LogUtil;
import com.nnbc123.app.R;
import com.nnbc123.app.avroom.activity.AVRoomActivity;
import com.nnbc123.app.avroom.adapter.BaseMicroViewAdapter;
import com.nnbc123.app.avroom.adapter.CpMicroViewAdapter;
import com.nnbc123.app.avroom.adapter.DatingMicroViewAdapter;
import com.nnbc123.app.avroom.adapter.MicroViewAdapter;
import com.nnbc123.app.avroom.anotherroompk.RoomPkFinishDialog;
import com.nnbc123.app.avroom.anotherroompk.RoomPkForceFinishDialog;
import com.nnbc123.app.avroom.anotherroompk.RoomPkReceivedDialog;
import com.nnbc123.app.avroom.dialog.MicQueueDialog;
import com.nnbc123.app.avroom.dialog.PKMicQueueDialog;
import com.nnbc123.app.avroom.dialog.PKResultDialog;
import com.nnbc123.app.avroom.dialog.PKScoreBoardDialog;
import com.nnbc123.app.avroom.event.EnterRoomEvent;
import com.nnbc123.app.avroom.firstcharge.FirstChargePrizeDialog;
import com.nnbc123.app.avroom.giftvalue.GiftValueDialogUiHelper;
import com.nnbc123.app.avroom.presenter.HomePartyPresenter;
import com.nnbc123.app.avroom.view.IHomePartyView;
import com.nnbc123.app.avroom.widget.PKBoardView;
import com.nnbc123.app.base.BaseMvpActivity;
import com.nnbc123.app.common.widget.dialog.DialogManager;
import com.nnbc123.app.databinding.FragmentAvRoomGameBinding;
import com.nnbc123.app.ui.utils.ImageLoadKt;
import com.nnbc123.app.ui.webview.DatingRuleWebViewActivity;
import com.nnbc123.app.ui.webview.DialogWebViewActivity;
import com.nnbc123.app.utils.UserUtils;
import com.nnbc123.core.Constants; import com.nnbc123.core.Constants;
import com.nnbc123.core.UriProvider; import com.nnbc123.core.UriProvider;
import com.nnbc123.core.auth.AuthModel; import com.nnbc123.core.auth.AuthModel;
import com.nnbc123.core.gift.GiftModel;
import com.nnbc123.core.home.bean.BannerInfo; import com.nnbc123.core.home.bean.BannerInfo;
import com.nnbc123.core.home.event.ShareRoomEvent; import com.nnbc123.core.home.event.ShareRoomEvent;
import com.nnbc123.core.im.custom.bean.RoomPKAttachment; import com.nnbc123.core.im.custom.bean.RoomPKAttachment;
import com.nnbc123.core.im.custom.bean.RoomPkBean; import com.nnbc123.core.im.custom.bean.RoomPkBean;
import com.nnbc123.core.initial.InitialModel;
import com.nnbc123.core.initial.bean.InitInfo;
import com.nnbc123.core.manager.AvRoomDataManager; import com.nnbc123.core.manager.AvRoomDataManager;
import com.nnbc123.core.manager.IMNetEaseManager;
import com.nnbc123.core.manager.RoomEvent; import com.nnbc123.core.manager.RoomEvent;
import com.nnbc123.core.market_verify.MarketVerifyModel; import com.nnbc123.core.market_verify.MarketVerifyModel;
import com.nnbc123.core.mentoring_relationship.event.MentoringStartCountingEvent;
import com.nnbc123.core.mentoring_relationship.event.MentoringStopCountingEvent;
import com.nnbc123.core.pay.event.FirstChargeEvent; import com.nnbc123.core.pay.event.FirstChargeEvent;
import com.nnbc123.core.room.bean.RoomContributeUserInfo;
import com.nnbc123.core.room.bean.RoomInfo; import com.nnbc123.core.room.bean.RoomInfo;
import com.nnbc123.core.room.event.DatingSelectUserEvent; import com.nnbc123.core.room.event.DatingSelectUserEvent;
import com.nnbc123.core.room.face.DynamicFaceModel; import com.nnbc123.core.room.face.DynamicFaceModel;
import com.nnbc123.core.room.face.FaceInfo; import com.nnbc123.core.room.face.FaceInfo;
import com.nnbc123.core.room.giftvalue.helper.GiftValueMrg;
import com.nnbc123.core.room.model.AvRoomModel; import com.nnbc123.core.room.model.AvRoomModel;
import com.nnbc123.core.room.model.MicQueueModel; import com.nnbc123.core.room.model.MicQueueModel;
import com.nnbc123.core.room.pk.bean.PKRespQueuingMicListInfo; import com.nnbc123.core.room.pk.bean.PKRespQueuingMicListInfo;
@@ -36,43 +72,22 @@ import com.nnbc123.core.statistic.protocol.StatisticsProtocol;
import com.nnbc123.core.super_admin.util.SuperAdminUtil; import com.nnbc123.core.super_admin.util.SuperAdminUtil;
import com.nnbc123.core.user.UserModel; import com.nnbc123.core.user.UserModel;
import com.nnbc123.core.utils.CurrentTimeUtils; import com.nnbc123.core.utils.CurrentTimeUtils;
import com.nnbc123.app.R;
import com.nnbc123.app.avroom.activity.AVRoomActivity;
import com.nnbc123.app.avroom.adapter.BaseMicroViewAdapter;
import com.nnbc123.app.avroom.adapter.CpMicroViewAdapter;
import com.nnbc123.app.avroom.adapter.DatingMicroViewAdapter;
import com.nnbc123.app.avroom.adapter.MicroViewAdapter;
import com.nnbc123.app.avroom.anotherroompk.RoomPkFinishDialog;
import com.nnbc123.app.avroom.anotherroompk.RoomPkForceFinishDialog;
import com.nnbc123.app.avroom.anotherroompk.RoomPkReceivedDialog;
import com.nnbc123.app.avroom.dialog.MicQueueDialog;
import com.nnbc123.app.avroom.dialog.PKMicQueueDialog;
import com.nnbc123.app.avroom.dialog.PKResultDialog;
import com.nnbc123.app.avroom.dialog.PKScoreBoardDialog;
import com.nnbc123.app.avroom.firstcharge.FirstChargePrizeDialog;
import com.nnbc123.app.avroom.giftvalue.GiftValueDialogUiHelper;
import com.nnbc123.app.avroom.presenter.HomePartyPresenter;
import com.nnbc123.app.avroom.view.IHomePartyView;
import com.nnbc123.app.avroom.widget.PKBoardView;
import com.nnbc123.app.base.BaseMvpActivity;
import com.nnbc123.app.common.widget.dialog.DialogManager;
import com.nnbc123.app.databinding.FragmentAvRoomGameBinding;
import com.nnbc123.app.ui.webview.DatingRuleWebViewActivity;
import com.nnbc123.app.ui.webview.DialogWebViewActivity;
import com.nnbc123.app.utils.UserUtils;
import com.nnbc123.library.base.factory.CreatePresenter; import com.nnbc123.library.base.factory.CreatePresenter;
import com.nnbc123.library.utils.SingleToastUtil; import com.nnbc123.library.utils.SingleToastUtil;
import com.nnbc123.library.utils.TimeUtils; import com.nnbc123.library.utils.TimeUtils;
import com.nnbc123.library.utils.UIUtils; import com.nnbc123.library.utils.UIUtils;
import com.netease.nim.uikit.common.util.log.LogUtil; import com.orhanobut.logger.Logger;
import com.trello.rxlifecycle3.android.FragmentEvent; import com.trello.rxlifecycle3.android.FragmentEvent;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode; import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import io.reactivex.Observable; import io.reactivex.Observable;
@@ -307,6 +322,44 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
gameBinding.llRoomPkOrder.setVisibility(View.GONE); gameBinding.llRoomPkOrder.setVisibility(View.GONE);
} }
} }
@SuppressLint("CheckResult")
private void onEnterRoom() {
Logger.i("进入房间事件");
gameBinding.setRoomInfo(AvRoomDataManager.get().mCurrentRoomInfo);
if (AvRoomDataManager.get().mCurrentRoomInfo != null
&& IMNetEaseManager.get().mCacheRoomQueueInfo != null
&& !AvRoomDataManager.get().isFirstEnterRoomOrChangeOtherRoom(AvRoomDataManager.get().mCurrentRoomInfo.getUid())) {
getMvpPresenter().chatRoomReConnect(IMNetEaseManager.get().mCacheRoomQueueInfo);
}
cpRoomAutoUpMic();
getMvpPresenter().leaveModeCheck();
updateView();
updateMicBtn();
updateQueuingMicBtn();
updatePkScoreBoard();
if (AvRoomDataManager.get().isFromMentoring() && Objects.equals(AvRoomDataManager.get().getMasterUid(),
AvRoomDataManager.get().mCurrentRoomInfo.getUid())) {
// 只有从任务三分享房间链接进来的时候才开始倒计时
EventBus.getDefault().post(new MentoringStartCountingEvent());
} else {
EventBus.getDefault().post(new MentoringStopCountingEvent());
}
GiftValueMrg.get().updateRoomGiftValue(false);
GiftModel.get().refreshGiftList(String.valueOf(AvRoomDataManager.get().getRoomUid())).subscribe();
getMvpPresenter().loadRoomRank();
EventBus.getDefault().post(new EnterRoomEvent(AvRoomDataManager.get().mCurrentRoomInfo.getType()));
UserModel.get().getCurrentUserInfo()
.compose(bindToLifecycle())
.subscribe(userInfo -> {
if (userInfo.isFirstCharge()) {
gameBinding.ivFirstChargeEnter.setVisibility(View.VISIBLE);
}
InitInfo initInfo = InitialModel.get().getCacheInitInfo();
});
updatePkScoreBoard();
}
/** /**
* cp房自动上麦 * cp房自动上麦
@@ -943,6 +996,28 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
.subscribe(); .subscribe();
} }
@Override
public void updateRoomRanks(ArrayList<RoomContributeUserInfo> rankings) {
List<ImageView> avatarList = Arrays.asList(
mView.findViewById(R.id.iv_rank_0),
mView.findViewById(R.id.iv_rank_1),
mView.findViewById(R.id.iv_rank_2)
);
RoomContributeUserInfo info = null;
ImageView imageView;
for (int i = 0; i < avatarList.size(); i++) {
imageView = avatarList.get(i);
if (rankings.size() > i) {
info = rankings.get(i);
ImageLoadKt.loadAvatar(imageView, info.getAvatar());
} else {
imageView.setImageResource(R.drawable.default_avatar);
}
}
}
@Subscribe(threadMode = ThreadMode.MAIN) @Subscribe(threadMode = ThreadMode.MAIN)
public void onFirstRechargeEvent(FirstChargeEvent event) { public void onFirstRechargeEvent(FirstChargeEvent event) {

View File

@@ -529,9 +529,9 @@ public class BaseRoomPresenter<V extends IBaseRoomView> extends BaseMvpPresenter
.compose(bindToLifecycle()) .compose(bindToLifecycle())
.compose(RxHelper.handleBeanData()) .compose(RxHelper.handleBeanData())
.subscribe(roomContributeDataInfo -> { .subscribe(roomContributeDataInfo -> {
if (getMvpView() == null) { // if (getMvpView() == null) {
return; // return;
} // }
getMvpView().updateRoomRanks(roomContributeDataInfo.getRankings()); getMvpView().updateRoomRanks(roomContributeDataInfo.getRankings());
}); });
} }

View File

@@ -21,16 +21,19 @@ import com.nnbc123.core.manager.AvRoomDataManager;
import com.nnbc123.core.manager.IMNetEaseManager; import com.nnbc123.core.manager.IMNetEaseManager;
import com.nnbc123.core.manager.RoomEvent; import com.nnbc123.core.manager.RoomEvent;
import com.nnbc123.core.room.bean.DragonBarInfo; import com.nnbc123.core.room.bean.DragonBarInfo;
import com.nnbc123.core.room.bean.RoomContributeDataInfo;
import com.nnbc123.core.room.bean.RoomInfo; import com.nnbc123.core.room.bean.RoomInfo;
import com.nnbc123.core.room.dragonball.DragonBallModel; import com.nnbc123.core.room.dragonball.DragonBallModel;
import com.nnbc123.core.room.face.FaceInfo; import com.nnbc123.core.room.face.FaceInfo;
import com.nnbc123.core.room.face.FaceReceiveInfo; import com.nnbc123.core.room.face.FaceReceiveInfo;
import com.nnbc123.core.room.giftvalue.helper.GiftValueMrg; import com.nnbc123.core.room.giftvalue.helper.GiftValueMrg;
import com.nnbc123.core.room.model.RoomContributeListModel;
import com.nnbc123.core.room.model.RoomSettingModel; import com.nnbc123.core.room.model.RoomSettingModel;
import com.nnbc123.core.room.queue.bean.MicMemberInfo; import com.nnbc123.core.room.queue.bean.MicMemberInfo;
import com.nnbc123.core.user.UserModel; import com.nnbc123.core.user.UserModel;
import com.nnbc123.core.user.bean.UserInfo; import com.nnbc123.core.user.bean.UserInfo;
import com.nnbc123.core.utils.net.BeanObserver; import com.nnbc123.core.utils.net.BeanObserver;
import com.nnbc123.core.utils.net.RxHelper;
import com.nnbc123.library.utils.SingleToastUtil; import com.nnbc123.library.utils.SingleToastUtil;
import com.nnbc123.library.utils.config.BasicConfig; import com.nnbc123.library.utils.config.BasicConfig;
@@ -302,4 +305,17 @@ public class HomePartyPresenter extends BaseRoomPresenter<IHomePartyView> {
getMvpView().onShowBanner(bannerInfos); getMvpView().onShowBanner(bannerInfos);
}); });
} }
@SuppressLint("CheckResult")
public void loadRoomRank() {
String type = AvRoomDataManager.get().isSingleRoom() ? RoomContributeDataInfo.TYPE_ROOM_MONTH_RANKING : RoomContributeDataInfo.TYPE_ROOM_DAY_RANKING;
RoomContributeListModel.get().getSingleRoomRanking(1, type)
.compose(bindToLifecycle())
.compose(RxHelper.handleBeanData())
.subscribe(roomContributeDataInfo -> {
if (getMvpView() == null) {
return;
}
getMvpView().updateRoomRanks(roomContributeDataInfo.getRankings());
});
}
} }

View File

@@ -1,8 +1,10 @@
package com.nnbc123.app.avroom.view; package com.nnbc123.app.avroom.view;
import com.nnbc123.core.home.bean.BannerInfo; import com.nnbc123.core.home.bean.BannerInfo;
import com.nnbc123.core.room.bean.RoomContributeUserInfo;
import com.nnbc123.core.room.bean.RoomInfo; import com.nnbc123.core.room.bean.RoomInfo;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@@ -22,4 +24,6 @@ public interface IHomePartyView extends IBaseRoomView {
void onGiftValueChangeMic(int micPosition, String uId, boolean isInviteUpMic, RoomInfo roomInfo); void onGiftValueChangeMic(int micPosition, String uId, boolean isInviteUpMic, RoomInfo roomInfo);
void onShowBanner(List<BannerInfo> bannerInfos); void onShowBanner(List<BannerInfo> bannerInfos);
void updateRoomRanks(ArrayList<RoomContributeUserInfo> rankings);
} }

View File

@@ -9,6 +9,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.BaseViewHolder import com.chad.library.adapter.base.BaseViewHolder
import com.nnbc123.app.R import com.nnbc123.app.R
import com.nnbc123.app.avroom.activity.AVRoomActivity import com.nnbc123.app.avroom.activity.AVRoomActivity
import com.nnbc123.app.bills.widget.BillItemView
import com.nnbc123.app.ui.im.avtivity.NimP2PMessageActivity import com.nnbc123.app.ui.im.avtivity.NimP2PMessageActivity
import com.nnbc123.app.ui.user.UserInfoActivity import com.nnbc123.app.ui.user.UserInfoActivity
import com.nnbc123.app.ui.utils.loadAvatar import com.nnbc123.app.ui.utils.loadAvatar
@@ -56,6 +57,7 @@ class RoomNewFriendsAdapter : BaseQuickAdapter<UserInfo, BaseViewHolder>(R.layou
llOnline.setOnClickListener { llOnline.setOnClickListener {
AVRoomActivity.start(mContext, item.inRoomUid) AVRoomActivity.start(mContext, item.inRoomUid)
} }
} else { } else {
viewOnline.isVisible = false viewOnline.isVisible = false
svgaLiving.setImageResource(R.drawable.ic_new_friends_msg) svgaLiving.setImageResource(R.drawable.ic_new_friends_msg)
@@ -74,19 +76,11 @@ class RoomNewFriendsAdapter : BaseQuickAdapter<UserInfo, BaseViewHolder>(R.layou
VipHelper.loadVipNickColor(tvNickname, item.userVipInfoVO, "#282828") VipHelper.loadVipNickColor(tvNickname, item.userVipInfoVO, "#282828")
VipHelper.loadVipIcon(helper.getView(R.id.iv_vip_icon), item.userVipInfoVO) VipHelper.loadVipIcon(helper.getView(R.id.iv_vip_icon), item.userVipInfoVO)
} }
override fun onViewAttachedToWindow(holder: BaseViewHolder) { override fun onViewAttachedToWindow(holder: BaseViewHolder) {
super.onViewAttachedToWindow(holder) super.onViewAttachedToWindow(holder)
val svgaLives = holder.getView<SVGAImageView>(R.id.svga_living) val svgaLiving = holder.getView<SVGAImageView>(R.id.svga_living)
svgaLives.startAnimation() svgaLiving?.loadFromAssets("svga/home_living.svga")
}
override fun onViewDetachedFromWindow(holder: BaseViewHolder) {
super.onViewDetachedFromWindow(holder)
val svgaLives = holder.getView<SVGAImageView>(R.id.svga_living)
svgaLives.stopAnimation(false)
} }

View File

@@ -56,10 +56,12 @@ import com.nnbc123.core.room.bean.RoomInfo
import com.nnbc123.core.statistic.StatisticManager import com.nnbc123.core.statistic.StatisticManager
import com.nnbc123.core.statistic.protocol.StatisticsProtocol import com.nnbc123.core.statistic.protocol.StatisticsProtocol
import com.nnbc123.core.user.UserModel 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.bean.UserInfo
import com.nnbc123.core.user.event.LoginUserInfoUpdateEvent import com.nnbc123.core.user.event.LoginUserInfoUpdateEvent
import com.nnbc123.core.utils.CurrentTimeUtils import com.nnbc123.core.utils.CurrentTimeUtils
import com.nnbc123.core.utils.StarUtils import com.nnbc123.core.utils.StarUtils
import com.nnbc123.core.utils.net.BeanObserver
import com.nnbc123.core.utils.toast import com.nnbc123.core.utils.toast
import com.trello.rxlifecycle3.android.FragmentEvent import com.trello.rxlifecycle3.android.FragmentEvent
import io.reactivex.Observable import io.reactivex.Observable
@@ -238,12 +240,21 @@ class MeFragment : BaseFragment(), View.OnClickListener {
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
setUserData() if (mUserInfo?.isReview == true) {
if(mUserInfo!=null && mUserInfo!!.isReview){
requestUpdateUserInfo() requestUpdateUserInfo()
} }
initUserDate()
} }
@SuppressLint("CheckResult")
private fun initUserDate() {
UserModel.get().currentUserInfo
.compose(bindToLifecycle())
.subscribe { userInfo: UserInfo? ->
mUserInfo = userInfo
setUserData()
}
}
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
private fun setUserData() { private fun setUserData() {

View File

@@ -17,6 +17,7 @@ import androidx.annotation.Nullable;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.coorchice.library.SuperTextView;
import com.netease.nim.uikit.api.NimUIKit; import com.netease.nim.uikit.api.NimUIKit;
import com.netease.nim.uikit.api.model.contact.ContactChangedObserver; import com.netease.nim.uikit.api.model.contact.ContactChangedObserver;
import com.netease.nim.uikit.api.model.main.OnlineStateChangeObserver; import com.netease.nim.uikit.api.model.main.OnlineStateChangeObserver;
@@ -34,17 +35,14 @@ import com.netease.nimlib.sdk.msg.model.CustomNotification;
import com.nnbc123.app.R; import com.nnbc123.app.R;
import com.nnbc123.app.avroom.activity.AVRoomActivity; import com.nnbc123.app.avroom.activity.AVRoomActivity;
import com.nnbc123.app.common.widget.CustomImageSpan; import com.nnbc123.app.common.widget.CustomImageSpan;
import com.nnbc123.app.mentoring_relationship.dialog.BuildMentoringRelationshipSuccessDialog;
import com.nnbc123.app.ui.im.audio.ShakeHeartDialogFragment; import com.nnbc123.app.ui.im.audio.ShakeHeartDialogFragment;
import com.nnbc123.app.ui.im.fragment.MessageFragment; import com.nnbc123.app.ui.im.fragment.MessageFragment;
import com.nnbc123.app.ui.user.UserInfoActivity; import com.nnbc123.app.ui.user.UserInfoActivity;
import com.nnbc123.app.ui.utils.ImageLoadUtils; import com.nnbc123.app.ui.utils.ImageLoadUtils;
import com.nnbc123.app.mentoring_relationship.dialog.BuildMentoringRelationshipSuccessDialog;
import com.nnbc123.core.audio.event.VoiceShakeHeartEvent; import com.nnbc123.core.audio.event.VoiceShakeHeartEvent;
import com.nnbc123.core.auth.AuthModel; import com.nnbc123.core.auth.AuthModel;
import com.nnbc123.core.im.friend.IMFriendModel; import com.nnbc123.core.im.friend.IMFriendModel;
import com.nnbc123.core.initial.InitialModel;
import com.nnbc123.core.initial.bean.InitInfo;
import com.nnbc123.core.level.UserLevelVo;
import com.nnbc123.core.mentoring_relationship.event.MentoringSuccessEvent; import com.nnbc123.core.mentoring_relationship.event.MentoringSuccessEvent;
import com.nnbc123.core.noble.NobleUtil; import com.nnbc123.core.noble.NobleUtil;
import com.nnbc123.core.praise.PraiseModel; import com.nnbc123.core.praise.PraiseModel;
@@ -94,10 +92,14 @@ public class NimP2PMessageActivity extends NewBaseMessageActivity {
} }
showCommandMessage(message); showCommandMessage(message);
}; };
private ImageView ivAvatar;
private TextView tvMessage;
private TextView tvDesc;
private TextView ivAddBlackList; private TextView ivAddBlackList;
private TextView tvTips; private TextView tvTips;
private View tipsLayout; private View tipsLayout;
private ImageView closeIcon; private ImageView closeIcon;
private SuperTextView ivAttention;
@Nullable @Nullable
private UserInfo buddyUserInfo; private UserInfo buddyUserInfo;
private final ContactChangedObserver friendDataChangedObserver = new ContactChangedObserver() { private final ContactChangedObserver friendDataChangedObserver = new ContactChangedObserver() {
@@ -121,7 +123,7 @@ public class NimP2PMessageActivity extends NewBaseMessageActivity {
displayAntiFraudTips(); displayAntiFraudTips();
} }
}; };
private ImageView ivAttention;
private UserInfoObserver uinfoObserver; private UserInfoObserver uinfoObserver;
public static void start(Context context, String contactId) { public static void start(Context context, String contactId) {
@@ -167,7 +169,7 @@ public class NimP2PMessageActivity extends NewBaseMessageActivity {
IMFriendModel.get().addCloseTipsAccount(sessionId); IMFriendModel.get().addCloseTipsAccount(sessionId);
tipsLayout.setVisibility(View.GONE); tipsLayout.setVisibility(View.GONE);
}); });
ivAttention = (ImageView) findViewById(R.id.iv_attention);
// 单聊特例话数据,包括个人信息,黑名单 // 单聊特例话数据,包括个人信息,黑名单
addBlackList(); addBlackList();
requestBuddyInfo(); requestBuddyInfo();
@@ -285,8 +287,18 @@ public class NimP2PMessageActivity extends NewBaseMessageActivity {
if (AuthModel.get().getCurrentUid() != userInfo.getUid() && !SystemUidUtil.isSystemUid(sessionId)) { if (AuthModel.get().getCurrentUid() != userInfo.getUid() && !SystemUidUtil.isSystemUid(sessionId)) {
PraiseModel.get().isPraised(AuthModel.get().getCurrentUid(), userInfo.getUid()).subscribe(); PraiseModel.get().isPraised(AuthModel.get().getCurrentUid(), userInfo.getUid()).subscribe();
} }
buddyUserInfo = userInfo;
displayAntiFraudTips(); if (AuthModel.get().getCurrentUid() != userInfo.getUid()) {
PraiseModel.get().isPraised(AuthModel.get().getCurrentUid(), userInfo.getUid()).subscribe();
}
ivAvatar = (ImageView) findViewById(R.id.iv_avatar);
ImageLoadUtils.loadAvatar(userInfo.getAvatar(),ivAvatar);
tvMessage = (TextView) findViewById(R.id.tv_message);
tvMessage.setText(userTitleName);
tvDesc = (TextView) findViewById(R.id.tv_desc);
tvDesc.setText(userInfo.getUserDesc());
} }
}); });

View File

@@ -351,6 +351,7 @@
android:layout_height="match_parent" /> android:layout_height="match_parent" />
<com.nnbc123.app.avroom.widget.RoomEffectView <com.nnbc123.app.avroom.widget.RoomEffectView
android:id="@+id/room_effect_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" /> android:layout_height="match_parent" />

View File

@@ -131,7 +131,7 @@
<com.nnbc123.app.common.widget.CircleImageView <com.nnbc123.app.common.widget.CircleImageView
android:id="@+id/iv_avatar_2" android:id="@+id/iv_avatar_2"
android:layout_width="22dp" android:layout_width="17dp"
android:layout_height="22dp" android:layout_height="22dp"
android:layout_marginStart="36dp" android:layout_marginStart="36dp"
android:src="@drawable/default_avatar" android:src="@drawable/default_avatar"

View File

@@ -597,7 +597,7 @@
<color name="color_60_FFFFFF">#99FFFFFF</color> <color name="color_60_FFFFFF">#99FFFFFF</color>
<color name="color_10_FFFFFF">#1AFFFFFF</color> <color name="color_10_FFFFFF">#1AFFFFFF</color>
<color name="color_FFE285">#FFE285</color>
<color name="color_40_333333">#66333333</color> <color name="color_40_333333">#66333333</color>
<color name="color_30_ffce4e">#4DFFCE4E</color> <color name="color_30_ffce4e">#4DFFCE4E</color>
<color name="color_c6c6e9">#c6c6e9</color> <color name="color_c6c6e9">#c6c6e9</color>

View File

@@ -118,6 +118,7 @@ public interface StatisticsProtocol {
String EVENT_MP_ROOM_SMASH_EGG_CLICK = "mp_room_smashEgg_click"; // 砸蛋入口 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_SMASHEGG_CHOOSE = "mp_room_smashEgg_choose"; // 开始砸蛋-多人房
String EVENT_MP_ROOM_RANKING_LIST_CLICK = "mp_room_rankingList_click"; // 房间榜 String EVENT_MP_ROOM_RANKING_LIST_CLICK = "mp_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_SET_TOPIC_CLICK = "mp_room_setTopic_click"; // 设置房间话题
String EVENT_MP_ROOM_CLOSE_MIC_CLICK = "mp_room_close_mic_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"; // 关闭声音 String EVENT_MP_ROOM_CLOSE_SOUND_CLICK = "mp_room_close_sound_click"; // 关闭声音

View File

@@ -11,6 +11,7 @@ import com.nnbc123.core.user.bean.GiftWallInfo;
import com.nnbc123.core.user.bean.NewUserInfo; import com.nnbc123.core.user.bean.NewUserInfo;
import com.nnbc123.core.user.bean.ProtocolInfo; import com.nnbc123.core.user.bean.ProtocolInfo;
import com.nnbc123.core.user.bean.UserDetailInfo; import com.nnbc123.core.user.bean.UserDetailInfo;
import com.nnbc123.core.user.bean.UserExpInfo;
import com.nnbc123.core.user.bean.UserGameInfo; import com.nnbc123.core.user.bean.UserGameInfo;
import com.nnbc123.core.user.bean.UserInfo; import com.nnbc123.core.user.bean.UserInfo;
import com.nnbc123.core.user.bean.UserRandomConfig; import com.nnbc123.core.user.bean.UserRandomConfig;
@@ -69,6 +70,14 @@ public interface IUserModel extends IModel {
* @return * @return
*/ */
Single<UserInfo> getUserInfoFromServer(long userId); Single<UserInfo> getUserInfoFromServer(long userId);
/**
* 根据uid 从服务器获取用户等级信息。
* 66新的
*
* @param userId
* @return
*/
Single<UserExpInfo> getUserExper(long userId);
/** /**
* 根据uid 从服务器获取用户详细信息。 * 根据uid 从服务器获取用户详细信息。

View File

@@ -25,6 +25,7 @@ import com.nnbc123.core.user.bean.GiftWallInfo;
import com.nnbc123.core.user.bean.NewUserInfo; import com.nnbc123.core.user.bean.NewUserInfo;
import com.nnbc123.core.user.bean.ProtocolInfo; import com.nnbc123.core.user.bean.ProtocolInfo;
import com.nnbc123.core.user.bean.UserDetailInfo; import com.nnbc123.core.user.bean.UserDetailInfo;
import com.nnbc123.core.user.bean.UserExpInfo;
import com.nnbc123.core.user.bean.UserGameInfo; import com.nnbc123.core.user.bean.UserGameInfo;
import com.nnbc123.core.user.bean.UserInfo; import com.nnbc123.core.user.bean.UserInfo;
import com.nnbc123.core.user.bean.UserRandomConfig; import com.nnbc123.core.user.bean.UserRandomConfig;
@@ -302,6 +303,19 @@ public final class UserModel extends BaseModel implements IUserModel {
} }
@Override
public Single<UserExpInfo> getUserExper(long userId) {
return api.getUserExper(String.valueOf(userId))
.compose(RxHelper.handleSchedulers())
.flatMap(userExpInfoResult -> {
UserExpInfo userExpInfo1 = userExpInfoResult.getData();
if (null == userExpInfo1) {
return Single.error(new Exception("服务器返回的userInfo字段为空"));
}
return Single.just(userExpInfo1);
});
}
@Override @Override
public Single<UserDetailInfo> getUserInfoDetail(long uid) { public Single<UserDetailInfo> getUserInfoDetail(long uid) {
return api.getUserInfoDetail(String.valueOf(uid)) return api.getUserInfoDetail(String.valueOf(uid))
@@ -829,6 +843,9 @@ public final class UserModel extends BaseModel implements IUserModel {
@GET("/user/get") @GET("/user/get")
Single<ServiceResult<UserInfo>> requestUserInfo(@Query("uid") String uid); Single<ServiceResult<UserInfo>> requestUserInfo(@Query("uid") String uid);
@GET("/userLevel/getUserExper")
Single<ServiceResult<UserExpInfo>> getUserExper(@Query("uid") String uid);
@GET("/user/detail/get") @GET("/user/detail/get")
Single<UserDetailInfo> getUserInfoDetail(@Query("uid") String uid); Single<UserDetailInfo> getUserInfoDetail(@Query("uid") String uid);

View File

@@ -0,0 +1,327 @@
package com.nnbc123.core.user.bean;
public class UserExpInfo {
/**
* userLevelExperience : {"uid":2296330,"amount":1888,"levelExperience":{"id":6,"levelSeq":6,"levelName":"Lv6","levelGrp":"","amount":1460,"need":500,"url":"https://image.zhongjialx.com/wealth_06.png","status":1,"broadcast":0,"interaction":0,"createTime":1517390445000},"nextLevelExperience":{"id":7,"levelSeq":7,"levelName":"Lv7","levelGrp":"","amount":1960,"need":500,"url":"https://image.zhongjialx.com/wealth_07.png","status":1,"broadcast":0,"interaction":0,"createTime":1517390445000}}
* avatar : http://image.uat.zhongjialx.com/FjcT2lxblAkPp7TFiOjDwMTi1YXP?imageslim
* nick : 冬萱小哥哥49
* uid : 2296330
*/
private UserLevelExperienceBean userLevelExperience;
private String avatar;
private String nick;
private int uid;
public UserLevelExperienceBean getUserLevelExperience() {
return userLevelExperience;
}
public void setUserLevelExperience(UserLevelExperienceBean userLevelExperience) {
this.userLevelExperience = userLevelExperience;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
public String getNick() {
return nick;
}
public void setNick(String nick) {
this.nick = nick;
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public static class UserLevelExperienceBean {
/**
* uid : 2296330
* amount : 1888
* levelExperience : {"id":6,"levelSeq":6,"levelName":"Lv6","levelGrp":"","amount":1460,"need":500,"url":"https://image.zhongjialx.com/wealth_06.png","status":1,"broadcast":0,"interaction":0,"createTime":1517390445000}
* nextLevelExperience : {"id":7,"levelSeq":7,"levelName":"Lv7","levelGrp":"","amount":1960,"need":500,"url":"https://image.zhongjialx.com/wealth_07.png","status":1,"broadcast":0,"interaction":0,"createTime":1517390445000}
*/
private int uid;
private int amount;
private LevelExperienceBean levelExperience;
private NextLevelExperienceBean nextLevelExperience;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public int getAmount() {
return amount;
}
public void setAmount(int amount) {
this.amount = amount;
}
public LevelExperienceBean getLevelExperience() {
return levelExperience;
}
public void setLevelExperience(LevelExperienceBean levelExperience) {
this.levelExperience = levelExperience;
}
public NextLevelExperienceBean getNextLevelExperience() {
return nextLevelExperience;
}
public void setNextLevelExperience(NextLevelExperienceBean nextLevelExperience) {
this.nextLevelExperience = nextLevelExperience;
}
public static class LevelExperienceBean {
/**
* id : 6
* levelSeq : 6
* levelName : Lv6
* levelGrp :
* amount : 1460
* need : 500
* url : https://image.zhongjialx.com/wealth_06.png
* status : 1
* broadcast : 0
* interaction : 0
* createTime : 1517390445000
*/
private int id;
private int levelSeq;
private String levelName;
private String levelGrp;
private int amount;
private int need;
private String url;
private int status;
private int broadcast;
private int interaction;
private long createTime;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getLevelSeq() {
return levelSeq;
}
public void setLevelSeq(int levelSeq) {
this.levelSeq = levelSeq;
}
public String getLevelName() {
return levelName;
}
public void setLevelName(String levelName) {
this.levelName = levelName;
}
public String getLevelGrp() {
return levelGrp;
}
public void setLevelGrp(String levelGrp) {
this.levelGrp = levelGrp;
}
public int getAmount() {
return amount;
}
public void setAmount(int amount) {
this.amount = amount;
}
public int getNeed() {
return need;
}
public void setNeed(int need) {
this.need = need;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public int getBroadcast() {
return broadcast;
}
public void setBroadcast(int broadcast) {
this.broadcast = broadcast;
}
public int getInteraction() {
return interaction;
}
public void setInteraction(int interaction) {
this.interaction = interaction;
}
public long getCreateTime() {
return createTime;
}
public void setCreateTime(long createTime) {
this.createTime = createTime;
}
}
public static class NextLevelExperienceBean {
/**
* id : 7
* levelSeq : 7
* levelName : Lv7
* levelGrp :
* amount : 1960
* need : 500
* url : https://image.zhongjialx.com/wealth_07.png
* status : 1
* broadcast : 0
* interaction : 0
* createTime : 1517390445000
*/
private int id;
private int levelSeq;
private String levelName;
private String levelGrp;
private int amount;
private int need;
private String url;
private int status;
private int broadcast;
private int interaction;
private long createTime;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getLevelSeq() {
return levelSeq;
}
public void setLevelSeq(int levelSeq) {
this.levelSeq = levelSeq;
}
public String getLevelName() {
return levelName;
}
public void setLevelName(String levelName) {
this.levelName = levelName;
}
public String getLevelGrp() {
return levelGrp;
}
public void setLevelGrp(String levelGrp) {
this.levelGrp = levelGrp;
}
public int getAmount() {
return amount;
}
public void setAmount(int amount) {
this.amount = amount;
}
public int getNeed() {
return need;
}
public void setNeed(int need) {
this.need = need;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public int getBroadcast() {
return broadcast;
}
public void setBroadcast(int broadcast) {
this.broadcast = broadcast;
}
public int getInteraction() {
return interaction;
}
public void setInteraction(int interaction) {
this.interaction = interaction;
}
public long getCreateTime() {
return createTime;
}
public void setCreateTime(long createTime) {
this.createTime = createTime;
}
}
}
}

View File

@@ -190,6 +190,9 @@ public class LocalMusicBean {
final Object this$year = this.getYear(); final Object this$year = this.getYear();
final Object other$year = other.getYear(); final Object other$year = other.getYear();
if (this$year == null ? other$year != null : !this$year.equals(other$year)) return false; if (this$year == null ? other$year != null : !this$year.equals(other$year)) return false;
final Object this$uri = this.getUri();
final Object other$uri = other.getUri();
if (this$uri == null ? other$uri != null : !this$uri.equals(other$uri)) return false;
return true; return true;
} }
@@ -220,8 +223,8 @@ public class LocalMusicBean {
result = result * PRIME + ($artistName == null ? 43 : $artistName.hashCode()); result = result * PRIME + ($artistName == null ? 43 : $artistName.hashCode());
final Object $localUri = this.getLocalUri(); final Object $localUri = this.getLocalUri();
result = result * PRIME + ($localUri == null ? 43 : $localUri.hashCode()); result = result * PRIME + ($localUri == null ? 43 : $localUri.hashCode());
final Object uri = this.getUri(); final Object $uri = this.getUri();
result = result * PRIME + (uri == null ? 43 : uri.hashCode()); result = result * PRIME + ($uri == null ? 43 : $uri.hashCode());
final Object $year = this.getYear(); final Object $year = this.getYear();
result = result * PRIME + ($year == null ? 43 : $year.hashCode()); result = result * PRIME + ($year == null ? 43 : $year.hashCode());
return result; return result;

View File

@@ -27,7 +27,7 @@ channel_file=channel.txt
COMPILE_SDK_VERSION=32 COMPILE_SDK_VERSION=32
MIN_SDK_VERSION=21 MIN_SDK_VERSION=21
TARGET_SDK_VERSION=32 TARGET_SDK_VERSION=29
version_name=1.1.1 version_name=1.1.0
version_code=111 version_code=110

View File

@@ -1,6 +1,6 @@
#Mon Apr 03 18:35:35 CST 2023 #Mon Apr 03 18:35:35 CST 2023
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME