Compare commits

..

25 Commits

Author SHA1 Message Date
max
654bc45c8c fix:修正信息 tag 列表項阿語環境在 Android 低版本時佈局異常問題 2024-08-13 18:35:23 +08:00
max
87a36d796c Version Update 2024-08-13 18:19:19 +08:00
eggmanQQQ
0bc1023c99 fix: 修正用户访问失败时的返回处理 2024-08-06 19:27:00 +08:00
max
154e688673 version code update 2024-08-06 11:20:31 +08:00
max
a91dee592d fix:補充查找禮物的類型 2024-08-05 21:42:47 +08:00
eggmanQQQ
7ef78bc3e1 fix: 調整多語言時,點擊 tab 的移動判斷 2024-08-05 19:22:44 +08:00
eggmanQQQ
b5bcd9cb5f fix: 調整多語言時,禮物面板 tab 的默認方向 2024-08-05 19:06:08 +08:00
max
de7eb25045 feat:隱藏超級幸運禮物標記 2024-08-05 18:57:18 +08:00
eggmanQQQ
029b7fcf96 feat: 完成礼物面板调整 2024-08-05 16:39:41 +08:00
eggmanQQQ
23a3858a2c feat: "我的" 列表支持跳转至“我的装扮” 2024-08-02 10:32:49 +08:00
eggmanQQQ
67044ded6b fix:修正个播房玩法入口布局 2024-08-01 17:57:01 +08:00
eggmanQQQ
3e6d34a986 fix:修正个播房玩法入口布局 2024-07-31 18:48:14 +08:00
max
e7ca237a3e fix:修正個播房遊戲玩法入口的顯示問題 2024-07-31 17:51:20 +08:00
max
e26d548515 version_code update 2024-07-29 10:24:14 +08:00
eggmanQQQ
539be23e47 feat:调整配置入口按钮间距 2024-07-26 16:56:52 +08:00
eggmanQQQ
dcafb35e24 feat:调整配置入口按钮显示逻辑 2024-07-26 15:35:02 +08:00
eggmanQQQ
8fa429aca6 feat:更新数据的获取逻辑,接入配置按钮的跳转行为 2024-07-26 11:31:15 +08:00
max
f08b6d4577 新增 model 2024-07-25 22:28:54 +08:00
max
3ea7aecd5c feat:處理底部按鈕顯示邏輯 2024-07-25 18:31:50 +08:00
eggmanQQQ
178f4e24ef 更换资源 2024-07-25 16:12:07 +08:00
max
e2861459fb feat:玩法列表支持最多 3 行並滾動 2024-07-25 15:14:08 +08:00
eggmanQQQ
d704a44106 feat:更新玩法按鈕以及顯示內容 2024-07-24 20:08:03 +08:00
max
da81a4e905 feat:更新房間底部 layout 2024-07-24 14:54:41 +08:00
max
6c081d9a38 fix:修正英語翻譯 2024-07-24 12:13:56 +08:00
max
37d897035f feat:固化混淆配置 2024-07-12 19:07:32 +08:00
41 changed files with 756 additions and 153 deletions

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "modules/module_google"]
path = modules/module_google
url = https://e.coding.net/chwllive/peko/peko-android-gms.git

View File

@@ -47,8 +47,7 @@ public abstract class BottomViewListenerWrapper {
}
public void onRoomGameplayClick(){
public void onRoomGameplayClick(boolean isOnlyPK){
}
}

View File

@@ -11,6 +11,7 @@ import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleEventObserver
import androidx.lifecycle.LifecycleObserver
import androidx.lifecycle.LifecycleOwner
import androidx.recyclerview.widget.RecyclerView
import com.chwl.app.R
import com.chwl.app.avroom.adapter.RoomGameListAdapter
import com.chwl.app.base.BaseActivity
@@ -38,7 +39,7 @@ class RoomGameListDialog :
private var compositeDisposable: CompositeDisposable? = null
private val adapter = RoomGameListAdapter()
private var dialogManager: DialogManager? = null
private lateinit var recycleView: RecyclerView
override fun getTheme(): Int {
return R.style.ErbanBottomSheetDialogDimFalse
}
@@ -61,6 +62,8 @@ class RoomGameListDialog :
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
initView()
val recyclerView: RecyclerView = view.findViewById(R.id.recyclerView)
recycleView = recyclerView
switchStatus(0)
requestData()
}
@@ -89,6 +92,14 @@ class RoomGameListDialog :
binding?.recyclerView?.adapter = adapter
}
private fun updateDialogHeight(count: Int) {
if (count > 10) {
val layoutParams = recycleView.layoutParams
layoutParams.height = 600
recycleView.layoutParams = layoutParams
}
}
private fun requestData() {
val dataService =
AudioRoomContext.get()
@@ -96,6 +107,7 @@ class RoomGameListDialog :
val cacheKey = "game_list#${parentFragment.hashCode()}"
val list = dataService?.getData(cacheKey) as? List<GameInfo>
if (!list.isNullOrEmpty()) {
updateDialogHeight(list.size)
loadData(list)
return
}
@@ -106,6 +118,7 @@ class RoomGameListDialog :
}
.subscribe { it: List<GameInfo> ->
dataService?.putData(cacheKey, it)
updateDialogHeight(it.size)
loadData(it)
}
getCompositeDisposable().add(disposable)

View File

