fix:修复切换到个播房未主动上麦问题
This commit is contained in:
@@ -9,24 +9,7 @@ import androidx.core.view.isVisible
|
|||||||
import androidx.core.view.updateLayoutParams
|
import androidx.core.view.updateLayoutParams
|
||||||
import androidx.databinding.DataBindingUtil
|
import androidx.databinding.DataBindingUtil
|
||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
import com.nnbc123.core.UriProvider
|
import com.netease.nim.uikit.common.util.sys.ScreenUtil
|
||||||
import com.nnbc123.core.auth.AuthModel
|
|
||||||
import com.nnbc123.core.fansteam.FansTeamInitInfo
|
|
||||||
import com.nnbc123.core.home.bean.BannerInfo
|
|
||||||
import com.nnbc123.core.im.custom.bean.FansTeamMsgAttachment
|
|
||||||
import com.nnbc123.core.im.custom.bean.RequestUpmicAttachment
|
|
||||||
import com.nnbc123.core.im.custom.bean.RoomPKAttachment
|
|
||||||
import com.nnbc123.core.manager.AvRoomDataManager
|
|
||||||
import com.nnbc123.core.manager.RoomEvent
|
|
||||||
import com.nnbc123.core.pay.event.FirstChargeEvent
|
|
||||||
import com.nnbc123.core.room.anotherroompk.ShowPkMatchEvent
|
|
||||||
import com.nnbc123.core.room.anotherroompk.SingleRoomPKModel
|
|
||||||
import com.nnbc123.core.statistic.StatisticManager
|
|
||||||
import com.nnbc123.core.statistic.protocol.StatisticsProtocol
|
|
||||||
import com.nnbc123.core.user.UserModel
|
|
||||||
import com.nnbc123.core.user.bean.UserInfo
|
|
||||||
import com.nnbc123.core.utils.CurrentTimeUtils
|
|
||||||
import com.nnbc123.core.utils.toast
|
|
||||||
import com.nnbc123.app.R
|
import com.nnbc123.app.R
|
||||||
import com.nnbc123.app.avroom.adapter.OnMicroItemClickListener
|
import com.nnbc123.app.avroom.adapter.OnMicroItemClickListener
|
||||||
import com.nnbc123.app.avroom.adapter.SingleAnchorMicroViewAdapter
|
import com.nnbc123.app.avroom.adapter.SingleAnchorMicroViewAdapter
|
||||||
@@ -44,9 +27,24 @@ import com.nnbc123.app.fansteam.FansTeamJoinedActivity
|
|||||||
import com.nnbc123.app.fansteam.FansTeamViewModel
|
import com.nnbc123.app.fansteam.FansTeamViewModel
|
||||||
import com.nnbc123.app.ui.webview.CommonWebViewActivity
|
import com.nnbc123.app.ui.webview.CommonWebViewActivity
|
||||||
import com.nnbc123.app.ui.webview.DialogWebViewActivity
|
import com.nnbc123.app.ui.webview.DialogWebViewActivity
|
||||||
|
import com.nnbc123.core.UriProvider
|
||||||
|
import com.nnbc123.core.fansteam.FansTeamInitInfo
|
||||||
|
import com.nnbc123.core.home.bean.BannerInfo
|
||||||
|
import com.nnbc123.core.im.custom.bean.RequestUpmicAttachment
|
||||||
|
import com.nnbc123.core.im.custom.bean.RoomPKAttachment
|
||||||
|
import com.nnbc123.core.manager.AvRoomDataManager
|
||||||
|
import com.nnbc123.core.manager.RoomEvent
|
||||||
|
import com.nnbc123.core.pay.event.FirstChargeEvent
|
||||||
|
import com.nnbc123.core.room.anotherroompk.ShowPkMatchEvent
|
||||||
|
import com.nnbc123.core.room.anotherroompk.SingleRoomPKModel
|
||||||
|
import com.nnbc123.core.statistic.StatisticManager
|
||||||
|
import com.nnbc123.core.statistic.protocol.StatisticsProtocol
|
||||||
|
import com.nnbc123.core.user.UserModel
|
||||||
|
import com.nnbc123.core.user.bean.UserInfo
|
||||||
|
import com.nnbc123.core.utils.CurrentTimeUtils
|
||||||
|
import com.nnbc123.core.utils.toast
|
||||||
import com.nnbc123.library.base.factory.CreatePresenter
|
import com.nnbc123.library.base.factory.CreatePresenter
|
||||||
import com.nnbc123.library.utils.TimeUtils
|
import com.nnbc123.library.utils.TimeUtils
|
||||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil
|
|
||||||
import com.trello.rxlifecycle3.android.FragmentEvent
|
import com.trello.rxlifecycle3.android.FragmentEvent
|
||||||
import io.reactivex.Observable
|
import io.reactivex.Observable
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
|
@@ -1737,17 +1737,52 @@ public final class IMNetEaseManager {
|
|||||||
if (BuildConfig.DEBUG) {
|
if (BuildConfig.DEBUG) {
|
||||||
LogUtils.d("chatRoomInfoUpdate type =" + type + " extension=" + Arrays.toString(extension.entrySet().toArray()));
|
LogUtils.d("chatRoomInfoUpdate type =" + type + " extension=" + Arrays.toString(extension.entrySet().toArray()));
|
||||||
}
|
}
|
||||||
|
boolean isSingleRoomOld = AvRoomDataManager.get().isSingleRoom();
|
||||||
if (type == 2) {
|
if (type == 2) {
|
||||||
roomQueueMicUpdate(extension);
|
roomQueueMicUpdate(extension);
|
||||||
} else if (type == 1) {
|
} else if (type == 1) {
|
||||||
roomInfoUpdate(extension);
|
roomInfoUpdate(extension);
|
||||||
|
fixSingleRoomMicQueue(isSingleRoomOld);
|
||||||
} else if (type == 3) {
|
} else if (type == 3) {
|
||||||
roomQueueMicUpdate(extension);
|
roomQueueMicUpdate(extension);
|
||||||
roomInfoUpdate(extension);
|
roomInfoUpdate(extension);
|
||||||
|
fixSingleRoomMicQueue(isSingleRoomOld);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修复个播麦队列问题(正在房间时,后台切换成个播房,未主动上麦)
|
||||||
|
*/
|
||||||
|
private void fixSingleRoomMicQueue(boolean isSingleRoomOld){
|
||||||
|
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||||
|
if (roomInfo == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
boolean newIsSingleRoom = AvRoomDataManager.get().isSingleRoom();
|
||||||
|
String micUid = AvRoomDataManager.get().getRoomQueueMemberUidByMicPosition(-1);
|
||||||
|
if (micUid == null && newIsSingleRoom && !isSingleRoomOld && AvRoomDataManager.get().isRoomOwner()) {
|
||||||
|
// 非个播房切换到个播房:需要主动上麦
|
||||||
|
AvRoomModel.get().upMicroPhone(
|
||||||
|
-1,
|
||||||
|
String.valueOf(AuthModel.get().getCurrentUid()),
|
||||||
|
String.valueOf(roomInfo.getRoomId()),
|
||||||
|
false,
|
||||||
|
new CallBack<String>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(String data) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFail(int code, String error) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 房间信息更新
|
* 房间信息更新
|
||||||
|
Reference in New Issue
Block a user