diff --git a/app/src/main/java/com/mogo/cloud/LivePlayActivity.java b/app/src/main/java/com/mogo/cloud/LivePlayActivity.java index 638b39f..fedaaf9 100644 --- a/app/src/main/java/com/mogo/cloud/LivePlayActivity.java +++ b/app/src/main/java/com/mogo/cloud/LivePlayActivity.java @@ -10,6 +10,7 @@ import android.widget.TextView; import android.widget.Toast; import android.widget.ToggleButton; + import com.mogo.cloud.live.manager.LiveStreamManagerImpl; import com.mogo.cloud.passport.MoGoAiCloudClientConfig; import com.mogo.cloud.trafficlive.api.ITrafficCarLiveCallBack; @@ -20,42 +21,107 @@ import com.mogo.cloud.wifi.WifiStateManager; public class LivePlayActivity extends AppCompatActivity implements ITrafficCarLiveCallBack, IWifiStateListener { private String TAG = "LiveActivity"; - - private SurfaceView surfaceView; - private ToggleButton liveToggleBtn; - private EditText etLookRoomId; private TextView tvWifiState; - private String liveSn; + + private SurfaceView surfaceView0; + private ToggleButton liveToggleBtn0; + private EditText etLookRoomId0; + private String liveSn0; + + private SurfaceView surfaceView1; + private ToggleButton liveToggleBtn1; + private EditText etLookRoomId1; + private String liveSn1; + + private SurfaceView surfaceView2; + private ToggleButton liveToggleBtn2; + private EditText etLookRoomId2; + private String liveSn2; + + private SurfaceView surfaceView3; + private ToggleButton liveToggleBtn3; + private EditText etLookRoomId3; + private String liveSn3; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_live_play); - surfaceView = findViewById(R.id.surfaceView); - etLookRoomId = findViewById(R.id.etLookRoomId); - liveToggleBtn = findViewById(R.id.liveToggleBtn); - tvWifiState = findViewById(R.id.tvWifiState); LiveStreamManagerImpl.getInstance(this.getApplication(), - MoGoAiCloudClientConfig.getInstance().getSn(),false); - liveToggleBtn.setOnCheckedChangeListener((buttonView, isChecked) -> { + MoGoAiCloudClientConfig.getInstance().getSn(), false); + tvWifiState = findViewById(R.id.tvWifiState); + + surfaceView0 = findViewById(R.id.surfaceView0); + etLookRoomId0 = findViewById(R.id.etLookRoomId0); + liveToggleBtn0 = findViewById(R.id.liveToggleBtn0); + + liveToggleBtn0.setOnCheckedChangeListener((buttonView, isChecked) -> { Toast.makeText(getApplicationContext(), buttonView.getText(), Toast.LENGTH_SHORT).show(); if (isChecked) { - liveSn = etLookRoomId.getText().toString().trim(); - MoGoAiCloudTrafficLive.viewDesignativeVehicleLive(liveSn, surfaceView, this); - //just for test + liveSn0 = etLookRoomId0.getText().toString().trim(); + MoGoAiCloudTrafficLive.viewDesignativeVehicleLive(liveSn0, surfaceView0, this); // MoGoAiCloudTrafficLive.viewFrontVehicleLive(39.968253, 116.410829, 0, surfaceView, this); } else { - MoGoAiCloudTrafficLive.stopCarLive(liveSn); + MoGoAiCloudTrafficLive.stopCarLive(liveSn0); } }); + + surfaceView1 = findViewById(R.id.surfaceView1); + etLookRoomId1 = findViewById(R.id.etLookRoomId1); + liveToggleBtn1 = findViewById(R.id.liveToggleBtn1); + + liveToggleBtn1.setOnCheckedChangeListener((buttonView, isChecked) -> { + Toast.makeText(getApplicationContext(), buttonView.getText(), Toast.LENGTH_SHORT).show(); + if (isChecked) { + liveSn1 = etLookRoomId1.getText().toString().trim(); + MoGoAiCloudTrafficLive.viewDesignativeVehicleLive(liveSn1, surfaceView1, this); +// MoGoAiCloudTrafficLive.viewFrontVehicleLive(39.968253, 116.410829, 0, surfaceView, this); + } else { + MoGoAiCloudTrafficLive.stopCarLive(liveSn1); + } + }); + + + surfaceView2 = findViewById(R.id.surfaceView2); + etLookRoomId2 = findViewById(R.id.etLookRoomId2); + liveToggleBtn2 = findViewById(R.id.liveToggleBtn2); + + liveToggleBtn2.setOnCheckedChangeListener((buttonView, isChecked) -> { + Toast.makeText(getApplicationContext(), buttonView.getText(), Toast.LENGTH_SHORT).show(); + if (isChecked) { + liveSn2 = etLookRoomId2.getText().toString().trim(); + MoGoAiCloudTrafficLive.viewDesignativeVehicleLive(liveSn2, surfaceView2, this); +// MoGoAiCloudTrafficLive.viewFrontVehicleLive(39.968253, 116.410829, 0, surfaceView, this); + } else { + MoGoAiCloudTrafficLive.stopCarLive(liveSn2); + } + }); + + + surfaceView3 = findViewById(R.id.surfaceView3); + etLookRoomId3 = findViewById(R.id.etLookRoomId3); + liveToggleBtn3 = findViewById(R.id.liveToggleBtn3); + + liveToggleBtn3.setOnCheckedChangeListener((buttonView, isChecked) -> { + Toast.makeText(getApplicationContext(), buttonView.getText(), Toast.LENGTH_SHORT).show(); + if (isChecked) { + liveSn3 = etLookRoomId3.getText().toString().trim(); + MoGoAiCloudTrafficLive.viewDesignativeVehicleLive(liveSn3, surfaceView3, this); +// MoGoAiCloudTrafficLive.viewFrontVehicleLive(39.968253, 116.410829, 0, surfaceView, this); + } else { + MoGoAiCloudTrafficLive.stopCarLive(liveSn3); + } + }); + WifiStateManager.getInstance().registerWifiStateListener(this); } @Override protected void onDestroy() { super.onDestroy(); - MoGoAiCloudTrafficLive.stopCarLive(liveSn); + MoGoAiCloudTrafficLive.stopCarLive(liveSn0); WifiStateManager.getInstance().unRegisterWifiStateListener(this); } diff --git a/app/src/main/java/com/mogo/cloud/LivePlayAndPushActivity.java b/app/src/main/java/com/mogo/cloud/LivePlayAndPushActivity.java index ad244e0..df426a9 100644 --- a/app/src/main/java/com/mogo/cloud/LivePlayAndPushActivity.java +++ b/app/src/main/java/com/mogo/cloud/LivePlayAndPushActivity.java @@ -102,7 +102,7 @@ public class LivePlayAndPushActivity extends BaseLiveActivity liveSn = etLookRoomId.getText().toString().trim(); liveStreamManager.getMoGoLiveManager().loginMultiRoom(liveSn); } else { - liveStreamManager.getMoGoLiveManager().logoutMultiRoom(); + liveStreamManager.getMoGoLiveManager().logoutMultiRoom(liveSn); } } diff --git a/app/src/main/java/com/mogo/cloud/MoGoApplication.java b/app/src/main/java/com/mogo/cloud/MoGoApplication.java index ab52fa4..1a4060a 100644 --- a/app/src/main/java/com/mogo/cloud/MoGoApplication.java +++ b/app/src/main/java/com/mogo/cloud/MoGoApplication.java @@ -58,7 +58,7 @@ public class MoGoApplication extends MultiDexApplication { // 设置AI云平台分配给三方应用的签名密钥,需要从AI云平台申请 // 设置车机设备的唯一标识(这些表识必须是通过后台录入的设备) // TODO 这里使用的是测试的sn - clientConfig.setThirdPartyDeviceId("C95ACB94DF240C89"); + clientConfig.setThirdPartyDeviceId("1234567899876543214"); // 设置应用服务AppId 长链、鉴权 //todo 需要卸载智慧驾驶、行车记录仪 clientConfig.setServiceAppId("com.mogo.launcher"); // 设置循环检测间隔时间 @@ -71,7 +71,7 @@ public class MoGoApplication extends MultiDexApplication { @Nullable @Override public HttpDnsSimpleLocation getCurrentLocation() { - return new HttpDnsSimpleLocation("010", randomLat, randomLon); + return new HttpDnsSimpleLocation("0734", randomLat, randomLon); } }); diff --git a/app/src/main/res/layout/activity_live_play.xml b/app/src/main/res/layout/activity_live_play.xml index 532de62..dbb3a24 100644 --- a/app/src/main/res/layout/activity_live_play.xml +++ b/app/src/main/res/layout/activity_live_play.xml @@ -1,41 +1,178 @@ - + android:layout_height="match_parent" + android:background="#FFF" + android:orientation="vertical"> - - - + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - \ No newline at end of file + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintRight_toRightOf="parent" /> + \ No newline at end of file diff --git a/foudations/mogo-live/libs/VERSION.txt b/foudations/mogo-live/libs/VERSION.txt new file mode 100644 index 0000000..4e8442e --- /dev/null +++ b/foudations/mogo-live/libs/VERSION.txt @@ -0,0 +1 @@ +2.14.0.5551_stable_video \ No newline at end of file diff --git a/foudations/mogo-live/libs/ZegoExpressEngine.jar b/foudations/mogo-live/libs/ZegoExpressEngine.jar index e74820e..1a8ce6e 100644 Binary files a/foudations/mogo-live/libs/ZegoExpressEngine.jar and b/foudations/mogo-live/libs/ZegoExpressEngine.jar differ diff --git a/foudations/mogo-live/libs/arm64-v8a/libZegoExpressEngine.so b/foudations/mogo-live/libs/arm64-v8a/libZegoExpressEngine.so index f78414f..0a547d0 100755 Binary files a/foudations/mogo-live/libs/arm64-v8a/libZegoExpressEngine.so and b/foudations/mogo-live/libs/arm64-v8a/libZegoExpressEngine.so differ diff --git a/foudations/mogo-live/libs/armeabi-v7a/libZegoExpressEngine.so b/foudations/mogo-live/libs/armeabi-v7a/libZegoExpressEngine.so index 7a76a91..28b5e9e 100755 Binary files a/foudations/mogo-live/libs/armeabi-v7a/libZegoExpressEngine.so and b/foudations/mogo-live/libs/armeabi-v7a/libZegoExpressEngine.so differ diff --git a/foudations/mogo-live/libs/x86/libZegoExpressEngine.so b/foudations/mogo-live/libs/x86/libZegoExpressEngine.so new file mode 100755 index 0000000..dada88f Binary files /dev/null and b/foudations/mogo-live/libs/x86/libZegoExpressEngine.so differ diff --git a/foudations/mogo-live/libs/x86_64/libZegoExpressEngine.so b/foudations/mogo-live/libs/x86_64/libZegoExpressEngine.so new file mode 100755 index 0000000..fc99a4f Binary files /dev/null and b/foudations/mogo-live/libs/x86_64/libZegoExpressEngine.so differ diff --git a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/MoGoLiveManager.java b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/MoGoLiveManager.java index 3cafb58..8358d5a 100644 --- a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/MoGoLiveManager.java +++ b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/MoGoLiveManager.java @@ -10,6 +10,7 @@ import android.app.Application; import android.text.TextUtils; import android.util.Log; import android.view.SurfaceView; +import android.view.TextureView; import com.mogo.cloud.live.listener.ILiveCurrentRoomStatusListener; import com.mogo.cloud.live.listener.ILiveMultiRoomStatusListener; @@ -31,11 +32,11 @@ import im.zego.zegoexpress.ZegoExpressEngine; import im.zego.zegoexpress.callback.IZegoCustomVideoCaptureHandler; import im.zego.zegoexpress.callback.IZegoEventHandler; import im.zego.zegoexpress.constants.ZegoEngineState; -import im.zego.zegoexpress.constants.ZegoLanguage; import im.zego.zegoexpress.constants.ZegoPlayerState; import im.zego.zegoexpress.constants.ZegoPublishChannel; import im.zego.zegoexpress.constants.ZegoPublisherState; import im.zego.zegoexpress.constants.ZegoRemoteDeviceState; +import im.zego.zegoexpress.constants.ZegoRoomMode; import im.zego.zegoexpress.constants.ZegoRoomState; import im.zego.zegoexpress.constants.ZegoScenario; import im.zego.zegoexpress.constants.ZegoUpdateType; @@ -46,6 +47,9 @@ import im.zego.zegoexpress.constants.ZegoVideoFrameFormat; import im.zego.zegoexpress.constants.ZegoViewMode; import im.zego.zegoexpress.entity.ZegoCanvas; import im.zego.zegoexpress.entity.ZegoCustomVideoCaptureConfig; +import im.zego.zegoexpress.entity.ZegoEngineConfig; +import im.zego.zegoexpress.entity.ZegoEngineProfile; +import im.zego.zegoexpress.entity.ZegoPlayerConfig; import im.zego.zegoexpress.entity.ZegoRoomConfig; import im.zego.zegoexpress.entity.ZegoUser; import im.zego.zegoexpress.entity.ZegoVideoConfig; @@ -122,6 +126,7 @@ public class MoGoLiveManager { */ private final ZegoRoomConfig zeGoRoomConfig; private IMediaPlayerStateListener mMediaPlayerStateListener; + private ZegoUser zegoUserCurrent; private static final class Holder { private static final MoGoLiveManager manager = new MoGoLiveManager(); @@ -181,8 +186,11 @@ public class MoGoLiveManager { for (ILiveProgressListener iLiveProgressListener : mProgressListener) { iLiveProgressListener.onDebugError(errorCode, funcName, info); } - // 停止推送数据 - stopPublish(); + // 是否处于发布状态 + if (mLiveStatusModel != null && mLiveStatusModel.isPushing()) { + // 停止推送数据 + stopPublish(); + } } // 音视频引擎状态更新回调 @@ -465,15 +473,36 @@ public class MoGoLiveManager { case HTTP_DNS_ENV_DEMO: isTestEnv = false; } - mExpressEngine = ZegoExpressEngine.createEngine( - appId, - appKey, - isTestEnv, - ZegoScenario.GENERAL, - mApplication, - mEventHandler); + + // 设置房间模式为多房间模式 + ZegoExpressEngine.setRoomMode(ZegoRoomMode.MULTI_ROOM); + + ZegoEngineConfig zegoEngineConfig = new ZegoEngineConfig(); + zegoEngineConfig.advancedConfig.put("language", "chinese"); + zegoEngineConfig.advancedConfig.put("set_verbose", MoGoAiCloudClientConfig.getInstance().isShowDebugLog() + ""); + ZegoExpressEngine.setEngineConfig(zegoEngineConfig); + + ZegoEngineProfile profile = new ZegoEngineProfile(); + /* 请通过官网注册获取,格式为 123456789L */ + profile.appID = appId; + /* 64个字符,请通过官网注册获取,格式为"0123456789012345678901234567890123456789012345678901234567890123" */ + profile.appSign = appKey; + /* 通用场景接入 */ + profile.scenario = ZegoScenario.GENERAL; + /* 设置app的application 对象 */ + profile.application = mApplication; + /* 创建引擎 */ + mExpressEngine = ZegoExpressEngine.createEngine(profile, mEventHandler); + +// mExpressEngine = ZegoExpressEngine.createEngine( +// appId, +// appKey, +// isTestEnv, +// ZegoScenario.GENERAL, +// mApplication, +// mEventHandler); // 关闭日志 - mExpressEngine.setDebugVerbose(MoGoAiCloudClientConfig.getInstance().isShowDebugLog(), ZegoLanguage.CHINESE); + //mExpressEngine.setDebugVerbose(MoGoAiCloudClientConfig.getInstance().isShowDebugLog(), ZegoLanguage.CHINESE); // true 表示静音(关闭) mExpressEngine.muteMicrophone(true); if (mLivePushConfig != null) { @@ -548,8 +577,8 @@ public class MoGoLiveManager { + " currentRoomId:" + mLiveStatusModel.getCurrentRoomId() + " currentStreamId:" + mLiveStatusModel.getCurrentStreamId()); if (!mLiveStatusModel.isLoginCurrentRoom()) { - ZegoUser zegoUser = new ZegoUser(userId, NAME_PREFIX + userId); - mExpressEngine.loginRoom(mLiveStatusModel.getCurrentRoomId(), zegoUser, zeGoRoomConfig); + zegoUserCurrent = new ZegoUser(userId, NAME_PREFIX + userId); + mExpressEngine.loginRoom(mLiveStatusModel.getCurrentRoomId(), zegoUserCurrent, zeGoRoomConfig); } } @@ -588,26 +617,26 @@ public class MoGoLiveManager { Log.i(TAG, "尝试进入多房间 loginMultiRoom multiRoomId : " + mLiveStatusModel.getMultiRoomId() + " currentStreamId : " + mLiveStatusModel.getMultiStreamId()); - if (!mLiveStatusModel.isLoginMultiRoom()) { - Log.i(TAG, "执行登录多房间"); - mExpressEngine.loginMultiRoom(mLiveStatusModel.getMultiRoomId(), zeGoRoomConfig); - } else { - Log.w(TAG, "已经登录了多房间"); - } +// if (!mLiveStatusModel.isLoginMultiRoom()) { + Log.i(TAG, "执行登录多房间"); + mExpressEngine.loginRoom(mLiveStatusModel.getMultiRoomId(), zegoUserCurrent, zeGoRoomConfig); +// } else { +// Log.w(TAG, "已经登录了多房间"); +// } } /** * 退出多房间 */ - public synchronized void logoutMultiRoom() { + public synchronized void logoutMultiRoom(String sn) { Log.i(TAG, "尝试退出多房间 logoutMultiRoom multiRoomId : " + mLiveStatusModel.getMultiRoomId()); if (mExpressEngine != null) { - if (mLiveStatusModel.isLoginMultiRoom()) { - Log.i(TAG, "执行退出多房间"); - mExpressEngine.logoutRoom(mLiveStatusModel.getMultiRoomId()); - } else { - Log.w(TAG, "还未登录多房间"); - } +// if (mLiveStatusModel.isLoginMultiRoom()) { + Log.i(TAG, "执行退出多房间"); + mExpressEngine.logoutRoom(ROOM_ID_PREFIX + sn); +// } else { +// Log.w(TAG, "还未登录多房间"); +// } } else { Log.w(TAG, "ZeGo 引擎未初始化"); } @@ -667,7 +696,27 @@ public class MoGoLiveManager { mLiveStatusModel.getMultiStreamId().startsWith(STREAM_ID_PREFIX)) { ZegoCanvas zegoCanvas = new ZegoCanvas(surfaceView); zegoCanvas.viewMode = ZegoViewMode.SCALE_TO_FILL; - mExpressEngine.startPlayingStream(mLiveStatusModel.getMultiStreamId(), zegoCanvas); + + ZegoPlayerConfig config = new ZegoPlayerConfig(); + config.roomID = mLiveStatusModel.getMultiRoomId(); + + mExpressEngine.startPlayingStream(mLiveStatusModel.getMultiStreamId(), zegoCanvas, config); + } else { + Log.e(TAG, "直播ID有误,请重试"); + } + } + + public void startLive(TextureView textureView) { + Log.i(TAG, "尝试开始播放直播 startLive multiStreamId : " + mLiveStatusModel.getMultiStreamId()); + if (!TextUtils.isEmpty(mLiveStatusModel.getMultiStreamId()) && + mLiveStatusModel.getMultiStreamId().startsWith(STREAM_ID_PREFIX)) { + ZegoCanvas zegoCanvas = new ZegoCanvas(textureView); + zegoCanvas.viewMode = ZegoViewMode.SCALE_TO_FILL; + + ZegoPlayerConfig config = new ZegoPlayerConfig(); + config.roomID = mLiveStatusModel.getMultiRoomId(); + + mExpressEngine.startPlayingStream(mLiveStatusModel.getMultiStreamId(), zegoCanvas, config); } else { Log.e(TAG, "直播ID有误,请重试"); } @@ -676,7 +725,7 @@ public class MoGoLiveManager { /** * 停止播放直播 */ - public void stopLive() { + public void stopLive(String sn) { Log.i(TAG, "尝试停止播放直播 stopLive multiStreamId : " + mLiveStatusModel.getMultiStreamId()); if (mExpressEngine == null) { Log.w(TAG, "ZeGo 引擎未初始化"); @@ -686,7 +735,7 @@ public class MoGoLiveManager { mExpressEngine.stopPlayingStream(mLiveStatusModel.getMultiStreamId()); mExpressEngine.stopPreview(); // 退出正在查看的多房间 - logoutMultiRoom(); + logoutMultiRoom(sn); } /** diff --git a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/RequestLiveManager.java b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/RequestLiveManager.java index 0532c4d..8f59387 100644 --- a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/RequestLiveManager.java +++ b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/RequestLiveManager.java @@ -1,5 +1,6 @@ package com.mogo.cloud.live.manager; +import com.elegant.log.simplelog.Logger; import com.google.gson.Gson; import com.mogo.cloud.live.constant.LiveConstant; import com.mogo.cloud.live.listener.IRequestLiveListener; @@ -12,7 +13,6 @@ import com.mogo.cloud.live.network.LiveApiServer; import com.mogo.cloud.network.NetConstants; import com.mogo.cloud.network.RetrofitFactory; import com.mogo.cloud.passport.MoGoAiCloudClient; -import com.mogo.cloud.utils.logger.Logger; import java.util.HashMap; import java.util.Map; diff --git a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/model/LiveStatusModel.java b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/model/LiveStatusModel.java index 5e1d768..20734e9 100644 --- a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/model/LiveStatusModel.java +++ b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/model/LiveStatusModel.java @@ -66,6 +66,9 @@ public class LiveStatusModel { } public String getMultiRoomId() { + if (multiRoomId == null) { + return ""; + } return multiRoomId; } diff --git a/gradle.properties b/gradle.properties index afc5e8d..a185a0b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -27,25 +27,25 @@ SNAPSHOT_REPOSITORY_URL=http://nexus.zhidaoauto.com/repository/maven-snapshots/ USERNAME=xintai PASSWORD=xintai2018 # 编译模式: false - 依赖本地版本, true - 依赖 maven 版本 -RELEASE=true +RELEASE=false # AI CLOUD 云平台 # 工具类 -MOGO_UTILS_VERSION=1.1.61-live +MOGO_UTILS_VERSION=1.1.62-live # 网络请求 -MOGO_NETWORK_VERSION=1.1.61-live +MOGO_NETWORK_VERSION=1.1.62-live # 网络DNS -MOGO_HTTPDNS_VERSION=1.1.61-live +MOGO_HTTPDNS_VERSION=1.1.62-live # 鉴权 -MOGO_PASSPORT_VERSION=1.1.61-live +MOGO_PASSPORT_VERSION=1.1.62-live # 常链接 -MOGO_SOCKET_VERSION=1.1.61-live +MOGO_SOCKET_VERSION=1.1.62-live # 数据采集 -MOGO_REALTIME_VERSION=1.1.61-live +MOGO_REALTIME_VERSION=1.1.62-live # 探路,道路事件发布,获取 -MOGO_TANLU_VERSION=1.1.61-live +MOGO_TANLU_VERSION=1.1.62-live # 直播推流 -MOGO_LIVE_VERSION=1.1.61-live +MOGO_LIVE_VERSION=1.1.62-live # 直播拉流 -MOGO_TRAFFICLIVE_VERSION=1.1.61-live +MOGO_TRAFFICLIVE_VERSION=1.1.62-live # 定位服务 -MOGO_LOCATION_VERSION=1.1.61-live +MOGO_LOCATION_VERSION=1.1.62-live diff --git a/modules/mogo-trafficlive/build.gradle b/modules/mogo-trafficlive/build.gradle index 9065f29..e194c21 100644 --- a/modules/mogo-trafficlive/build.gradle +++ b/modules/mogo-trafficlive/build.gradle @@ -33,9 +33,11 @@ dependencies { if (Boolean.valueOf(RELEASE)) { implementation "com.mogo.cloud:network:${MOGO_NETWORK_VERSION}" api "com.mogo.cloud:live:${MOGO_LIVE_VERSION}" + api "com.mogo.cloud:utils:${MOGO_UTILS_VERSION}" } else { implementation project(":foudations:mogo-network") api project(":foudations:mogo-live") + api project(':foudations:mogo-utils') } } diff --git a/modules/mogo-trafficlive/src/main/java/com/mogo/cloud/trafficlive/core/TrafficLiveCurrentManager.java b/modules/mogo-trafficlive/src/main/java/com/mogo/cloud/trafficlive/core/TrafficLiveCurrentManager.java index ff3e2c0..94dc7d8 100644 --- a/modules/mogo-trafficlive/src/main/java/com/mogo/cloud/trafficlive/core/TrafficLiveCurrentManager.java +++ b/modules/mogo-trafficlive/src/main/java/com/mogo/cloud/trafficlive/core/TrafficLiveCurrentManager.java @@ -142,7 +142,7 @@ public class TrafficLiveCurrentManager } } }); - MoGoLiveManager.getInstance().stopLive(); + MoGoLiveManager.getInstance().stopLive(liveSn); trafficLiveCallBack = null; }