修复连麦小窗再进直播间会闪退问题

This commit is contained in:
2022-11-28 14:52:39 +08:00
parent e6766dc5eb
commit 83039d7b29
12 changed files with 20 additions and 13 deletions

View File

@@ -16,6 +16,7 @@ import com.facebook.FacebookSdk;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.utils.L;
import java.lang.ref.WeakReference;
import java.util.Locale;
import io.rong.imlib.RongIMClient;
@@ -31,6 +32,7 @@ import me.leolin.shortcutbadger.ShortcutBadger;
public class CommonAppContext extends MultiDexApplication {
public static CommonAppContext sInstance;
public static WeakReference<Activity> activityWeakReference;
private int mCount;
private boolean mFront;//是否前台
public static int jpushMsgNum;
@@ -98,6 +100,7 @@ public class CommonAppContext extends MultiDexApplication {
@Override
public void onActivityStarted(Activity activity) {
mCount++;
activityWeakReference=new WeakReference<>(activity);
if (!mFront) {
mFront = true;
L.e("AppContext------->处于前台");

View File

@@ -157,8 +157,12 @@ public class MicStatusManager {
.isDisposed();
}
public boolean isMic() {
return micStatus == MIC_TYPE_OPEN;
/**
* 判断是否在连麦中
* @param toUid 目标uid
*/
public boolean isMic(String toUid) {
return micStatus == MIC_TYPE_OPEN && !micLiveId.equals(toUid);
}
/**

View File

@@ -186,8 +186,8 @@ public class RouteUtil {
* 打开直播页面
*/
public static void forwardLiveAudienceActivity(LiveBean mLiveBean, int mLiveType, int mLiveSDK, int mLiveTypeVal) {
if(MicStatusManager.getInstance().isMic()){
MicStatusManager.getInstance().showDownMicDialog(CommonAppContext.sInstance);
if(MicStatusManager.getInstance().isMic(mLiveBean.getUid())){
MicStatusManager.getInstance().showDownMicDialog(CommonAppContext.activityWeakReference.get());
return;
}
ARouter.getInstance().build(PATH_LIVE_AUDIENCE)