From f60490f19db29e105415892e1caafecb7bbf210b Mon Sep 17 00:00:00 2001 From: zhongchao Date: Tue, 6 Apr 2021 13:58:14 +0800 Subject: [PATCH] finish the interface of live --- .../java/com/mogo/cloud/LivePlayActivity.java | 1 + .../java/com/mogo/cloud/MainActivity.java | 13 ++++- .../live/manager/RequestLiveManager.java | 11 ++--- .../mogo/cloud/live/model/LiveCameraPush.java | 47 ------------------- .../cloud/live/network/LiveApiServer.java | 10 ++-- .../api/MoGoAiCloudTrafficLive.java | 6 +-- .../core/TrafficLiveCurrentManager.java | 11 ++--- 7 files changed, 28 insertions(+), 71 deletions(-) delete mode 100644 foudations/mogo-live/src/main/java/com/mogo/cloud/live/model/LiveCameraPush.java diff --git a/app/src/main/java/com/mogo/cloud/LivePlayActivity.java b/app/src/main/java/com/mogo/cloud/LivePlayActivity.java index d38e6ff..640e275 100644 --- a/app/src/main/java/com/mogo/cloud/LivePlayActivity.java +++ b/app/src/main/java/com/mogo/cloud/LivePlayActivity.java @@ -38,6 +38,7 @@ public class LivePlayActivity extends AppCompatActivity implements ITrafficCarLi if (isChecked) { liveSn = etLookRoomId.getText().toString().trim(); MoGoAiCloudTrafficLive.viewDesignativeVehicleLive(liveSn, surfaceView, this); + //just for test // MoGoAiCloudTrafficLive.viewFrontVehicleLive(39.968253, 116.410829, 0, surfaceView, this); } else { MoGoAiCloudTrafficLive.stopCarLive(liveSn); diff --git a/app/src/main/java/com/mogo/cloud/MainActivity.java b/app/src/main/java/com/mogo/cloud/MainActivity.java index 14c6b63..1476e94 100644 --- a/app/src/main/java/com/mogo/cloud/MainActivity.java +++ b/app/src/main/java/com/mogo/cloud/MainActivity.java @@ -92,7 +92,7 @@ public class MainActivity extends AppCompatActivity { btnRequestXINGLive = findViewById(R.id.btnRequestXINGLive); btnRequestXINGLive.setOnClickListener(v -> { - MoGoAiCloudTrafficLive.viewFrontIntersectionLive(40.11547, 116.22544, 60, new ITrafficIntersectionLiveCallBack() { + MoGoAiCloudTrafficLive.viewDesignativeIntersectionLive("POLE1617103029423", new ITrafficIntersectionLiveCallBack() { @Override public void liveUrlResult(String liveUrl) { Logger.d(TAG, "liveUrl : " + liveUrl); @@ -103,6 +103,17 @@ public class MainActivity extends AppCompatActivity { Logger.e(TAG, "errorMsg : " + errorMsg); } }); +// MoGoAiCloudTrafficLive.viewFrontIntersectionLive(40.11547, 116.22544, 60, new ITrafficIntersectionLiveCallBack() { +// @Override +// public void liveUrlResult(String liveUrl) { +// Logger.d(TAG, "liveUrl : " + liveUrl); +// } +// +// @Override +// public void onError(String errorMsg) { +// Logger.e(TAG, "errorMsg : " + errorMsg); +// } +// }); }); MoGoAiCloudClient.getInstance().addTokenCallbacks(new IMoGoTokenCallback() { 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 45012de..1ec29ab 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 @@ -4,7 +4,6 @@ import com.google.gson.Gson; import com.mogo.cloud.live.constant.LiveConstant; import com.mogo.cloud.live.listener.IRequestLiveListener; import com.mogo.cloud.live.model.BaseData; -import com.mogo.cloud.live.model.LiveCameraPush; import com.mogo.cloud.live.model.LivePush; import com.mogo.cloud.live.model.LiveReceive; import com.mogo.cloud.live.network.LiveApiServer; @@ -201,17 +200,13 @@ public class RequestLiveManager { * 请求服务器查看特定设备路口直播 * * @param cameraId 设备id - * @param lat 纬度 - * @param lon 经度 * @param requestLiveListener {@link IRequestLiveListener} */ - public void requestDesignativeIntersectionLive(int cameraId, double lat, double lon, IRequestLiveListener requestLiveListener) { + public void requestDesignativeIntersectionLive(String cameraId, IRequestLiveListener requestLiveListener) { Gson gson = new Gson(); String sn = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn(); - LiveCameraPush livePush = new LiveCameraPush(cameraId, lat, lon); - Map map = new HashMap<>(); - map.put("sn", sn); - map.put("data", gson.toJson(livePush)); + Map map = new HashMap<>(); + map.put("unitSn", cameraId); liveApiServer.getDesignativeIntersectionLive(map) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/model/LiveCameraPush.java b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/model/LiveCameraPush.java deleted file mode 100644 index df15e2b..0000000 --- a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/model/LiveCameraPush.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.mogo.cloud.live.model; - -public class LiveCameraPush { - - private int id; //摄像头id - private double lat; //纬度 - private double lon; //经度 - - public LiveCameraPush(int id, double lat, double lon) { - this.id = id; - this.lat = lat; - this.lon = lon; - } - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public double getLat() { - return lat; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public double getLon() { - return lon; - } - - public void setLon(double lon) { - this.lon = lon; - } - - @Override - public String toString() { - return "LiveCameraPush{" + - "id=" + id + - ", lat=" + lat + - ", lon=" + lon + - '}'; - } -} diff --git a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/network/LiveApiServer.java b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/network/LiveApiServer.java index 92786ed..8a942b1 100644 --- a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/network/LiveApiServer.java +++ b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/network/LiveApiServer.java @@ -6,9 +6,13 @@ import com.mogo.cloud.live.model.LiveReceive; import java.util.Map; import io.reactivex.Observable; +import retrofit2.http.Field; import retrofit2.http.FieldMap; import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; import retrofit2.http.POST; +import retrofit2.http.Query; +import retrofit2.http.QueryMap; /** * 直播功能使用到的接口 @@ -47,10 +51,8 @@ public interface LiveApiServer { /** * 获取固定路口摄像头直播Url * - * @param designativeIntersectionLiveMap 请求数据 * @return {@link BaseData} */ - @FormUrlEncoded - @POST("") - Observable> getDesignativeIntersectionLive(@FieldMap Map designativeIntersectionLiveMap); + @GET("mec-etl-server/device/unit/camera/live") + Observable> getDesignativeIntersectionLive(@QueryMap Map parameters); } 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 aa28ccd..38b7b93 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 @@ -67,13 +67,11 @@ public class MoGoAiCloudTrafficLive { * 查看指定路口摄像头直播 * * @param cameraId 设备id - * @param lat 纬度 - * @param lon 经度 * @param callBack {@link ITrafficIntersectionLiveCallBack}直播回调 */ - public static void viewDesignativeIntersectionLive(int cameraId, double lat, double lon, ITrafficIntersectionLiveCallBack callBack) { + public static void viewDesignativeIntersectionLive(String cameraId, ITrafficIntersectionLiveCallBack callBack) { try { - TrafficLiveCurrentManager.getInstance().viewDesignativeIntersectionLive(cameraId, lat, lon, callBack); + TrafficLiveCurrentManager.getInstance().viewDesignativeIntersectionLive(cameraId, callBack); } catch (Exception e) { Logger.e(TAG, " viewDesignativeIntersectionLive error : " + e); callBack.onError(e != null ? e.getMessage() : "check input param"); 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 98049cb..6187f55 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 @@ -155,14 +155,11 @@ public class TrafficLiveCurrentManager }); } - public void viewDesignativeIntersectionLive(int cameraId, double lat, double lon, ITrafficIntersectionLiveCallBack callBack) throws Exception { - if (lat == 0.0 || lon == 0.0) { - throw new Exception("param lat and lon can not be 0.0f"); + public void viewDesignativeIntersectionLive(String cameraId, ITrafficIntersectionLiveCallBack callBack) throws Exception { + if (TextUtils.isEmpty(cameraId)) { + throw new Exception("param cameraId can not be null"); } - if (cameraId < 0) { - throw new Exception("param bearing can not less than 0"); - } - requestLiveManager.requestDesignativeIntersectionLive(cameraId, lat, lon, new IRequestLiveListener() { + requestLiveManager.requestDesignativeIntersectionLive(cameraId, new IRequestLiveListener() { @Override public void onSuccess(String liveUrl) { callBack.liveUrlResult(liveUrl);