修改直播弹窗调用,增加了与导航布局无联动的弹窗组件调用

This commit is contained in:
董宏宇
2020-11-02 16:16:36 +08:00
parent ddbfd28b46
commit 866f919eb2
13 changed files with 688 additions and 62 deletions

View File

@@ -48,25 +48,25 @@ public class V2XPushLiveCarScenario extends AbsV2XScenario<V2XPushMessageEntity>
@Override
public void init(@Nullable V2XMessageEntity<V2XPushMessageEntity> v2XMessageEntity) {
boolean isWindowShow = V2XServiceManager.getMoGoV2XStatusManager().isLeftLiveVideoShow();
if (isWindowShow) {
close();
}
setV2XMessageEntity(v2XMessageEntity);
if (v2XMessageEntity != null &&
(v2XMessageEntity.getContent().getVideoSn() != null ||
!TextUtils.isEmpty(v2XMessageEntity.getContent().getVideoUrl()))) {
show();
if (!isSameScenario(v2XMessageEntity)
&& V2XServiceManager.getMoGoStatusManager().isMainPageLaunched()) {
boolean isWindowShow = V2XServiceManager.getMoGoV2XStatusManager().isLeftLiveVideoShow();
if (isWindowShow) {
close();
}
setV2XMessageEntity(v2XMessageEntity);
if (v2XMessageEntity != null &&
(v2XMessageEntity.getContent().getVideoSn() != null ||
!TextUtils.isEmpty(v2XMessageEntity.getContent().getVideoUrl()))) {
show();
} else {
TipToast.shortTip("附近没有可直播车机");
Logger.e(V2XConst.MODULE_NAME, "直播地址为null");
}
} else {
TipToast.shortTip("附近没有可直播车机");
Logger.e(V2XConst.MODULE_NAME, "直播地址为null");
setV2XMessageEntity(v2XMessageEntity);
Logger.w(V2XConst.MODULE_NAME, "要处理的场景已经存在,丢弃这次初始化");
}
// if (!isSameScenario(v2XMessageEntity)
// && V2XServiceManager.getMoGoStatusManager().isMainPageLaunched()) {
// } else {
// setV2XMessageEntity(v2XMessageEntity);
// Logger.w(V2XConst.MODULE_NAME, "要处理的场景已经存在,丢弃这次初始化");
// }
}
@Override
@@ -77,21 +77,16 @@ public class V2XPushLiveCarScenario extends AbsV2XScenario<V2XPushMessageEntity>
@Override
public void showWindow() {
if (getV2XWindow() != null) {
// ViewGroup.LayoutParams layoutParams =
// new ViewGroup.LayoutParams(
// ViewGroup.LayoutParams.MATCH_PARENT,
// (int) V2XUtils.getApp().getResources().getDimension(R.dimen.module_v2x_event_window_height));
// V2XServiceManager
// .getMogoTopViewManager()
// .addView(getV2XWindow().getView(), layoutParams, this);
// getV2XWindow().show(getV2XMessageEntity().getContent());
// V2XServiceManager.getMoGoV2XStatusManager().setLiveCarWindowShow(TAG, true);
ViewGroup.LayoutParams layoutParams =
new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
(int) V2XUtils.getApp().getResources()
.getDimension(R.dimen.v2x_video_window_height));
V2XServiceManager
.getIMogoWindowManager()
.addView(getV2XWindow().getView(), 0, 0, false);
.getMogoTopViewManager()
.addViewNoLinkage(getV2XWindow().getView(), layoutParams, this);
getV2XWindow().show(getV2XMessageEntity().getContent());
V2XServiceManager.getMoGoV2XStatusManager().setV2XAnimationWindowShow(TAG, true);
V2XServiceManager.getMoGoV2XStatusManager().setLiveCarWindowShow(TAG, true);
}
}

View File

