diff --git a/app/src/main/java/com/mogo/cloud/LivePlayActivity.java b/app/src/main/java/com/mogo/cloud/LivePlayActivity.java index 086abd1..8f93bb6 100644 --- a/app/src/main/java/com/mogo/cloud/LivePlayActivity.java +++ b/app/src/main/java/com/mogo/cloud/LivePlayActivity.java @@ -19,6 +19,7 @@ public class LivePlayActivity extends AppCompatActivity implements ITrafficLiveC private SurfaceView surfaceView; private ToggleButton liveToggleBtn; private EditText etLookRoomId; + private String liveSn; @Override protected void onCreate(Bundle savedInstanceState) { @@ -30,10 +31,10 @@ public class LivePlayActivity extends AppCompatActivity implements ITrafficLiveC liveToggleBtn.setOnCheckedChangeListener((buttonView, isChecked) -> { Toast.makeText(getApplicationContext(), buttonView.getText(), Toast.LENGTH_SHORT).show(); if (isChecked) { - String roomId = etLookRoomId.getText().toString().trim(); - MoGoAiCloudTrafficLive.viewVehicleHeadLive(this.getApplication(), roomId, surfaceView, this); + liveSn = etLookRoomId.getText().toString().trim(); + MoGoAiCloudTrafficLive.viewVehicleHeadLive(this.getApplication(), liveSn, surfaceView, this); } else { - MoGoAiCloudTrafficLive.stopLive(); + MoGoAiCloudTrafficLive.stopLive(liveSn); } }); } @@ -41,7 +42,7 @@ public class LivePlayActivity extends AppCompatActivity implements ITrafficLiveC @Override protected void onDestroy() { super.onDestroy(); - MoGoAiCloudTrafficLive.stopLive(); + MoGoAiCloudTrafficLive.stopLive(liveSn); MoGoAiCloudTrafficLive.destroyLive(); } diff --git a/foudations/mogo-live/consumer-rules.pro b/foudations/mogo-live/consumer-rules.pro index 0c5f89c..7830441 100644 --- a/foudations/mogo-live/consumer-rules.pro +++ b/foudations/mogo-live/consumer-rules.pro @@ -1 +1,7 @@ --keep class com.zhidao.ptech.shadow.server.protocol.DeviceInfo{*;} \ No newline at end of file +-keep class com.mogo.cloud.live.constant.LiveConstant{*;} +-keep class com.mogo.cloud.live.listener.*{*;} +-keep class com.mogo.cloud.live.manager.ILiveStreamManager{*;} +-keep class com.mogo.cloud.live.model.*{*;} +-keep class com.mogo.cloud.live.network.LiveApiServer{*;} +-keep class com.mogo.cloud.live.socket.IotMessageType{*;} +-keep class com.zhidao.ptech.shadow.server.protocol.DeviceInfo{*;} diff --git a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/constant/LiveConstant.java b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/constant/LiveConstant.java index 1fd50c2..1801d82 100644 --- a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/constant/LiveConstant.java +++ b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/constant/LiveConstant.java @@ -3,4 +3,7 @@ package com.mogo.cloud.live.constant; public class LiveConstant { public static final String TAG = "MoGoAiCloud_Live"; + public static final String LIVE_TYPE_OPEN = "0"; + public static final String LIVE_TYPE_CLOSE = "1"; + public static final String FRONT_CAMERA = "C_1"; } 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 0d029cc..8c397bf 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,7 +1,5 @@ package com.mogo.cloud.live.manager; -import android.app.Application; - import com.google.gson.Gson; import com.mogo.cloud.live.constant.LiveConstant; import com.mogo.cloud.live.listener.IRequestLiveListener; @@ -22,6 +20,8 @@ import io.reactivex.annotations.NonNull; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; +import static com.mogo.cloud.live.constant.LiveConstant.FRONT_CAMERA; + /** * 请求直播管理类 @@ -47,9 +47,9 @@ public class RequestLiveManager { return requestLiveManager; } - public void requestVehicleHeadLive(Application application, String liveSn, IRequestLiveListener requestLiveListener) { + public void requestVehicleHeadLive(String type, String liveSn, IRequestLiveListener requestLiveListener) { Gson gson = new Gson(); - LivePush livePush = new LivePush(liveSn, "1", "C_1"); + LivePush livePush = new LivePush(liveSn, type, FRONT_CAMERA); String sn = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn(); Map map = new HashMap<>(); map.put("sn", sn); diff --git a/modules/mogo-trafficlive/consumer-rules.pro b/modules/mogo-trafficlive/consumer-rules.pro index e69de29..b58a6ca 100644 --- a/modules/mogo-trafficlive/consumer-rules.pro +++ b/modules/mogo-trafficlive/consumer-rules.pro @@ -0,0 +1,2 @@ +-keep class com.mogo.cloud.trafficlive.api.ITrafficLiveCallBack{*;} +-keep class com.mogo.cloud.trafficlive.api.MoGoAiCloudTrafficLive{*;} \ No newline at end of file diff --git a/modules/mogo-trafficlive/src/main/java/com/mogo/cloud/trafficlive/api/MoGoAiCloudTrafficLive.java b/modules/mogo-trafficlive/src/main/java/com/mogo/cloud/trafficlive/api/MoGoAiCloudTrafficLive.java index f5558df..c867080 100644 --- a/modules/mogo-trafficlive/src/main/java/com/mogo/cloud/trafficlive/api/MoGoAiCloudTrafficLive.java +++ b/modules/mogo-trafficlive/src/main/java/com/mogo/cloud/trafficlive/api/MoGoAiCloudTrafficLive.java @@ -32,8 +32,8 @@ public class MoGoAiCloudTrafficLive { /** * 停止观看直播 */ - public static void stopLive() { - TrafficLiveManager.getInstance().stopLive(); + public static void stopLive(String liveSn) { + TrafficLiveManager.getInstance().stopLive(liveSn); } /** diff --git a/modules/mogo-trafficlive/src/main/java/com/mogo/cloud/trafficlive/core/TrafficLiveManager.java b/modules/mogo-trafficlive/src/main/java/com/mogo/cloud/trafficlive/core/TrafficLiveManager.java index e392000..59445bd 100644 --- a/modules/mogo-trafficlive/src/main/java/com/mogo/cloud/trafficlive/core/TrafficLiveManager.java +++ b/modules/mogo-trafficlive/src/main/java/com/mogo/cloud/trafficlive/core/TrafficLiveManager.java @@ -12,6 +12,8 @@ import com.mogo.cloud.passport.MoGoAiCloudClient; import com.mogo.cloud.trafficlive.api.ITrafficLiveCallBack; import com.mogo.utils.logger.Logger; +import static com.mogo.cloud.live.constant.LiveConstant.LIVE_TYPE_CLOSE; +import static com.mogo.cloud.live.constant.LiveConstant.LIVE_TYPE_OPEN; import static com.mogo.cloud.trafficlive.constant.TrafficLiveConstant.TAG; public class TrafficLiveManager implements ILiveProgressListener { @@ -60,7 +62,7 @@ public class TrafficLiveManager implements ILiveProgressListener { this.callBack = trafficLiveCallBack; this.surfaceView = surfaceView; - requestLiveManager.requestVehicleHeadLive(application, liveSn, new IRequestLiveListener() { + requestLiveManager.requestVehicleHeadLive(LIVE_TYPE_OPEN, liveSn, new IRequestLiveListener() { @Override public void onSuccess() { String sn = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn(); @@ -81,8 +83,19 @@ public class TrafficLiveManager implements ILiveProgressListener { } - public void stopLive() { - MoGoLiveManager.getInstance().stopLive(); + public void stopLive(String liveSn) { + requestLiveManager.requestVehicleHeadLive(LIVE_TYPE_CLOSE, liveSn, new IRequestLiveListener() { + @Override + public void onSuccess() { + MoGoLiveManager.getInstance().stopLive(); + } + + @Override + public void onError(Throwable e) { + MoGoLiveManager.getInstance().stopLive(); + callBack.onError(e.getMessage()); + } + }); surfaceView = null; callBack = null; isLoginSuccess = false; diff --git a/modules/mogo-trafficlive/src/main/java/com/mogo/cloud/trafficlive/net/TrafficLiveApiService.java b/modules/mogo-trafficlive/src/main/java/com/mogo/cloud/trafficlive/net/TrafficLiveApiService.java deleted file mode 100644 index 9efdbd7..0000000 --- a/modules/mogo-trafficlive/src/main/java/com/mogo/cloud/trafficlive/net/TrafficLiveApiService.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.mogo.cloud.trafficlive.net; - -public interface TrafficLiveApiService { - - -}