增加了新的上传摄像头状态的接口
This commit is contained in:
16
.idea/codeStyles/Project.xml
generated
16
.idea/codeStyles/Project.xml
generated
@@ -1,6 +1,22 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<JetCodeStyleSettings>
|
||||
<option name="PACKAGES_TO_USE_STAR_IMPORTS">
|
||||
<value>
|
||||
<package name="java.util" alias="false" withSubpackages="false" />
|
||||
<package name="kotlinx.android.synthetic" alias="false" withSubpackages="true" />
|
||||
<package name="io.ktor" alias="false" withSubpackages="true" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="PACKAGES_IMPORT_LAYOUT">
|
||||
<value>
|
||||
<package name="" alias="false" withSubpackages="true" />
|
||||
<package name="java" alias="false" withSubpackages="true" />
|
||||
<package name="javax" alias="false" withSubpackages="true" />
|
||||
<package name="kotlin" alias="false" withSubpackages="true" />
|
||||
<package name="" alias="true" withSubpackages="true" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
|
||||
</JetCodeStyleSettings>
|
||||
<codeStyleSettings language="XML">
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
package com.mogo.cloud.live.manager;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.mogo.cloud.GsonUtil;
|
||||
import com.mogo.cloud.live.model.BaseData;
|
||||
import com.mogo.cloud.live.model.CameraStatusModel;
|
||||
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;
|
||||
|
||||
import io.reactivex.Observer;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.annotations.NonNull;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
import okhttp3.MediaType;
|
||||
import okhttp3.RequestBody;
|
||||
|
||||
|
||||
/**
|
||||
* 摄像头状态管理
|
||||
*/
|
||||
public class CameraStatusManager {
|
||||
private final String TAG = "CameraStatusManager";
|
||||
|
||||
private static volatile CameraStatusManager requestLiveManager;
|
||||
private final LiveApiServer liveApiServer;
|
||||
|
||||
private CameraStatusManager() {
|
||||
liveApiServer = RetrofitFactory.INSTANCE.getInstance(NetConstants.TECH_HOST) //todo 涉及摄像头状态管理接口 没有对HttpDNS进行配置
|
||||
.create(LiveApiServer.class);
|
||||
}
|
||||
|
||||
public static CameraStatusManager getInstance() {
|
||||
if (requestLiveManager == null) {
|
||||
synchronized (CameraStatusManager.class) {
|
||||
if (requestLiveManager == null) {
|
||||
requestLiveManager = new CameraStatusManager();
|
||||
}
|
||||
}
|
||||
}
|
||||
return requestLiveManager;
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传当前车机摄像头状态
|
||||
*
|
||||
* @param c_1 前置
|
||||
* @param c_2 后置
|
||||
*/
|
||||
public void reportCameraStatus(int c_1, int c_2) {
|
||||
try {
|
||||
String sn = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn();
|
||||
|
||||
CameraStatusModel cameraStatusModel = new CameraStatusModel();
|
||||
CameraStatusModel.CameraStatus cameraStatus = new CameraStatusModel.CameraStatus();
|
||||
cameraStatus.setC_1(c_1);
|
||||
cameraStatus.setC_2(c_2);
|
||||
|
||||
cameraStatusModel.setSn(sn);
|
||||
cameraStatusModel.setCaller("AiSDK");
|
||||
cameraStatusModel.setSdkVersion("1.0.1");
|
||||
cameraStatusModel.setCameraStatus(cameraStatus);
|
||||
|
||||
RequestBody requestBody = RequestBody.create( MediaType.get( "application/json;charset=UTF-8" ), GsonUtil.jsonFromObject( cameraStatusModel ) );
|
||||
|
||||
|
||||
liveApiServer.reportCameraStatus(requestBody)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<BaseData>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Logger.d(TAG, "上传摄像头状态 onSubscribe");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseData baseData) {
|
||||
Logger.d(TAG, "上传摄像头状态 onNext");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Logger.e(TAG, "上传摄像头状态 onError");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Logger.d(TAG, "上传摄像头状态 onComplete");
|
||||
}
|
||||
});
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -40,6 +40,8 @@ public class LiveStreamManagerImpl implements ILiveStreamManager {
|
||||
private final SocketMsgUtils mSocketMsgUtils; // Socket 长链接
|
||||
private MoGoLiveManager mLivePusher; // 自研直播SDK
|
||||
|
||||
private CameraStatusManager cameraStatusManager;
|
||||
|
||||
public static LiveStreamManagerImpl getInstance(Application application, String devicesId) {
|
||||
if (sInstance == null) {
|
||||
synchronized (LiveStreamManagerImpl.class) {
|
||||
@@ -56,6 +58,7 @@ public class LiveStreamManagerImpl implements ILiveStreamManager {
|
||||
private LiveStreamManagerImpl(Application application, String devicesId) {
|
||||
mApplication = application;
|
||||
mHandler = new Handler();
|
||||
cameraStatusManager = CameraStatusManager.getInstance();
|
||||
// 初始化直播推流
|
||||
initLivePush(devicesId);
|
||||
// 初始化Socket长连接通道
|
||||
@@ -133,6 +136,8 @@ public class LiveStreamManagerImpl implements ILiveStreamManager {
|
||||
msgBody.content(SocketRequestUtils.buildDeviceData(frontStatus, backStatus));
|
||||
|
||||
mSocketMsgUtils.uploadCamInfo(msgBody);
|
||||
|
||||
cameraStatusManager.reportCameraStatus(frontStatus, backStatus);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
package com.mogo.cloud.live.model;
|
||||
|
||||
/**
|
||||
* @author donghongyu
|
||||
* @date 4/25/21 11:31 AM
|
||||
* {
|
||||
* "caller": "AiSDK",
|
||||
* "cameraStatus": {
|
||||
* "C_1": 1,
|
||||
* "C_2": 2
|
||||
* },
|
||||
* "sdkVersion": "2.0.10",
|
||||
* "sn": "F803EB2046PZD00149"
|
||||
* }
|
||||
*/
|
||||
public class CameraStatusModel {
|
||||
|
||||
private String sn;
|
||||
private String caller;
|
||||
private String sdkVersion;
|
||||
private CameraStatus cameraStatus;
|
||||
|
||||
public String getSn() {
|
||||
return sn;
|
||||
}
|
||||
|
||||
public void setSn(String sn) {
|
||||
this.sn = sn;
|
||||
}
|
||||
|
||||
public String getCaller() {
|
||||
return caller;
|
||||
}
|
||||
|
||||
public void setCaller(String caller) {
|
||||
this.caller = caller;
|
||||
}
|
||||
|
||||
public String getSdkVersion() {
|
||||
return sdkVersion;
|
||||
}
|
||||
|
||||
public void setSdkVersion(String sdkVersion) {
|
||||
this.sdkVersion = sdkVersion;
|
||||
}
|
||||
|
||||
public CameraStatus getCameraStatus() {
|
||||
return cameraStatus;
|
||||
}
|
||||
|
||||
public void setCameraStatus(CameraStatus cameraStatus) {
|
||||
this.cameraStatus = cameraStatus;
|
||||
}
|
||||
|
||||
public static class CameraStatus{
|
||||
public int C_1;//前置
|
||||
public int C_2;//后置
|
||||
|
||||
public int getC_1() {
|
||||
return C_1;
|
||||
}
|
||||
|
||||
public void setC_1(int c_1) {
|
||||
C_1 = c_1;
|
||||
}
|
||||
|
||||
public int getC_2() {
|
||||
return C_2;
|
||||
}
|
||||
|
||||
public void setC_2(int c_2) {
|
||||
C_2 = c_2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,17 +1,19 @@
|
||||
package com.mogo.cloud.live.network;
|
||||
|
||||
import com.mogo.cloud.live.model.BaseData;
|
||||
import com.mogo.cloud.live.model.CameraStatusModel;
|
||||
import com.mogo.cloud.live.model.LiveReceive;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
import okhttp3.RequestBody;
|
||||
import retrofit2.http.Body;
|
||||
import retrofit2.http.FieldMap;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Headers;
|
||||
import retrofit2.http.POST;
|
||||
import retrofit2.http.Query;
|
||||
import retrofit2.http.QueryMap;
|
||||
|
||||
/**
|
||||
@@ -55,4 +57,12 @@ public interface LiveApiServer {
|
||||
*/
|
||||
@GET("mec-etl-server/device/unit/camera/live")
|
||||
Observable<BaseData<LiveReceive>> getDesignativeIntersectionLive(@QueryMap Map<String, Object> parameters);
|
||||
|
||||
/**
|
||||
* 上传摄像头状态
|
||||
*
|
||||
* @return {@link BaseData}
|
||||
*/
|
||||
@POST("alarm/car/video/reportCameraStatus")
|
||||
Observable<BaseData> reportCameraStatus(@Body RequestBody parameters);
|
||||
}
|
||||
|
||||
@@ -24,6 +24,9 @@ class NetConstants {
|
||||
const val TRAVEL_CONDITION_HOST = "http://dzt-travelCondition.zhidaozhixing.com"
|
||||
const val TMC_HOST = "http://dzt-tmcServer.zhidaozhixing.com"
|
||||
|
||||
const val TECH_HOST = "http://tech-dev.zhidaozhixing.com"
|
||||
|
||||
|
||||
const val IM_SOCKET_DOMAIN = "dzt-im.zhidaozhixing.com"
|
||||
const val WEBSOCKET_DOMAIN = "dzt-Instant.zhidaozhixing.com"
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ 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.0.71
|
||||
|
||||
Reference in New Issue
Block a user