@@ -70,8 +70,8 @@ public class V2XPushLiveCarWindow extends RelativeLayout implements IV2XWindow<V
pushVideoClose.setOnClickListener(v -> {
//移除窗体
V2XServiceManager
.getIMogoWindowManager()
.removeView(this);
.getMogoTopViewManager()
.removeViewNoLinkage(this);
});
}
@@ -144,8 +144,8 @@ public class V2XPushLiveCarWindow extends RelativeLayout implements IV2XWindow<V
// 移出Window详细信息
//移除窗体
V2XServiceManager
.getIMogoWindowManager()
.removeView(this);
.getMogoTopViewManager()
.removeViewNoLinkage(this);
};
} else {
handlerV2XEvent.removeCallbacks(runnableV2XEvent);

View File

@@ -2,15 +2,16 @@ package com.mogo.module.v2x.scenario.scene.livecar;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import com.mogo.module.common.entity.V2XEventShowEntity;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.scenario.impl.AbsV2XScenario;
import com.mogo.module.v2x.scenario.scene.road.V2XRoadEventScenario;
import com.mogo.module.v2x.scenario.scene.road.V2XRoadEventWindow;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.windowview.IMogoTopViewStatusListener;
import com.mogo.utils.logger.Logger;
@@ -48,19 +49,13 @@ public class V2XRoadLiveCarScenario extends AbsV2XScenario<List<V2XEventShowEnti
try {
List<V2XEventShowEntity> v2XRoadEventEntity = v2XMessageEntity.getContent();
if (v2XRoadEventEntity != null) {
if (!isSameScenario(v2XMessageEntity)
&& V2XServiceManager.getMoGoStatusManager().isMainPageLaunched()) {
if (v2XMessageEntity.isShowState()) {
mV2XRoadLiveCarScenario.setV2XWindow(new V2XRoadLiveCarWindow());
setV2XMessageEntity(v2XMessageEntity);
show();
} else {
setV2XMessageEntity(v2XMessageEntity);
Logger.w(V2XConst.MODULE_NAME, "要处理的场景已经存在,丢弃这次初始化");
close();
}
} else {
close();
}
} catch (Exception e) {
e.printStackTrace();
@@ -78,11 +73,16 @@ public class V2XRoadLiveCarScenario extends AbsV2XScenario<List<V2XEventShowEnti
public void showWindow() {
Log.d(TAG, getV2XWindow().toString());
if (getV2XWindow() != null) {
getV2XWindow().show(getV2XMessageEntity().getContent());
ViewGroup.LayoutParams layoutParams =
new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
(int) V2XUtils.getApp().getResources()
.getDimension(R.dimen.v2x_video_window_height));
V2XServiceManager
.getIMogoWindowManager()
.addView(getV2XWindow().getView(), 0, 0, false);
V2XServiceManager.getMoGoV2XStatusManager().setV2XAnimationWindowShow(TAG, true);
.getMogoTopViewManager()
.addViewNoLinkage(getV2XWindow().getView(), layoutParams, this);
getV2XWindow().show(getV2XMessageEntity().getContent());
V2XServiceManager.getMoGoV2XStatusManager().setRoadLiveCarWindowShow(TAG, true);
}
}

View File

@@ -13,10 +13,10 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.PagerSnapHelper;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.module.common.entity.V2XEventShowEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.adapter.V2XRoadEventAdapter;
import com.mogo.module.common.entity.V2XEventShowEntity;
import com.mogo.module.v2x.listener.V2XWindowStatusListener;
import com.mogo.module.v2x.scenario.view.IV2XWindow;
import com.mogo.module.v2x.voice.V2XVoiceCallbackListener;
@@ -195,8 +195,8 @@ public class V2XRoadLiveCarWindow extends RelativeLayout
//移除窗体
V2XServiceManager
.getIMogoWindowManager()
.removeView(this);
.getMogoTopViewManager()
.removeViewNoLinkage(this);
}
@Override

View File

@@ -178,7 +178,7 @@ public class V2XLiveGSYVideoView extends RoundLayout implements IMogoSkinCompatS
private void playLiveVideo(MarkerCarInfo.CarLiveInfo carLiveInfo) {
try {
if (mLivePlayer != null) {
mLivePlayer.startPlay(carLiveInfo.getVideoUrl(), TXLivePlayer.PLAY_TYPE_LIVE_RTMP);
mLivePlayer.startPlay("rtmp://58.200.131.2:1935/livetv/hunantv", TXLivePlayer.PLAY_TYPE_LIVE_RTMP);
mLivePlayer.setPlayListener(new ITXLivePlayListener() {
@Override
public void onPlayEvent(int event, Bundle bundle) {