diff --git a/app/src/main/java/com/yizhuan/erban/avroom/adapter/GameMicroViewAdapter.kt b/app/src/main/java/com/yizhuan/erban/avroom/adapter/GameMicroViewAdapter.kt index eb48d43f1..e98f5676e 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/adapter/GameMicroViewAdapter.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/adapter/GameMicroViewAdapter.kt @@ -92,7 +92,7 @@ class GameMicroViewAdapter(context: Context?) : BaseMicroViewAdapter(context) { } override fun getItemCount(): Int { - return max(AvRoomDataManager.get().mCurrentRoomInfo?.mgMicNum ?: 6, 6) + return AvRoomDataManager.get().mgMicNum } } \ No newline at end of file diff --git a/app/src/main/java/com/yizhuan/erban/avroom/adapter/GameMiniMicroViewAdapter.kt b/app/src/main/java/com/yizhuan/erban/avroom/adapter/GameMiniMicroViewAdapter.kt index 0232814ea..80e05808c 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/adapter/GameMiniMicroViewAdapter.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/adapter/GameMiniMicroViewAdapter.kt @@ -63,7 +63,7 @@ class GameMiniMicroViewAdapter(context: Context?) : BaseMicroViewAdapter(context } override fun getItemCount(): Int { - return max(AvRoomDataManager.get().mCurrentRoomInfo?.mgMicNum ?: 6, 6) + return AvRoomDataManager.get().mgMicNum } diff --git a/app/src/main/java/com/yizhuan/erban/avroom/fragment/GameRoomFragment.kt b/app/src/main/java/com/yizhuan/erban/avroom/fragment/GameRoomFragment.kt index 9ac5f8705..112c7bc5a 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/fragment/GameRoomFragment.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/fragment/GameRoomFragment.kt @@ -143,8 +143,8 @@ class GameRoomFragment : BaseRoomFragment(), } } - fun isSixMic(): Boolean { - return AvRoomDataManager.get().mCurrentRoomInfo?.mgMicNum == 6 + private fun isSixMic(): Boolean { + return AvRoomDataManager.get().mgMicNum == AvRoomDataManager.GAME_DEF_MIC_COUNT } override fun onSendMsgSuccess(msg: String?) { diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/manager/AvRoomDataManager.java b/core/src/main/java/com/yizhuan/xchat_android_core/manager/AvRoomDataManager.java index 9a0e42542..685420d5c 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/manager/AvRoomDataManager.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/manager/AvRoomDataManager.java @@ -73,6 +73,12 @@ public final class AvRoomDataManager { * VIP麦位的位置 */ public static final int POSITION_VIP_MIC = 999; + + /** + * 游戏房最小坑位数 + */ + public static final int GAME_DEF_MIC_COUNT = 6; + /************************************************公屏数据****************************************************/ private final static int MAX_MESSAGE_SIZE = 2000;//公屏最多展示条数 @@ -660,8 +666,8 @@ public final class AvRoomDataManager { * 获取坑上没人且没上锁且最大6个坑位的位置 */ public int findGamePosition() { - if (mMicQueueMemberMap != null && mMicQueueMemberMap.size() >= 6) { - for (int i = 0; i < 6; i++) { + if (mMicQueueMemberMap != null && mMicQueueMemberMap.size() >= getMgMicNum()) { + for (int i = 0; i < getMgMicNum(); i++) { int key = mMicQueueMemberMap.keyAt(i); RoomQueueInfo roomQueueInfo = mMicQueueMemberMap.valueAt(i); if (roomQueueInfo.mChatRoomMember == null && @@ -678,8 +684,8 @@ public final class AvRoomDataManager { */ public boolean isGamePlaying() { if (!isOpenGame()) return false; - if (mMicQueueMemberMap != null && mMicQueueMemberMap.size() >= 6) { - for (int i = 0; i < 6; i++) { + if (mMicQueueMemberMap != null && mMicQueueMemberMap.size() >= getMgMicNum()) { + for (int i = 0; i < getMgMicNum(); i++) { RoomQueueInfo roomQueueInfo = mMicQueueMemberMap.valueAt(i); if (roomQueueInfo.mChatRoomMember != null && roomQueueInfo.mChatRoomMember.getGameStatus() == GameStatus.STATUS_PLAYING) { @@ -710,7 +716,7 @@ public final class AvRoomDataManager { */ public boolean isGamePlaying(int micPosition) { if (!isOpenGame()) return false; - if (mMicQueueMemberMap != null && mMicQueueMemberMap.size() >= 6) { + if (mMicQueueMemberMap != null && mMicQueueMemberMap.size() >= getMgMicNum()) { RoomQueueInfo roomQueueInfo = mMicQueueMemberMap.get(micPosition); return roomQueueInfo != null && roomQueueInfo.mChatRoomMember != null && @@ -719,6 +725,14 @@ public final class AvRoomDataManager { return false; } + /** + * @return 游戏坑位, 最少6个, 低于6个不支持 + */ + public int getMgMicNum() { + return AvRoomDataManager.get().mCurrentRoomInfo == null ? GAME_DEF_MIC_COUNT : + Math.max(AvRoomDataManager.get().mCurrentRoomInfo.getMgMicNum(), GAME_DEF_MIC_COUNT); + } + /** * 获取坑上没人的位置,排除房主的位置,也就是-1 */