@@ -10,6 +10,8 @@ import androidx.core.view.isVisible
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleEventObserver
import androidx.lifecycle.LifecycleOwner
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.chwl.app.R
import com.chwl.app.avroom.activity.CreatePKActivity
import com.chwl.app.avroom.adapter.RoomGameplayAdapter
@@ -39,8 +41,11 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import com.google.gson.Gson
import io.reactivex.disposables.CompositeDisposable
class RoomGameplayDialog :
BottomSheetDialogFragment() {
class RoomGameplayDialog : BottomSheetDialogFragment() {
var isOnlyPK = false
private lateinit var recycleView: RecyclerView
private var binding: RoomGameplayDialogBinding? = null
private var compositeDisposable: CompositeDisposable? = null
private val adapter = RoomGameplayAdapter()
@@ -69,6 +74,10 @@ class RoomGameplayDialog :
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
initView()
val recyclerView: RecyclerView = view.findViewById(R.id.recyclerView)
recycleView = recyclerView
switchStatus(0)
requestData()
}
@@ -97,28 +106,46 @@ class RoomGameplayDialog :
}
private fun requestData() {
val dataService =
AudioRoomContext.get()
?.findAbility<RoomDataService>(RoomDataService::class.java.simpleName)
val cacheKey = "gameplay_list#${parentFragment.hashCode()}"
val list = dataService?.getData(cacheKey) as? List<RoomIcon>
if (!list.isNullOrEmpty()) {
loadSuccess(list)
return
if (isOnlyPK) {
loadSuccess(arrayListOf())
} else {
val dataService =
AudioRoomContext.get()
?.findAbility<RoomDataService>(RoomDataService::class.java.simpleName)
val cacheKey = "gameplay_list#${parentFragment.hashCode()}"
val list = dataService?.getData(cacheKey) as? List<RoomIcon>
if (!list.isNullOrEmpty()) {
updateDialogHeight(list.size)
loadSuccess(list)
return
}
val disposable = AvRoomModel.get().roomGamePlayList
.doOnError {
loadFail(it)
}
.subscribe { it: List<RoomIcon> ->
dataService?.putData(cacheKey, it)
updateDialogHeight(it.size)
loadSuccess(it)
}
getCompositeDisposable().add(disposable)
}
}
private fun updateDialogHeight(count: Int) {
if (count > 10) {
val layoutParams = recycleView.layoutParams
layoutParams.height = 600
recycleView.layoutParams = layoutParams
}
val disposable = AvRoomModel.get().roomGamePlayList
.doOnError {
loadFail(it)
}
.subscribe { it: List<RoomIcon> ->
dataService?.putData(cacheKey, it)
loadSuccess(it)
}
getCompositeDisposable().add(disposable)
}
private fun loadSuccess(list: List<RoomIcon>?) {
val finalList = getLocalList()
var finalList = mutableListOf<RoomGameplayItem>()
if (isOnlyPK) {
finalList = getLocalList()
}
list?.let {
finalList.addAll(list.map {
RoomGameplayItem.RoomIconItem(it) { dialog, item ->

View File

@@ -63,6 +63,7 @@ import com.chwl.app.music.widget.MusicPlayerView
import com.chwl.app.public_chat.ui.message.HeadlineViewModel
import com.chwl.app.room_chat.activity.RoomMsgActivity
import com.chwl.app.ui.pay.ChargeActivity
import com.chwl.app.ui.webview.CommonWebViewActivity
import com.chwl.app.ui.webview.DialogWebViewActivity
import com.chwl.app.ui.widget.ButtonItem
import com.chwl.app.ui.widget.GiftDialog
@@ -98,6 +99,8 @@ import com.chwl.core.manager.RoomEvent
import com.chwl.core.mentoring_relationship.event.MentoringStopCountingEvent
import com.chwl.core.room.anotherroompk.ShowGiftDialogEvent
import com.chwl.core.room.anotherroompk.ShowUserInfoDialogEvent
import com.chwl.core.room.bean.RightBottomIconConfig
import com.chwl.core.room.bean.RoomIcon
import com.chwl.core.room.bean.RoomInfo
import com.chwl.core.room.event.RoomAtEvent
import com.chwl.core.room.event.RoomClearScreenEvent
@@ -122,6 +125,7 @@ import com.chwl.library.common.util.LimitClickUtils
import com.chwl.library.net.rxnet.utils.RxNetWorkUtils
import com.chwl.library.rxbus.RxBus
import com.chwl.library.utils.*
import com.google.gson.Gson
import com.netease.nim.uikit.common.antispam.AntiSpamEvent
import com.netease.nimlib.sdk.StatusCode
import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder
@@ -665,6 +669,7 @@ open class BaseRoomFragment<V : IBaseRoomView?, P1 : BaseRoomPresenter<V>?> :
bottomView.showHomePartyDownMicBottom()
}
bottomView.showInputOrIcon(isOnMic)
bottomView.updateGameEntrance()
// 更新聽筒消息
bottomView.setRemoteMuteOpen(!AudioEngineManager.get().isRemoteMute)
if (isOnMic) {
@@ -792,8 +797,24 @@ open class BaseRoomFragment<V : IBaseRoomView?, P1 : BaseRoomPresenter<V>?> :
override fun onClick(v: View) {
if (mClickLimit.checkForTime(500)) return
when (v.id) {
R.id.iv_config_entrance -> {
val roomInfo = AvRoomDataManager.get().mCurrentRoomInfo ?: return
val configInfo = AvRoomDataManager.get().rightBottomIconConfig ?: return
if (configInfo.skipType == 1) {
playConfigWeb(configInfo.skipUrl)
} else if (configInfo.skipType == 2) {
playConfigBaishunGame(configInfo)
}
}
R.id.iv_game -> {
RoomGameListDialog().show(childFragmentManager, "GAME_LIST")
val dialog = RoomGameplayDialog()
dialog.isOnlyPK = false
dialog.listener = object : RoomGameplayDialog.GameplayDialogListener {
override fun onShowBaiShunGame(url: String, config: BaiShunGameConfig) {
(activity as? AVRoomActivity)?.showBaiShunGame(url, config)
}
}
dialog.show(childFragmentManager, "ROOM_GAME_PLAY")
}
R.id.input_send -> {
sendMsg()
@@ -807,6 +828,38 @@ open class BaseRoomFragment<V : IBaseRoomView?, P1 : BaseRoomPresenter<V>?> :
}
}
private fun playConfigWeb(url: String) {
CommonWebViewActivity.start(mContext, url)
}
private fun playConfigBaishunGame(configInfo: RightBottomIconConfig) {
val roomIcon: RoomIcon = RoomIcon(
skipContent = configInfo.skipUrl,
skipType = 3,
showType = 1,
code = "BAISHUN",
ruleValue = configInfo.reserve)
try {
val url = roomIcon.skipContent
val ruleValue = Gson().fromJson<RoomIcon.RuleValueBean>(
roomIcon.ruleValue,
RoomIcon.RuleValueBean::class.java
)
val config = Gson().fromJson<BaiShunGameConfig>(
ruleValue.RESERVE,
BaiShunGameConfig::class.java
)
if (config != null && url != null) {
config.reloadDynamicParams()
(activity as? AVRoomActivity)?.showBaiShunGame(url, config)
} else {
SingleToastUtil.showToast(R.string.manager_trtc_trtcengineadapter_042)
}
} catch (e: Exception) {
e.printStackTrace()
}
}
private fun sendMsg() {
val message = inputEdit.text.toString().trim()
if (isPublicMessageTab()) {
@@ -1434,14 +1487,19 @@ open class BaseRoomFragment<V : IBaseRoomView?, P1 : BaseRoomPresenter<V>?> :
RoomMsgActivity.start(mContext)
}
override fun onRoomGameplayClick() {
val dialog = RoomGameplayDialog()
dialog.listener = object : RoomGameplayDialog.GameplayDialogListener {
override fun onShowBaiShunGame(url: String, config: BaiShunGameConfig) {
(activity as? AVRoomActivity)?.showBaiShunGame(url, config)
override fun onRoomGameplayClick(isOnlyPK: Boolean) {
if (isOnlyPK) {
val dialog = RoomGameplayDialog()
dialog.isOnlyPK = isOnlyPK
dialog.listener = object : RoomGameplayDialog.GameplayDialogListener {
override fun onShowBaiShunGame(url: String, config: BaiShunGameConfig) {
(activity as? AVRoomActivity)?.showBaiShunGame(url, config)
}
}
dialog.show(childFragmentManager, "ROOM_GAME_PLAY")
} else {
RoomGameListDialog().show(childFragmentManager, "GAME_LIST")
}
dialog.show(childFragmentManager, "ROOM_GAME_PLAY")
}
}

View File

@@ -4,6 +4,7 @@ import android.annotation.SuppressLint;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.databinding.DataBindingUtil;
@@ -14,8 +15,13 @@ import com.chwl.app.avroom.headline.RoomHeadlineWidget;
import com.chwl.app.avroom.online.RoomOnlineWidget;
import com.chwl.app.avroom.rank.RoomRankNumberWidget;
import com.chwl.app.music.widget.MusicPlayerView;
import com.chwl.app.ui.utils.ImageLoadUtils;
import com.chwl.app.ui.webview.DialogWebViewActivity;
import com.chwl.core.room.bean.RightBottomIconConfig;
import com.chwl.core.room.bean.RoomIcon;
import com.chwl.core.room.core.RoomDataService;
import com.chwl.core.room.pk.event.PKDataUpdateEvent;
import com.chwl.core.support.room.AudioRoomContext;
import com.netease.nim.uikit.common.util.log.LogUtil;
import com.trello.rxlifecycle3.android.FragmentEvent;
import com.chwl.app.R;
@@ -79,6 +85,7 @@ import io.reactivex.Single;
import io.reactivex.SingleObserver;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;
/**
* 轰趴房间
@@ -101,6 +108,8 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
private PKMicQueueDialog pkMicQueueDialog;
private Disposable roomPkOrderDisposable;
private boolean hasBaishunGames;
public static HomePartyRoomFragment newInstance() {
HomePartyRoomFragment roomFragment = new HomePartyRoomFragment();
Bundle bundle = new Bundle();
@@ -149,6 +158,28 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
updateQueuingMicBtn();
updatePkScoreBoard();
initRoomPkOrder(AvRoomDataManager.get().showPkBeginTime, AvRoomDataManager.get().pkBeginTime);
requestData();
}
private void requestData() {
RoomDataService dataService = (RoomDataService) AudioRoomContext.Companion.get().findAbility(RoomDataService.class.getSimpleName());
String cacheKey = "gameplay_list#" + hashCode();
Disposable disposable = AvRoomModel.get().getRoomGamePlayList().doOnError(new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
hasBaishunGames = false;
updateConfigButtonArea();
}
}).subscribe(new Consumer<List<RoomIcon>>() {
@Override
public void accept(List<RoomIcon> roomIcons) throws Exception {
if (dataService != null) {
dataService.putData(cacheKey, roomIcons);
}
hasBaishunGames = roomIcons.size() > 0;
updateConfigButtonArea();
}
});
}
@Override
@@ -197,6 +228,7 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
gameBinding.setRoomInfo(AvRoomDataManager.get().mCurrentRoomInfo);
updateQueuingMicBtn();
updatePkScoreBoard();
updateConfigButtonArea();
getMvpPresenter().updateLeaveMode();
break;
case RoomEvent.ENTER_ROOM:
@@ -470,11 +502,7 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
updateMicroView();
changeModelShowView();
refreshDatingNextStatus();
if (AvRoomDataManager.get().isDatingMode()) {
gameBinding.ivGame.setVisibility(View.GONE);
} else {
gameBinding.ivGame.setVisibility(View.VISIBLE);
}
// updateConfigButtonArea();
}
protected void updateMicroView(){
@@ -502,6 +530,30 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
refreshDatingNextStatus();
}
public void updateConfigButtonArea() {
RightBottomIconConfig configModel = AvRoomDataManager.get().rightBottomIconConfig;
if (configModel == null) {
gameBinding.ivConfigEntrance.setVisibility(View.GONE);
} else {
if (configModel.getIcon1Url() == null) {
gameBinding.ivConfigEntrance.setVisibility(View.GONE);
} else {
ImageLoadUtils.loadAvatar(configModel.getIcon1Url(), gameBinding.ivConfigEntrance);
gameBinding.ivConfigEntrance.setVisibility(View.VISIBLE);
}
if (configModel.getIcon2Url() != null) {
ImageLoadUtils.loadAvatar(configModel.getIcon2Url(), gameBinding.ivGame);
}
}
if (hasBaishunGames) {
gameBinding.ivGame.setVisibility(View.VISIBLE);
}else {
gameBinding.ivGame.setVisibility(View.GONE);
}
}
private void updateQueuingMicBtn() {
if (AvRoomDataManager.get().mCurrentRoomInfo != null) {
bottomView.updateQueuingMicButton();
@@ -564,7 +616,6 @@ public class HomePartyRoomFragment extends BaseRoomFragment<IHomePartyView, Home
super.onDestroy();
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onDatingSelectUserEvent(DatingSelectUserEvent event) {
if (getMvpPresenter() != null) {

View File

@@ -26,6 +26,7 @@ import com.chwl.app.fansteam.FansTeamJoinActivity
import com.chwl.app.fansteam.FansTeamJoinedActivity
import com.chwl.app.fansteam.FansTeamViewModel
import com.chwl.app.music.widget.MusicPlayerView
import com.chwl.app.ui.utils.ImageLoadUtils
import com.chwl.app.ui.webview.CommonWebViewActivity
import com.chwl.app.ui.webview.DialogWebViewActivity
import com.chwl.core.UriProvider
@@ -36,6 +37,10 @@ import com.chwl.core.im.custom.bean.RequestUpmicAttachment
import com.chwl.core.im.custom.bean.RoomPKAttachment
import com.chwl.core.manager.AvRoomDataManager
import com.chwl.core.manager.RoomEvent
import com.chwl.core.room.core.RoomDataService
import com.chwl.core.room.model.AvRoomModel
import com.chwl.core.support.room.AudioRoomContext.Companion.get
import com.chwl.core.support.room.RoomAbility
import com.chwl.core.user.bean.UserInfo
import com.chwl.library.base.factory.CreatePresenter
import com.netease.nim.uikit.common.util.sys.ScreenUtil
@@ -63,6 +68,8 @@ class SingleRoomFragment : BaseRoomFragment<ISingleRoomView?, SingleRoomPresente
private lateinit var gameBinding: FragmentSingleRoomBinding
private lateinit var upMicDialog: RequestUpMicDialog
private var hasBaishunGames = false
private val fansTeamViewModel: FansTeamViewModel by viewModels()
override fun getRootLayoutId(): Int {
return R.layout.fragment_single_room

View File

@@ -16,12 +16,11 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.TextView;
import com.chwl.core.manager.AvRoomDataManager;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.chwl.app.avroom.activity.RoomTypeSwitchActivity;
import com.chwl.app.avroom.dialog.RoomGameplayDialog;
import com.chwl.core.utils.extension.StringExtensionKt;
import com.netease.nim.uikit.api.NimUIKit;
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
@@ -30,7 +29,6 @@ import com.netease.nimlib.sdk.uinfo.model.UserInfo;
import com.chwl.app.R;
import com.chwl.app.avroom.BottomViewListenerWrapper;
import com.chwl.app.ui.utils.ImageLoadUtils;
import com.chwl.app.vip.VipMainActivity;
import com.chwl.app.room_chat.activity.RoomMsgActivity;
import com.chwl.core.helper.ImHelperUtils;
import com.chwl.core.manager.AvRoomDataManager;
@@ -75,6 +73,10 @@ public class BottomView extends LinearLayout implements View.OnClickListener {
private ImageView iconMicQueue;
private ImageView iconRoomMsg;
private ImageView iconRoomBaiShunGame;
private ImageView pkGameView;
@Nullable
private PopupWindow msgTipPopupWindow;
@NonNull
@@ -106,11 +108,12 @@ public class BottomView extends LinearLayout implements View.OnClickListener {
remoteMute = findViewById(R.id.icon_room_open_remote_mic);
faceLayout = findViewById(R.id.room_face_layout);
micLayout = findViewById(R.id.room_mic_layout);
iconRoomBaiShunGame = findViewById(R.id.icon_room_baishun_game);
iconMicQueue = (ImageView) findViewById(R.id.icon_mic_queue);
iconRoomMsg = findViewById(R.id.iv_room_message);
ImageView gameView = findViewById(R.id.icon_room_game);
pkGameView = findViewById(R.id.icon_room_PK_game);
openMic.setOnClickListener(this);
sendMsgInput.setOnClickListener(this);
sendFace.setOnClickListener(this);
@@ -119,7 +122,8 @@ public class BottomView extends LinearLayout implements View.OnClickListener {
sendMagic.setOnClickListener(this);
iconMicQueue.setOnClickListener(this);
iconRoomMsg.setOnClickListener(this);
gameView.setOnClickListener(this);
pkGameView.setOnClickListener(this);
iconRoomBaiShunGame.setOnClickListener(this);
setMicBtnEnable(false);
setMicBtnOpen(false);
@@ -243,6 +247,10 @@ public class BottomView extends LinearLayout implements View.OnClickListener {
}
}
public void setBaiShunBtnOpen(boolean isOpen) {
iconRoomBaiShunGame.setVisibility(isOpen ? VISIBLE : GONE);
}
public void notifyStateChanged() {
setMagicBtnEnable(true);
}
@@ -252,6 +260,21 @@ public class BottomView extends LinearLayout implements View.OnClickListener {
micLayout.setVisibility(VISIBLE);
}
public void updateGameEntrance() {
if (AvRoomDataManager.get().isManager() || SuperAdminUtil.isSuperAdmin()) {
if (!AvRoomDataManager.get().isCpRoom()) {
pkGameView.setVisibility(VISIBLE);
iconRoomBaiShunGame.setVisibility(VISIBLE);
}
} else {
pkGameView.setVisibility(GONE);
iconRoomBaiShunGame.setVisibility(GONE);
}
if (AvRoomDataManager.get().isSingleRoom() || AvRoomDataManager.get().isDatingMode()) {
pkGameView.setVisibility(GONE);
}
}
public void showHomePartyDownMicBottom() {
faceLayout.setVisibility(GONE);
micLayout.setVisibility(GONE);
@@ -351,9 +374,14 @@ public class BottomView extends LinearLayout implements View.OnClickListener {
wrapper.onRoomMessageClick();
}
break;
case R.id.icon_room_game:
case R.id.icon_room_PK_game:
if (wrapper != null) {
wrapper.onRoomGameplayClick();
wrapper.onRoomGameplayClick(true);
}
break;
case R.id.icon_room_baishun_game:
if (wrapper != null) {
wrapper.onRoomGameplayClick(false);
}
break;
default:

View File

@@ -297,6 +297,9 @@ public class RouterHandler {
case RouterType.GAME_TEAM_RECORD:
GameTeamRecordActivity.Companion.start(context);
break;
case RouterType.MY_DRESS_ITEM:
MyDecorationActivity.start(context, 0);
break;
default:
SingleToastUtil.showToast(ResUtil.getString(R.string.ui_im_routerhandler_07));
return false;

View File

@@ -245,6 +245,9 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
initPhoto(dataBean.getPrivatePhoto());
setWhereVisible();
});
viewModel.getUserInfoDetailError().observe(this, String -> {
finish();
});
}
private void setTitleVisible(boolean visible) {

View File

@@ -26,7 +26,9 @@ class UserInfoViewModel : BaseViewModel() {
val userInfoData: LiveData<UserInfo> = _userInfoData
private val _userInfoDetailData = MutableLiveData<UserDetailInfo.DataBean>()
private val _userInfoDetailError = MutableLiveData<String>()
val userInfoDetailData: LiveData<UserDetailInfo.DataBean> = _userInfoDetailData
val userInfoDetailError: LiveData<String> = _userInfoDetailError
val userClanData = MutableLiveData<UserClanInfo>()
@@ -55,6 +57,7 @@ class UserInfoViewModel : BaseViewModel() {
.subscribe(object : BeanObserver<UserDetailInfo?>() {
override fun onErrorMsg(error: String) {
error.toast()
_userInfoDetailError.postValue(error)
}
override fun onSuccess(info: UserDetailInfo) {

View File

@@ -1,5 +1,13 @@
package com.chwl.app.ui.widget;
import static com.chwl.app.ui.widget.magicindicator.GiftIndicator.TYPE_COUNTRY;
import static com.chwl.app.ui.widget.magicindicator.GiftIndicator.TYPE_LUCKY;
import static com.chwl.app.ui.widget.magicindicator.GiftIndicator.TYPE_NOBLE;
import static com.chwl.app.ui.widget.magicindicator.GiftIndicator.TYPE_NORMAL;
import static com.chwl.app.ui.widget.magicindicator.GiftIndicator.TYPE_SING_ROOM;
import static com.chwl.app.ui.widget.magicindicator.GiftIndicator.TYPE_SUPER_LUCKY;
import static com.chwl.app.ui.widget.magicindicator.GiftIndicator.TYPE_WEEK;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
@@ -38,6 +46,8 @@ import com.chwl.app.ui.webview.DialogWebViewActivity;
import com.chwl.core.UriProvider;
import com.chwl.core.gift.bean.LuckyBagNoticeInfo;
import com.chwl.core.gift.bean.SimpleUserInfo;
import com.chwl.core.gift.bean.TagsInfo;
import com.chwl.core.home.bean.TabInfo;
import com.chwl.core.room.anotherroompk.ShowUserInfoDialogEvent;
import com.chwl.core.utils.extension.StringExtensionKt;
import com.example.lib_utils.UiUtils;
@@ -438,13 +448,16 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
sendGiftButton.setOnClickListener(this);
giftNumLayout = root.findViewById(R.id.gift_number_layout);
giftNumLayout.setOnClickListener(this);
List<GiftTab> tabInfoList = new ArrayList<>();
tabInfoList.add(new GiftTab(GiftIndicator.TYPE_NORMAL, ResUtil.getString(R.string.ui_widget_giftdialog_01), ResUtil.getString(R.string.ui_widget_giftdialog_02)));
tabInfoList.add(new GiftTab(GiftIndicator.TYPE_LUCKY, ResUtil.getString(R.string.ui_widget_giftdialog_03), ResUtil.getString(R.string.ui_widget_giftdialog_04)));
tabInfoList.add(new GiftTab(GiftIndicator.TYPE_NOBLE, ResUtil.getString(R.string.ui_widget_giftdialog_05), ResUtil.getString(R.string.ui_widget_giftdialog_06)));
tabInfoList.add(new GiftTab(GiftIndicator.TYPE_WEEK, ResUtil.getString(R.string.ui_widget_giftdialog_07), ResUtil.getString(R.string.ui_widget_giftdialog_08)));
List<GiftTab> tabInfoList = updateTabs();
// MARK: 获取到新 API 数据后tab 按这里的方式更新
// List<GiftTab> tabInfoList = new ArrayList<>();
// tabInfoList.add(new GiftTab(GiftIndicator.TYPE_NORMAL, ResUtil.getString(R.string.ui_widget_giftdialog_01), ResUtil.getString(R.string.ui_widget_giftdialog_02)));
// tabInfoList.add(new GiftTab(GiftIndicator.TYPE_LUCKY, ResUtil.getString(R.string.ui_widget_giftdialog_03), ResUtil.getString(R.string.ui_widget_giftdialog_04)));
// tabInfoList.add(new GiftTab(GiftIndicator.TYPE_NOBLE, ResUtil.getString(R.string.ui_widget_giftdialog_05), ResUtil.getString(R.string.ui_widget_giftdialog_06)));
// tabInfoList.add(new GiftTab(GiftIndicator.TYPE_WEEK, ResUtil.getString(R.string.ui_widget_giftdialog_07), ResUtil.getString(R.string.ui_widget_giftdialog_08)));
// tabInfoList.add(new GiftTab(GiftIndicator.TYPE_DRAW_GIFT, ResUtil.getString(R.string.ui_widget_giftdialog_09), ResUtil.getString(R.string.ui_widget_giftdialog_010)));
tabInfoList.add(new GiftTab(GiftIndicator.TYPE_SING_ROOM, ResUtil.getString(R.string.ui_widget_giftdialog_hot), ResUtil.getString(R.string.ui_widget_giftdialog_hot)));
// tabInfoList.add(new GiftTab(GiftIndicator.TYPE_SING_ROOM, ResUtil.getString(R.string.ui_widget_giftdialog_hot), ResUtil.getString(R.string.ui_widget_giftdialog_hot)));
// tabInfoList.add(new GiftTab(GiftIndicator.TYPE_KNAP, ResUtil.getString(R.string.ui_widget_giftdialog_011), ResUtil.getString(R.string.ui_widget_giftdialog_012)));
giftIndicator = root.findViewById(R.id.gift_indicator);
giftIndicator.initTab(
@@ -503,24 +516,30 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
if (giftId == 0) {
// 更新所有礼物
giftIndicator.setPosition(GiftIndicator.TYPE_NORMAL);
giftIndicator.setPosition(TYPE_NORMAL);
updateGiftView(giftIndicator.getCurrrentType());
} else {
int indicatorType = GiftIndicator.TYPE_NORMAL;
int indicatorType = TYPE_NORMAL;
GiftInfo giftInfo = GiftModel.get().findGiftInfoById(giftId);
if (giftInfo != null) {
switch (giftInfo.getGiftType()) {
case GiftType.GIFT_TYPE_NORMAL:
indicatorType = GiftIndicator.TYPE_NORMAL;
indicatorType = TYPE_NORMAL;
break;
case GiftType.GIFT_TYPE_LUCKY:
indicatorType = GiftIndicator.TYPE_LUCKY;
break;
case GiftType.GIFT_TYPE_SUPER_LUCKY:
indicatorType = TYPE_SUPER_LUCKY;
break;
case GiftType.GIFT_TYPE_VIP:
indicatorType = GiftIndicator.TYPE_NOBLE;
indicatorType = TYPE_NOBLE;
break;
case GiftType.GIFT_TYPE_COUNTRY:
indicatorType = TYPE_COUNTRY;
break;
case GiftType.GIFT_TYPE_WEEK_STAR:
indicatorType = GiftIndicator.TYPE_WEEK;
indicatorType = TYPE_WEEK;
break;
}
}
@@ -581,6 +600,34 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
});
}
private List<GiftTab> updateTabs() {
List<GiftTab> tabInfoList = new ArrayList<>();
for (TagsInfo info: GiftModel.get().getTabList()) {
tabInfoList.add(new GiftTab(swithGiftTypeToTabType(info), info.tagName(), info.tagName()));
}
return tabInfoList;
}
private int swithGiftTypeToTabType(TagsInfo info) {
switch (info.tagGiftType()) {
case GiftType.GIFT_TYPE_NORMAL:
return TYPE_NORMAL;
case GiftType.GIFT_TYPE_LUCKY:
return TYPE_LUCKY;
case GiftType.GIFT_TYPE_SUPER_LUCKY:
return TYPE_SUPER_LUCKY;
case GiftType.GIFT_TYPE_VIP:
return TYPE_NOBLE;
case GiftType.GIFT_TYPE_WEEK_STAR:
return TYPE_WEEK;
case GiftType.GIFT_TYPE_COUNTRY:
return TYPE_COUNTRY;
case GiftType.GIFT_TYPE_SINGLE_ROOM:
return TYPE_SING_ROOM;
}
return TYPE_NORMAL;
}
private void showLoadingAnimation() {
Animation rotateAnimation = new RotateAnimation(0, 360,
Animation.RELATIVE_TO_SELF, 0.5f,
@@ -656,31 +703,35 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
List<GiftInfo> nobleGiftInfos = getNobleGiftInfos();
if (position == GiftIndicator.TYPE_KNAP) {
currentGiftInfoList = GiftModel.get().getKnapList();
} else if (position == GiftIndicator.TYPE_NOBLE) {
} else if (position == TYPE_NOBLE) {
currentGiftInfoList = nobleGiftInfos;
} else if (position == GiftIndicator.TYPE_NORMAL) {
} else if (position == TYPE_NORMAL) {
currentGiftInfoList = getNormalGiftInfos();
} else if (position == GiftIndicator.TYPE_LUCKY) {
currentGiftInfoList = getLuckyGiftInfos();
} else if (position == GiftIndicator.TYPE_WEEK) {
} else if (position == TYPE_WEEK) {
currentGiftInfoList = getWeekStarGiftInfos();
} else if (position == GiftIndicator.TYPE_DRAW_GIFT) {
currentGiftInfoList = getDrawGiftInfos();
} else if (position == GiftIndicator.TYPE_SING_ROOM) {
currentGiftInfoList = getSingleRoomGiftInfos();
} else if (position == TYPE_SUPER_LUCKY) {
currentGiftInfoList = getSuperLuckyGiftInfos();
} else if (position == TYPE_COUNTRY) {
currentGiftInfoList = getCountryGiftInfos();
}
// 有贵族礼物才显示贵族礼物的tab
if (ListUtils.isListEmpty(nobleGiftInfos)) {
giftIndicator.hidePosition(GiftIndicator.TYPE_NOBLE);
giftIndicator.hidePosition(TYPE_NOBLE);
} else {
giftIndicator.showPosition(GiftIndicator.TYPE_NOBLE);
giftIndicator.showPosition(TYPE_NOBLE);
}
// 有塗鴉礼物才显示塗鴉礼物的tab
if (ListUtils.isListEmpty(getDrawGiftInfos())) {
giftIndicator.hidePosition(GiftIndicator.TYPE_DRAW_GIFT);
} else {
giftIndicator.showPosition(GiftIndicator.TYPE_DRAW_GIFT);
}
// if (ListUtils.isListEmpty(getDrawGiftInfos())) {
// giftIndicator.hidePosition(GiftIndicator.TYPE_DRAW_GIFT);
// } else {
// giftIndicator.showPosition(GiftIndicator.TYPE_DRAW_GIFT);
// }
//是否背包礼物
final boolean isKnap = (position == GiftIndicator.TYPE_KNAP);
initEasyPop(isKnap);
@@ -690,9 +741,11 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
// tvGiftValue.setVisibility(View.VISIBLE);
showEmptyView();
} else if (position == GiftIndicator.TYPE_LUCKY ||
position == GiftIndicator.TYPE_WEEK ||
position == TYPE_SUPER_LUCKY ||
position == TYPE_WEEK ||
position == GiftIndicator.TYPE_SING_ROOM ||
position == GiftIndicator.TYPE_DRAW_GIFT) {
position == GiftIndicator.TYPE_DRAW_GIFT ||
position == TYPE_COUNTRY) {
showEmptyView();
updateWeekStarDesc();
isShowDrawGiftModel = false;
@@ -707,7 +760,7 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
if (currentGiftInfo.isSendMsg()) {
etSendMessage.setVisibility(View.VISIBLE);
}
pagerList = beanTransformVm(context, currentGiftInfoList, isKnap, position == GiftIndicator.TYPE_WEEK ? 4 : 8, currentGiftInfo);
pagerList = beanTransformVm(context, currentGiftInfoList, isKnap, position == TYPE_WEEK ? 4 : 8, currentGiftInfo);
setGridViewData(pagerList);
if (isKnap) {
// tvGiftValue.setVisibility(View.VISIBLE);
@@ -723,10 +776,13 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
updateWeekStarDesc();
updateDrawGift();
giftIndicator.post(() -> {
if (position < GiftIndicator.TYPE_WEEK) {
giftIndicator.fullScroll(View.FOCUS_LEFT);
boolean isRTL = UiUtils.INSTANCE.isRtl(getContext());
// if (position < TYPE_WEEK) { GiftModel.get().getTabList().size()/2;
int centerIndex = GiftModel.get().getTabList().size()/2;
if (position < centerIndex) {
giftIndicator.fullScroll(isRTL ? View.FOCUS_RIGHT : View.FOCUS_LEFT);
} else {
giftIndicator.fullScroll(View.FOCUS_RIGHT);
giftIndicator.fullScroll(isRTL ? View.FOCUS_LEFT : View.FOCUS_RIGHT);
}
});
}
@@ -797,7 +853,7 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
private void updateWeekStarDesc() {
if (giftIndicator.getCurrrentType() == GiftIndicator.TYPE_WEEK) {
if (giftIndicator.getCurrrentType() == TYPE_WEEK) {
flLuckyDesc.setVisibility(View.GONE);
llStarWeek.setVisibility(View.GONE);
mStarWeekBanner.setVisibility(View.VISIBLE);
@@ -1116,6 +1172,11 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
return giftInfos;
}
private List<TagsInfo> getAllTabsAndGiftInfos() {
List<TagsInfo> tagsInfos = null;
return tagsInfos;
}
private List<GiftInfo> getNormalGiftInfos() {
List<GiftInfo> giftInfos = loadGiftInfoList();
List<GiftInfo> infos = new ArrayList<>();
@@ -1152,6 +1213,18 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
GiftType.GIFT_TYPE_SINGLE_ROOM);
}
private List<GiftInfo> getSuperLuckyGiftInfos() {
return GiftModel.get().getGiftInfosByType(
String.valueOf(AvRoomDataManager.get().getRoomUid()),
GiftType.GIFT_TYPE_SUPER_LUCKY);
}
private List<GiftInfo> getCountryGiftInfos() {
return GiftModel.get().getGiftInfosByType(
String.valueOf(AvRoomDataManager.get().getRoomUid()),
GiftType.GIFT_TYPE_COUNTRY);
}
private List<GiftInfo> getNobleGiftInfos() {
return GiftModel.get().getGiftInfoList(GiftType.GIFT_TYPE_VIP);
}
@@ -1449,10 +1522,10 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene
if (needShowLoading) showLoadingView();
int currentType = giftIndicator.getCurrrentType();
switch (currentType) {
case GiftIndicator.TYPE_NORMAL:
case TYPE_NORMAL:
case GiftIndicator.TYPE_LUCKY:
case GiftIndicator.TYPE_NOBLE:
case GiftIndicator.TYPE_WEEK:
case TYPE_NOBLE:
case TYPE_WEEK:
String roomUid = null;
if (isInRoom) {
if (AvRoomDataManager.get().getRoomUid() > 0) {

View File

@@ -67,6 +67,16 @@ public class GiftIndicator extends LinearLayout {
*/
public static final int TYPE_SING_ROOM = 6;
/**
* 国家礼物
*/
public static final int TYPE_COUNTRY = 7;
/**
* 超级幸运礼物
*/
public static final int TYPE_SUPER_LUCKY = 8;
private List<GiftTab> tabList = new ArrayList<>();
@Getter

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -228,6 +228,19 @@
tools:contentDescription="@string/layout_fragment_av_room_game_05"
tools:visibility="visible" />
<ImageView
android:id="@+id/iv_config_entrance"
android:layout_width="@dimen/dp_38"
android:layout_height="@dimen/dp_38"
android:layout_above="@id/iv_game"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/dp_11"
android:layout_marginBottom="@dimen/dp_20"
android:onClick="@{click}"
android:src="@drawable/room_ic_game"
android:visibility="gone"
tools:visibility="visible"/>
<ImageView
android:id="@+id/iv_game"
android:layout_width="@dimen/dp_38"
@@ -235,20 +248,23 @@
android:layout_above="@id/iv_queuing_micro"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/dp_11"
android:layout_marginBottom="@dimen/dp_6"
android:layout_marginBottom="@dimen/dp_20"
android:onClick="@{click}"
android:src="@drawable/room_ic_game" />
android:src="@drawable/room_ic_game"
android:visibility="gone"
tools:visibility="visible"/>
<ImageView
android:id="@+id/iv_team_pk"
android:layout_width="@dimen/dp_38"
android:layout_height="@dimen/dp_38"
android:layout_above="@id/iv_game"
android:layout_above="@id/iv_config_entrance"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/dp_11"
android:layout_marginBottom="@dimen/dp_8"
android:src="@drawable/room_team_pk_icon"
android:visibility="gone" />
android:visibility="gone"
tools:visibility="visible"/>
<LinearLayout
android:layout_width="wrap_content"

View File

@@ -171,6 +171,41 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_music" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_130"
android:clipChildren="false"
app:layout_constraintBottom_toTopOf="@+id/bottom_view">
<ImageView
android:id="@+id/iv_config_entrance"
android:layout_width="@dimen/dp_38"
android:layout_height="@dimen/dp_38"
android:layout_above="@id/iv_game"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/dp_11"
android:layout_marginBottom="@dimen/dp_10"
android:onClick="@{click}"
android:src="@drawable/room_ic_collect_no"
android:visibility="visible"
tools:visibility="visible" />
<ImageView
android:id="@+id/iv_game"
android:layout_width="@dimen/dp_38"
android:layout_height="@dimen/dp_38"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="@dimen/dp_11"
android:layout_marginBottom="@dimen/dp_20"
android:alpha="1"
android:onClick="@{click}"
android:src="@drawable/room_ic_game"
android:visibility="visible"
tools:visibility="visible" />
</RelativeLayout>
<com.chwl.app.avroom.widget.BottomView
android:id="@+id/bottom_view"
android:layout_width="0dp"
@@ -211,6 +246,7 @@
android:layout_height="match_parent" />
</LinearLayout>
<RelativeLayout
android:id="@+id/input_layout"
android:layout_width="0dp"
@@ -218,8 +254,10 @@
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
tools:visibility="visible">
<LinearLayout
@@ -254,13 +292,13 @@
android:src="@android:drawable/ic_menu_send" />
<ImageView
android:visibility="gone"
tools:visibility="visible"
android:id="@+id/input_headline_send"
android:layout_width="50dp"
android:layout_height="match_parent"
android:scaleType="fitCenter"
android:src="@drawable/room_ic_headline_send" />
android:src="@drawable/room_ic_headline_send"
android:visibility="gone"
tools:visibility="visible" />
</LinearLayout>
</RelativeLayout>

View File

@@ -11,6 +11,24 @@
android:layout_height="match_parent"
android:layout_gravity="center">
<TextView
android:id="@+id/tv_room_send_msg_input"
android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_28"
android:layout_marginStart="@dimen/dp_15"
android:background="@drawable/shape_190b032d_14dp"
android:gravity="center"
android:maxLines="1"
android:paddingStart="@dimen/dp_3"
android:paddingEnd="@dimen/dp_3"
android:text="@string/room_say_something"
android:textColor="@color/white"
android:visibility="visible"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:visibility="visible" />
<HorizontalScrollView
android:id="@+id/layout_menus"
android:layout_width="0dp"
@@ -21,7 +39,7 @@
app:layout_constraintEnd_toStartOf="@id/icon_room_send_gift"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintStart_toEndOf="@id/tv_room_send_msg_input"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintWidth_default="wrap">
@@ -31,25 +49,6 @@
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_room_send_msg_input"
android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_28"
android:layout_marginStart="@dimen/dp_15"
android:background="@drawable/shape_190b032d_14dp"
android:gravity="center"
android:maxLines="1"
android:paddingStart="@dimen/dp_3"
android:paddingEnd="@dimen/dp_3"
android:text="@string/room_say_something"
android:textColor="@color/white"
android:visibility="visible"
app:autoSizeMaxTextSize="@dimen/dp_10"
app:autoSizeMinTextSize="@dimen/dp_7"
app:autoSizeStepGranularity="1px"
app:autoSizeTextType="uniform"
tools:visibility="visible" />
<LinearLayout
android:id="@+id/room_mic_layout"
android:layout_width="@dimen/dp_29"
@@ -120,12 +119,23 @@
android:src="@drawable/room_menu_ic_more" />
<ImageView
android:id="@+id/icon_room_game"
android:id="@+id/icon_room_baishun_game"
android:layout_width="@dimen/dp_29"
android:layout_height="@dimen/dp_29"
android:layout_marginStart="@dimen/dp_11"
android:scaleType="fitXY"
android:src="@drawable/room_menu_ic_playlist" />
android:src="@drawable/room_menu_ic_baishun_game" />
<ImageView
android:id="@+id/icon_room_PK_game"
android:layout_width="@dimen/dp_29"
android:layout_height="@dimen/dp_29"
android:layout_marginStart="@dimen/dp_11"
android:scaleType="fitXY"
android:src="@drawable/room_menu_ic_playlist"
android:visibility="gone"
tools:visibility="visible"/>
</LinearLayout>
</HorizontalScrollView>

View File

@@ -45,7 +45,7 @@
android:layout_alignBottom="@id/gift_image"
android:layout_marginStart="@dimen/dp_5"
android:src="@drawable/gift_ic_super_luck_logo"
android:visibility="@{item.isSuperLuckyGift ? View.VISIBLE : View.GONE}" />
android:visibility="gone" />
<TextView
android:id="@+id/gift_name"

View File

@@ -11,7 +11,7 @@
android:id="@+id/noble_avatar_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="start|center_vertical"
android:layout_marginStart="5dp" />
<LinearLayout

View File

@@ -6,32 +6,35 @@
android:clickable="true"
android:focusable="true"
android:orientation="vertical"
tools:background="@color/color_white">
tools:background="@color/color_white"
android:gravity="start|center_vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_gravity="start|center_vertical"
android:orientation="horizontal">
<RelativeLayout
android:id="@+id/rl_user_avatar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="11dp">
<com.netease.nim.uikit.common.ui.imageview.HeadImageView
android:id="@+id/img_head"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_centerInParent="true"
android:layout_centerVertical="true"
android:layout_alignParentStart="true"
tools:src="@drawable/default_avatar" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/noble_head_wear"
android:layout_width="65.5dp"
android:layout_height="65.5dp"
android:layout_centerInParent="true"
android:layout_centerVertical="true"
android:layout_alignParentStart="true"
tools:src="@mipmap/ic_user_avatar_level_king" />
</RelativeLayout>

View File

@@ -17,14 +17,16 @@
android:id="@+id/img_head"
android:layout_width="55dp"
android:layout_height="55dp"
android:layout_centerInParent="true"
android:layout_centerVertical="true"
android:layout_alignParentStart="true"
tools:src="@drawable/default_avatar" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/noble_head_wear"
android:layout_width="75dp"
android:layout_height="75dp"
android:layout_centerInParent="true"
android:layout_centerVertical="true"
android:layout_alignParentStart="true"
tools:src="@mipmap/ic_user_avatar_level_king" />
<FrameLayout

View File

@@ -8,14 +8,16 @@
android:id="@+id/iv_avatar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_alignParentStart="true"
tools:src="@drawable/default_avatar" />
<ImageView
android:id="@+id/iv_avatar_head_wear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_alignParentStart="true"
android:visibility="visible"
/>

View File

@@ -967,7 +967,7 @@
<string name="me_gain_recording">Wallet</string>
<string name="me_clean_diamond">Give Coins</string>
<string name="me_give_gift">Send Gifts</string>
<string name="me_donation">My Donations</string>
<string name="me_donation">Coins Gifting</string>
<string name="donation_to">Donate to</string>
<string name="me_donation_detail">Donation Details</string>
@@ -2709,18 +2709,18 @@
<string name="widget_dynamicface_dynamicfacedialog_04">Required VIP level:</string>
<string name="widget_dynamicface_dynamicfacedialog_05">Noble expression panel click event</string>
<string name="ui_widget_giftavataradapter_01">Room Owner</string>
<string name="ui_widget_giftdialog_01">Gift</string>
<string name="ui_widget_giftdialog_02">Gift</string>
<string name="ui_widget_giftdialog_01">Popular</string>
<string name="ui_widget_giftdialog_02">Popular</string>
<string name="ui_widget_giftdialog_03">Luck</string>
<string name="ui_widget_giftdialog_04">Luck</string>
<string name="ui_widget_giftdialog_05">VIP</string>
<string name="ui_widget_giftdialog_06">VIP</string>
<string name="ui_widget_giftdialog_07">Weekly Star</string>
<string name="ui_widget_giftdialog_08">Weekly Star</string>
<string name="ui_widget_giftdialog_07">WeekStar</string>
<string name="ui_widget_giftdialog_08">WeekStar</string>
<string name="ui_widget_giftdialog_09">Doodle</string>
<string name="ui_widget_giftdialog_010">Doodle</string>
<string name="ui_widget_giftdialog_011">Backpack</string>
<string name="ui_widget_giftdialog_hot">Hot</string>
<string name="ui_widget_giftdialog_hot">FM</string>
<string name="ui_widget_giftdialog_012">Backpack</string>
<string name="ui_widget_giftdialog_013">Awaiting</string>
<string name="ui_widget_giftdialog_014">Awaiting</string>
@@ -4839,7 +4839,7 @@
<string name="association_list">Guild Weekly Ranking</string>
<string name="association_list_empty">No guild ranking yet</string>
<string name="association_hall_list_empty">No room ranking yet</string>
<string name="me_give_gold_empty">No donation records yet</string>
<string name="me_give_gold_empty">No gifting records yet</string>
<string name="password_input_user_id">Please enter User ID</string>
<string name="displayed_three_month">Only display records of the last three months</string>
<string name="setting_pay_pwd_first">Please set up payment password first</string>
@@ -4849,7 +4849,7 @@
<string name="give_gold_to_user">Give to %s</string>
<string name="have_copy">Copied</string>
<string name="copy">Copy</string>
<string name="donation_record">Donation Records</string>
<string name="donation_record">Gifting Records</string>
<string name="me_num">Quantity</string>
<string name="me_all">All</string>
<string name="please_select_gift">Please select a gift first</string>

View File

@@ -12,8 +12,8 @@
<string name="dy_open_other_number">Expand %s replies</string>
<string name="dy_comment_text">Comment</string>
<string name="dys_tab_recommend">Recommend</string>
<string name="dys_tab_attent">Follow</string>
<string name="dys_tab_new">Newest</string>
<string name="dys_tab_attent">Following</string>
<string name="dys_tab_new">Latest</string>
<string name="dys_find_tab_square">Square</string>
<string name="dys_jump_mini_world">Go to see</string>
</resources>

View File

@@ -137,6 +137,9 @@ dir mapping:
bdfaa.beeefc -> fi
ffefcef.ddbccaec.view -> fj
ddae.cfdb.view -> fk
cfdd.baac.ui.feedback -> fl
cfdd.baac.ui.debug -> fm
cfdd.baac.ui.game_team.record -> fn
class mapping:
fbdb.abea.ShowBindPhoneActivity -> a.A
@@ -1132,3 +1135,22 @@ class mapping:
ddae.cfdb.view.WorldsChooseFrg -> fk.BME
ddae.cfdb.view.WorldChooseAdapter -> fk.BMF
ddae.cfdb.view.IPublishView -> fk.BMG
eacad.fcafd.SVGAView -> e.BMH
cfdd.baac.ui.feedback.FeedbackActivity -> fl.BMI
cfdd.baac.ui.debug.DebugActivity -> fm.BMJ
cfdd.baac.ui.game_team.record.GameTeamRecordActivity -> fn.BMK
aedbb.fbfebd.BaseDialogFragment -> b.BML
cabdb.accfda.AutoMirroredShapeableImageView -> p.BMM
accd.bbdff.FeedbackConfigBean -> u.BMN
accd.bbdff.FeedbackTypeBean -> u.BMO
fdeaee.fddfeca.PathHelper -> br.BMP
bcead.dfdbfb.AvatarHelper -> cj.BMQ
cfdd.baac.ui.feedback.FeedbackViewModel -> fl.BMR
cfdd.baac.ui.feedback.CustomerServiceDialog -> fl.BMS
cfdd.baac.ui.feedback.FeedbackTypeAdapter -> fl.BMT
cfdd.baac.ui.feedback.CustomerServiceItemAdapter -> fl.BMU
cfdd.baac.ui.debug.DebugAdapter -> fm.BMV
cfdd.baac.ui.game_team.record.GameTeamRecordIndicatorAdapter -> fn.BMW
cfdd.baac.ui.game_team.record.GameTeamRecordFragment -> fn.BMX
cfdd.baac.ui.game_team.record.GameTeamRecordAdapter -> fn.BMY
cfdd.baac.ui.game_team.record.GameTeamRecordViewModel -> fn.BMZ

View File

@@ -3,6 +3,7 @@ package com.chwl.core.gift;
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_ALL_MIC_LUCKY_GIFT;
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_LUCKY_GIFT;
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_TYPE_SEND_MULTI_LUCK_GIFT;
import static com.chwl.core.utils.extension.StringExtensionKt.toast;
import android.os.CountDownTimer;
import android.os.Handler;
@@ -11,6 +12,9 @@ import android.util.Log;
import androidx.annotation.Nullable;
import com.chwl.core.gift.bean.GiftPanelInfo;
import com.chwl.core.gift.bean.TagsInfo;
import com.chwl.core.home.bean.TabInfo;
import com.chwl.core.pay.event.UpdateWalletInfoEvent;
import com.netease.nim.uikit.common.util.log.LogUtil;
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage;
@@ -29,7 +33,6 @@ import com.chwl.core.gift.bean.GiftType;
import com.chwl.core.gift.bean.LuckyBagGifts;
import com.chwl.core.gift.bean.LuckyBagNoticeInfo;
import com.chwl.core.gift.bean.MultiGiftReceiveInfo;
import com.chwl.core.gift.bean.SimpleVipInfo;
import com.chwl.core.gift.event.RoomFreeGiftEvent;
import com.chwl.core.gift.event.UpdateKnapEvent;
import com.chwl.core.gift.event.UpdateKnapFreeGiftEvent;
@@ -49,14 +52,11 @@ import com.chwl.core.pay.PayModel;
import com.chwl.core.room.bean.RoomInfo;
import com.chwl.core.room.giftvalue.bean.GiftValueCommonUpdate;
import com.chwl.core.room.giftvalue.helper.GiftValueMrg;
import com.chwl.core.user.UserModel;
import com.chwl.core.user.bean.UserInfo;
import com.chwl.core.utils.CoreLogger;
import com.chwl.core.utils.net.BalanceNotEnoughExeption;
import com.chwl.core.utils.net.RadishNotEnoughException;
import com.chwl.core.utils.net.RxHelper;
import com.chwl.core.utils.net.VipLevelNotEnoughException;
import com.chwl.core.vip.bean.UserVipInfo;
import com.chwl.library.common.util.SPUtils;
import com.chwl.library.net.rxnet.RxNet;
import com.chwl.library.utils.ListUtils;
@@ -71,7 +71,6 @@ import java.util.List;
import io.reactivex.Single;
import io.reactivex.SingleSource;
import io.reactivex.functions.Consumer;
import io.reactivex.functions.Function;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
@@ -90,7 +89,9 @@ public class GiftModel extends BaseModel implements IGiftModel {
private volatile static IGiftModel model;
private Api api;
private UiHandler handler;
private GiftPanelInfo giftPanelInfo;
private GiftListInfo allGiftListInfo;
public List<TagsInfo> tabList;
private List<GiftInfo> knapList;
private List<CustomAttachment> giftQueue;
private GiftFreeInfo giftFreeInfo;
@@ -115,7 +116,8 @@ public class GiftModel extends BaseModel implements IGiftModel {
@Override
public void tryLoadGiftList() {
if (AuthModel.get().isLogin()) {
loadGiftInfoList(null).subscribe();
loadTagsAndGiftInfoList(null).subscribe();
// loadGiftInfoList(null).subscribe();
}
}
@@ -133,8 +135,9 @@ public class GiftModel extends BaseModel implements IGiftModel {
* @return
*/
@Override
public Single<ServiceResult<GiftListInfo>> refreshGiftList(String roomUid) {
return loadGiftInfoList(roomUid);
public Single<ServiceResult<GiftPanelInfo>> refreshGiftList(String roomUid) {
// return loadGiftInfoList(roomUid);
return loadTagsAndGiftInfoList(roomUid);
}
/**
@@ -143,8 +146,8 @@ public class GiftModel extends BaseModel implements IGiftModel {
* @param roomUid 房间 UID
* @return
*/
private Single<ServiceResult<GiftListInfo>> requestGiftInfos(String roomUid) {
return loadGiftInfoList(roomUid);
private Single<ServiceResult<GiftPanelInfo>> requestTagsAndGiftInfos(String roomUid) {
return loadTagsAndGiftInfoList(roomUid);
}
/**
@@ -153,14 +156,37 @@ public class GiftModel extends BaseModel implements IGiftModel {
* @param roomUid
* @return
*/
// @Override
// public Single<ServiceResult<GiftPanelInfo>> loadGiftInfoList(String roomUid) {
// return api.requestGiftInfos(roomUid)
// .compose(new Transformer<>())
// .doOnSuccess(response -> {
// if (response.isSuccess()) {
// giftPanelInfo = response.getData();
// }
// })
// .doOnError(throwable -> toast(throwable.getMessage()));
// }
/**
* 加载面板 tags 和普通礼物,不带上房间专属的礼物
*
* @param roomUid
* @return
*/
@Override
public Single<ServiceResult<GiftListInfo>> loadGiftInfoList(String roomUid) {
return api.requestGiftInfos(roomUid)
public Single<ServiceResult<GiftPanelInfo>> loadTagsAndGiftInfoList(String roomUid) {
return api.requestAllTagsAndGiftInfos(roomUid)
.compose(new Transformer<>())
.doOnSuccess(response -> {
if (response.isSuccess()) {
allGiftListInfo = response.getData();
giftPanelInfo = response.getData();
tabList = giftPanelInfo.tabList;
allGiftListInfo = giftPanelInfo.giftTabMap;
}
})
.doOnError(throwable -> {
toast(throwable.getMessage());
});
}
@@ -188,6 +214,11 @@ public class GiftModel extends BaseModel implements IGiftModel {
return new ArrayList<>();
}
@Override
public List<TagsInfo> getTabList() {
return tabList;
}
@Override
public List<GiftInfo> getGiftInfoList(int giftType) {
return getGiftInfosByType(null, giftType);
@@ -196,7 +227,7 @@ public class GiftModel extends BaseModel implements IGiftModel {
@Override
public List<GiftInfo> getGiftInfosByType(String roomUid, int giftType) {
if (allGiftListInfo == null) {
requestGiftInfos(roomUid).subscribe();
requestTagsAndGiftInfos(roomUid).subscribe();
return new ArrayList<>();
}
List<GiftInfo> giftInfos = null;
@@ -205,7 +236,10 @@ public class GiftModel extends BaseModel implements IGiftModel {
giftInfos = allGiftListInfo.getNormalGift();
break;
case GiftType.GIFT_TYPE_LUCKY:
giftInfos = allGiftListInfo.getLuckyGift();
giftInfos = allGiftListInfo.getLuckyBagGift();
break;
case GiftType.GIFT_TYPE_SUPER_LUCKY:
giftInfos = allGiftListInfo.getSuperLuckyGift();
break;
case GiftType.GIFT_TYPE_VIP:
giftInfos = allGiftListInfo.getVipGift();
@@ -219,6 +253,9 @@ public class GiftModel extends BaseModel implements IGiftModel {
case GiftType.GIFT_TYPE_SINGLE_ROOM:
giftInfos = allGiftListInfo.getSinglePopularGift();
break;
case GiftType.GIFT_TYPE_COUNTRY:
giftInfos = allGiftListInfo.getCountryGift();
break;
}
return giftInfos == null ? new ArrayList<>() : giftInfos;
}
@@ -450,7 +487,7 @@ public class GiftModel extends BaseModel implements IGiftModel {
IMNetEaseManager.get().getChatRoomEventObservable().onNext(new RoomEvent()
.setEvent(RoomEvent.GIFT_OUT_OF_DATE)
.setMessage(serviceResult.getMessage()));
requestGiftInfos(finalRoomUid).subscribe();
requestTagsAndGiftInfos(finalRoomUid).subscribe();
return Single.error(new GiftOutOfDateException(serviceResult.getMessage()));
} else if (serviceResult.getMessage() != null) {
SingleToastUtil.showToast(serviceResult.getMessage());
@@ -547,7 +584,7 @@ public class GiftModel extends BaseModel implements IGiftModel {
giftInfo = findGiftInfoById(allGiftListInfo.getVipGift(), giftId);
}
if (giftInfo == null) {
giftInfo = findGiftInfoById(allGiftListInfo.getLuckyGift(), giftId);
giftInfo = findGiftInfoById(allGiftListInfo.getLuckyBagGift(), giftId);
}
if (giftInfo == null) {
giftInfo = findGiftInfoById(allGiftListInfo.getLuckyPoolGift(), giftId);
@@ -561,6 +598,12 @@ public class GiftModel extends BaseModel implements IGiftModel {
if (giftInfo == null) {
giftInfo = findGiftInfoById(allGiftListInfo.getSinglePopularGift(), giftId);
}
if (giftInfo == null) {
giftInfo = findGiftInfoById(allGiftListInfo.getSuperLuckyGift(), giftId);
}
if (giftInfo == null) {
giftInfo = findGiftInfoById(allGiftListInfo.getCountryGift(), giftId);
}
}
return giftInfo;
}
@@ -697,8 +740,16 @@ public class GiftModel extends BaseModel implements IGiftModel {
*
* @return -
*/
@GET("/gift/listV5")
Single<ServiceResult<GiftListInfo>> requestGiftInfos(@Query("roomUid") String roomUid);
@GET("/gift/getPanel")
Single<ServiceResult<GiftPanelInfo>> requestGiftInfos(@Query("roomUid") String roomUid);
/**
* 获取面板标签和礼物列表
*
* @return -
*/
@GET("/gift/getPanel")
Single<ServiceResult<GiftPanelInfo>> requestAllTagsAndGiftInfos(@Query("roomUid") String roomUid);
/**
* 获取砸金蛋中奖背包里面的东西列表

View File

@@ -30,5 +30,7 @@ public interface IGiftCore extends IBaseCore {
void requestGiftInfos();
void requestAllTagsAndGiftInfos();
void onReceiveChatRoomMessages(List<ChatRoomMessage> chatRoomMessageList);
}

View File

@@ -2,6 +2,9 @@ package com.chwl.core.gift;
import androidx.annotation.Nullable;
import com.chwl.core.gift.bean.GiftPanelInfo;
import com.chwl.core.gift.bean.TagsInfo;
import com.chwl.core.home.bean.TabInfo;
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage;
import com.chwl.core.bean.response.ServiceResult;
import com.chwl.core.gift.bean.GiftFreeInfo;
@@ -24,7 +27,14 @@ public interface IGiftModel {
* @param roomUid
* @return
*/
Single<ServiceResult<GiftListInfo>> loadGiftInfoList(String roomUid);
// Single<ServiceResult<GiftPanelInfo>> loadGiftInfoList(String roomUid);
/**
* 加载面板 tags 和普通礼物,不带上房间专属的礼物
*
* @param roomUid
* @return
*/
Single<ServiceResult<GiftPanelInfo>> loadTagsAndGiftInfoList(String roomUid);
/**
* 进入房间后,刷新礼物列表, 保留原来的不带有房间专属礼物的列表
@@ -32,7 +42,7 @@ public interface IGiftModel {
* @param roomUid
* @return
*/
Single<ServiceResult<GiftListInfo>> refreshGiftList(String roomUid);
Single<ServiceResult<GiftPanelInfo>> refreshGiftList(String roomUid);
/**
* 加载背包礼物
@@ -48,6 +58,8 @@ public interface IGiftModel {
*/
List<GiftInfo> getKnapList();
List<TagsInfo> getTabList();
/**
* 从内存里取出背包礼物列表
*

View File

@@ -11,7 +11,10 @@ import lombok.Data;
*/
@Data
public class GiftListInfo implements Serializable {
private List<GiftInfo> luckyGift;
// private List<GiftInfo> luckyGift; // 拆分为 lucky bag 和 super luck
private List<GiftInfo> luckyBagGift;
private List<GiftInfo> countryGift;
private List<GiftInfo> superLuckyGift;
private List<GiftInfo> vipGift;
private List<GiftInfo> normalGift;
private List<GiftInfo> luckyPoolGift;
@@ -19,5 +22,4 @@ public class GiftListInfo implements Serializable {
private List<GiftInfo> drawGift;
private List<GiftInfo> singlePopularGift;
private String giftVersion;
}

View File

@@ -0,0 +1,12 @@
package com.chwl.core.gift.bean;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
public class GiftPanelInfo implements Serializable {
public List<TagsInfo> tabList;
public GiftListInfo giftTabMap;
// public Map<String, GiftListInfo> giftTabMap;
}

View File

@@ -26,7 +26,7 @@ public class GiftType {
public static final int CARDS = 4;
/**
* 礼物类型 -- 福袋
* 礼物类型 -- VIP
*/
public static final int GIFT_TYPE_VIP = 7;
@@ -45,4 +45,6 @@ public class GiftType {
* 超级幸运礼物
*/
public static final int GIFT_TYPE_SUPER_LUCKY = 16;
public static final int GIFT_TYPE_COUNTRY = 17;
}

View File

@@ -0,0 +1,39 @@
package com.chwl.core.gift.bean;
import com.chwl.core.bean.I18N;
import java.io.Serializable;
public class TagsInfo implements Serializable {
private I18N nameMap;
public String tagName() {
return I18N.getFirstOrDefault(nameMap, "");
}
// 排序
private int seq;
// 对应的礼物分类
private String key;
private GiftType giftType;
public int tagGiftType() {
if ("normalGift".equals(key)) {
return GiftType.GIFT_TYPE_NORMAL;
} else if ("luckyBagGift".equals(key)) {
return GiftType.GIFT_TYPE_LUCKY;
} else if ("superLuckyGift".equals(key)) {
return GiftType.GIFT_TYPE_SUPER_LUCKY;
} else if ("vipGift".equals(key)) {
return GiftType.GIFT_TYPE_VIP;
} else if ("weekStarGift".equals(key)) {
return GiftType.GIFT_TYPE_WEEK_STAR;
} else if ("countryGift".equals(key)) {
return GiftType.GIFT_TYPE_COUNTRY;
} else if ("singlePopularGift".equals(key)) {
return GiftType.GIFT_TYPE_SINGLE_ROOM;
}
return 0;
}
}

View File

@@ -224,6 +224,11 @@ public class RouterType {
*/
public static final int GAME_TEAM_RECORD = 78;
/**
* 79-我的装扮
*/
public static final int MY_DRESS_ITEM = 79;
/**
* 收益记录目前只是本地用到所以用了100000

View File

@@ -11,6 +11,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.lifecycle.MutableLiveData;
import com.chwl.core.room.bean.RightBottomIconConfig;
import com.chwl.core.support.room.AudioRoomContext;
import com.netease.nimlib.sdk.NIMChatRoomSDK;
import com.netease.nimlib.sdk.RequestCallback;
@@ -236,6 +237,8 @@ public final class AvRoomDataManager {
private List<Integer> unlockedRoomAlbumPhotos = new ArrayList<>();
public RightBottomIconConfig rightBottomIconConfig;
private AvRoomDataManager() {
mRoomManagerList = new ArrayList<>();
mRoomFixedMemberList = new ArrayList<>();
@@ -299,6 +302,7 @@ public final class AvRoomDataManager {
redEnvelopeType = roomInfo.getRedEnvelopeType();
hasRoomAlbum = roomInfo.isHasRoomAlbum();
serialValue = roomInfo.getSerialValue();
rightBottomIconConfig = roomInfo.rightBottomIconConfig;
}
/**

View File

@@ -0,0 +1,102 @@
package com.chwl.core.room.bean;
import android.os.Parcel;
import android.os.Parcelable;
import java.io.Serializable;
public class RightBottomIconConfig implements Parcelable, Serializable {
int skipType;
private String skipUrl;
private String icon2Url;
private String icon1Url;
private String reserve;
protected RightBottomIconConfig(Parcel in) {
skipType = in.readInt();
skipUrl = in.readString();
icon2Url = in.readString();
icon1Url = in.readString();
reserve = in.readString();
}
@Override
public String toString() {
return "RightBottomIconConfig{" +
"skipType=" + skipType +
", skipUrl='" + skipUrl + '\'' +
", icon2Url='" + icon2Url + '\'' +
", icon1Url='" + icon1Url + '\'' +
", reserve='" + reserve + '\'' +
'}';
}
public void setIcon1Url(String icon1Url) {
this.icon1Url = icon1Url;
}
public void setIcon2Url(String icon2Url) {
this.icon2Url = icon2Url;
}
public void setReserve(String reserve) {
this.reserve = reserve;
}
public void setSkipType(int skipType) {
this.skipType = skipType;
}
public void setSkipUrl(String skipUrl) {
this.skipUrl = skipUrl;
}
public int getSkipType() {
return skipType;
}
public String getIcon1Url() {
return icon1Url;
}
public String getIcon2Url() {
return icon2Url;
}
public String getReserve() {
return reserve;
}
public String getSkipUrl() {
return skipUrl;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(skipType);
dest.writeString(skipUrl);
dest.writeString(icon2Url);
dest.writeString(icon1Url);
dest.writeString(reserve);
}
@Override
public int describeContents() {
return 0;
}
public static final Creator<RightBottomIconConfig> CREATOR = new Creator<RightBottomIconConfig>() {
@Override
public RightBottomIconConfig createFromParcel(Parcel in) {
return new RightBottomIconConfig(in);
}
@Override
public RightBottomIconConfig[] newArray(int size) {
return new RightBottomIconConfig[size];
}
};
}

View File

@@ -160,6 +160,8 @@ public class RoomInfo implements Parcelable,Serializable {
// 总流水
private double serialValue;
public RightBottomIconConfig rightBottomIconConfig;
protected RoomInfo(Parcel in) {
uid = in.readLong();
officeUser = in.readInt();
@@ -192,6 +194,7 @@ public class RoomInfo implements Parcelable,Serializable {
isOpenKTV = in.readByte() != 0;
isOpenGame = in.readByte() != 0;
boxSwitchVo = in.readParcelable(BoxSwitchVo.class.getClassLoader());
rightBottomIconConfig = in.readParcelable(RightBottomIconConfig.class.getClassLoader());
findLoveDrawSwitchVo = in.readParcelable(FindLoveSwitchVo.class.getClassLoader());
singingMusicName = in.readString();
limitType = in.readString();
@@ -258,6 +261,7 @@ public class RoomInfo implements Parcelable,Serializable {
dest.writeByte((byte) (isOpenKTV ? 1 : 0));
dest.writeByte((byte) (isOpenGame ? 1 : 0));
dest.writeParcelable(boxSwitchVo, flags);
dest.writeParcelable(rightBottomIconConfig, flags);
dest.writeParcelable(findLoveDrawSwitchVo, flags);
dest.writeString(singingMusicName);
dest.writeString(limitType);

View File

@@ -48,6 +48,7 @@ import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.io.IOException;
import java.util.List;
import java.util.Objects;
import java.util.regex.Pattern;
@@ -307,6 +308,9 @@ public final class UserModel extends BaseModel implements IUserModel {
if (null == userDetailInfo) {
return Single.error(new Exception(ResUtil.getString(R.string.xchat_android_core_user_usermodel_06)));
}
if (userDetailInfo.getCode() != 200) {
return Single.error(new Exception(userDetailInfo.getMessage()));
}
return Single.just(userDetailInfo);
});
}

View File

@@ -32,8 +32,8 @@ COMPILE_SDK_VERSION=34
MIN_SDK_VERSION=21
TARGET_SDK_VERSION=34
version_name=1.0.11
version_code=14
version_name=1.0.14
version_code=19
#systemProp.https.proxyHost=127.0.0.1
#systemProp.https.proxyPort=7890