From 046c7d66cdeb3170f75e00948658233ecb442c25 Mon Sep 17 00:00:00 2001 From: max Date: Thu, 27 Jun 2024 16:06:17 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E8=B0=83=E6=95=B4=E6=88=BF=E9=97=B4?= =?UTF-8?q?=E5=BA=95=E9=83=A8=E5=8A=A0=E5=8F=B7-=E7=BA=A2=E7=82=B9?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E9=80=BB=E8=BE=91=EF=BC=9A=E5=8D=95=E7=8B=AC?= =?UTF-8?q?=E5=A4=84=E7=90=86=E6=88=BF=E9=97=B4=E7=B1=BB=E5=9E=8B=E7=9A=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E6=8F=90=E7=A4=BA=20fix=EF=BC=9A=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E6=B8=B8=E6=88=8F=E6=88=BF=E6=9C=AA=E8=83=BD=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E4=B9=8B=E5=89=8D=E6=88=BF=E9=97=B4=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../avroom/activity/RoomTypeSwitchActivity.kt | 18 ++++++++++ .../avroom/dialog/RoomOperationDialog.java | 17 +--------- .../app/avroom/fragment/GameRoomFragment.kt | 6 +++- .../chwl/app/avroom/widget/BottomView.java | 34 +++++++++++++++++-- .../com/chwl/core/room/bean/RoomInfo.java | 3 ++ 5 files changed, 59 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/chwl/app/avroom/activity/RoomTypeSwitchActivity.kt b/app/src/main/java/com/chwl/app/avroom/activity/RoomTypeSwitchActivity.kt index 287892e32..244fa6c09 100644 --- a/app/src/main/java/com/chwl/app/avroom/activity/RoomTypeSwitchActivity.kt +++ b/app/src/main/java/com/chwl/app/avroom/activity/RoomTypeSwitchActivity.kt @@ -11,6 +11,7 @@ import com.chwl.app.databinding.RoomTypeSwitchActivityBinding import com.chwl.app.home.helper.OpenRoomHelper import com.chwl.core.manager.AvRoomDataManager import com.chwl.core.room.bean.RoomInfo +import com.chwl.core.super_admin.util.SuperAdminUtil import com.chwl.library.utils.ResUtil import com.chwl.library.utils.SingleToastUtil import com.example.lib_utils.ktx.singleClick @@ -23,6 +24,23 @@ class RoomTypeSwitchActivity : BaseViewBindingActivity RoomTypeSwitchActivity.Companion.start(getContext()))); } diff --git a/app/src/main/java/com/chwl/app/avroom/fragment/GameRoomFragment.kt b/app/src/main/java/com/chwl/app/avroom/fragment/GameRoomFragment.kt index 5a8c8bbd7..4e2ee4d7f 100644 --- a/app/src/main/java/com/chwl/app/avroom/fragment/GameRoomFragment.kt +++ b/app/src/main/java/com/chwl/app/avroom/fragment/GameRoomFragment.kt @@ -116,10 +116,14 @@ class GameRoomFragment : BaseRoomFragment(), dialogManager.showOkCancelDialog( getString(R.string.room_switch_standard_room_tips) ) { + var type = AvRoomDataManager.get().mCurrentRoomInfo?.oldType + if (type == null || type <= 0) { + type = RoomInfo.ROOMTYPE_HOME_PARTY + } OpenRoomHelper.updateRoomInfo( baseActivity, AvRoomDataManager.get().mCurrentRoomInfo, - RoomInfo.ROOMTYPE_HOME_PARTY, + type, 0, false ) diff --git a/app/src/main/java/com/chwl/app/avroom/widget/BottomView.java b/app/src/main/java/com/chwl/app/avroom/widget/BottomView.java index fc8cad131..77f79a7b8 100644 --- a/app/src/main/java/com/chwl/app/avroom/widget/BottomView.java +++ b/app/src/main/java/com/chwl/app/avroom/widget/BottomView.java @@ -20,6 +20,7 @@ import android.widget.TextView; 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; @@ -57,8 +58,9 @@ public class BottomView extends LinearLayout implements View.OnClickListener { /** * 有新功能,加1 */ - private static final int NEW_OPTION = 2; + private static final int NEW_OPTION = 1; private static final String SH_NEW_OPTION = "sh_new_option"; + private static final String NEW_OPTION_ROOM_TYPE = "new_option_room_type"; private BottomViewListenerWrapper wrapper; private ImageView openMic; @@ -156,6 +158,9 @@ public class BottomView extends LinearLayout implements View.OnClickListener { if (newOption == NEW_OPTION) { sendMagic.setImageResource(R.drawable.room_menu_ic_more); + if (isRemindOptionForRoomType()) { + sendMagic.setImageResource(R.drawable.room_menu_ic_more_new); + } } else { sendMagic.setImageResource(R.drawable.room_menu_ic_more_new); } @@ -168,6 +173,29 @@ public class BottomView extends LinearLayout implements View.OnClickListener { } } + private boolean isRemindOptionForRoomType() { + boolean isReminded = (boolean) SharedPreferenceUtils.get(NEW_OPTION_ROOM_TYPE, false); + if (isReminded) { + return false; + } + if (RoomTypeSwitchActivity.Companion.isCanSwitch()) { + return true; + } + return false; + } + + private boolean updateOptionForRoomType() { + boolean isReminded = (boolean) SharedPreferenceUtils.get(NEW_OPTION_ROOM_TYPE, false); + if (isReminded) { + return false; + } + if (RoomTypeSwitchActivity.Companion.isCanSwitch()) { + SharedPreferenceUtils.put(NEW_OPTION_ROOM_TYPE, true); + return true; + } + return false; + } + @Subscribe(threadMode = ThreadMode.MAIN) public void onReceiveRecentContactChanged(List imMessages) { setRoomMessageUnread(IMMessageManager.get().queryUnreadMsg()); @@ -295,12 +323,14 @@ public class BottomView extends LinearLayout implements View.OnClickListener { } break; case R.id.icon_room_send_magic: - int newOption = (int) SharedPreferenceUtils.get(SH_NEW_OPTION, 0); if (newOption != NEW_OPTION) { SharedPreferenceUtils.put(SH_NEW_OPTION, NEW_OPTION); setMagicBtnEnable(true); } + if (updateOptionForRoomType()) { + setMagicBtnEnable(true); + } if (wrapper != null) { wrapper.onMoreBtnClick(); diff --git a/core/src/main/java/com/chwl/core/room/bean/RoomInfo.java b/core/src/main/java/com/chwl/core/room/bean/RoomInfo.java index 6edd19cb2..12db9a384 100644 --- a/core/src/main/java/com/chwl/core/room/bean/RoomInfo.java +++ b/core/src/main/java/com/chwl/core/room/bean/RoomInfo.java @@ -49,6 +49,7 @@ public class RoomInfo implements Parcelable,Serializable { //头像 private String avatar; private int type; + private int oldType; /** 房间主题 */ private String roomDesc; @@ -221,6 +222,7 @@ public class RoomInfo implements Parcelable,Serializable { mgMicNum = in.readInt(); clearScreenTime = in.readLong(); serialValue = in.readDouble(); + oldType = in.readInt(); } @Override @@ -286,6 +288,7 @@ public class RoomInfo implements Parcelable,Serializable { dest.writeInt(mgMicNum); dest.writeLong(clearScreenTime); dest.writeDouble(serialValue); + dest.writeInt(oldType); } @Override