[add] 接口补充

This commit is contained in:
liujing
2021-01-21 20:18:42 +08:00
parent 05dd0f86b5
commit 13c1af2727
4 changed files with 142 additions and 8 deletions

View File

@@ -4,30 +4,51 @@ import android.content.Context;
import com.mogo.cloud.passport.MoGoAiCloudClient;
import com.mogo.realtime.Interface.RealTimeProvider;
import com.mogo.realtime.connect.IMogoOnMessageListener;
import com.mogo.realtime.connect.MsgBody;
import com.mogo.realtime.constant.SnapshotUploadInTime;
import com.mogo.realtime.entity.ADASRecognizedResult;
import com.mogo.realtime.location.MogoRTKLocation;
import java.util.List;
import java.util.Map;
/**
* @author liujing
* @description 描述
* @since: 2021/1/21
*/
class RealTimeProviderImp implements RealTimeProvider {
public class RealTimeProviderImp implements RealTimeProvider {
private RealTimeProvider mDelegate;
@Override
public List<ADASRecognizedResult> getLastADASRecognizedResult() {
return null;
}
@Override
public void init(Context context) {
MogoRTKLocation.getInstance().init();
}
@Override
public float getDistanceBetweenTwoPoints() {
return 0;
}
@Override
public void init(Context context, String appId) {
if (mDelegate != null) {
mDelegate.init(context, appId);
}
}
@Override
public void registerOnMessageListener(int msgType, IMogoOnMessageListener listener) {
if (mDelegate != null) {
mDelegate.registerOnMessageListener(msgType, listener);
}
}
@Override
public void sendMsg(MsgBody body, IMogoOnMessageListener listener) {
if (mDelegate != null) {
mDelegate.sendMsg(body, listener);
}
}
}

View File

@@ -2,9 +2,12 @@ package com.mogo.realtime.Interface;
import android.content.Context;
import com.mogo.realtime.connect.IMogoOnMessageListener;
import com.mogo.realtime.connect.MsgBody;
import com.mogo.realtime.entity.ADASRecognizedResult;
import java.util.List;
import java.util.Map;
/**
* @author liujing
@@ -19,7 +22,32 @@ public interface RealTimeProvider {
*/
List<ADASRecognizedResult> getLastADASRecognizedResult();
void init(Context context);
/*
* 两个点之间的距离
* */
float getDistanceBetweenTwoPoints();
/**
* 初始化,各模块不用关心
*
* @param context 上下文
* @param appId 一般为包名,不参与通道的建立,一般用于发消息
*/
void init(Context context, String appId);
/**
* 注册消息监听
*
* @param msgType 消息类型
* @param listener 回调
*/
void registerOnMessageListener(int msgType, IMogoOnMessageListener listener);
/**
* 发送消息
*
* @param body 消息体
* @param listener 回执监听
*/
void sendMsg(MsgBody body, IMogoOnMessageListener listener );
}

View File

@@ -0,0 +1,14 @@
package com.mogo.realtime.connect;
/**
* @author congtaowang
* @since 2019-12-31
* <p>
* 消息回调
*/
public interface IMogoOnMessageListener< T > {
Class< T > target();
void onMsgReceived(T obj);
}

View File

@@ -0,0 +1,71 @@
package com.mogo.realtime.connect;
/**
* @author congtaowang
* @since 2019-12-31
* <p>
* 描述
*/
public class MsgBody {
/**
* 消息类型
*/
private int mMsgType;
// /**
// * 服务端分发,业务线
// */
// private int mProductLine = MogoCommon.Product.mogoBussiness_VALUE;
//
// /**
// *
// */
// private int mHeaderType = MogoConnsvr.MsgType.mogoMsgTypeDispatchSvrNoRspReq_VALUE;
/**
* 是否回执
*/
private boolean mAck = false;
/**
* 消息ID
*/
private final long mMsgId = System.currentTimeMillis();
/**
* 消息内容
*/
private Object mContent;
public MsgBody msgType( int msgType ) {
this.mMsgType = msgType;
return this;
}
public MsgBody ack( boolean ack ) {
this.mAck = ack;
return this;
}
public MsgBody content( Object object ) {
this.mContent = object;
return this;
}
public int getMsgType() {
return mMsgType;
}
public boolean isAck() {
return mAck;
}
public long getMsgId() {
return mMsgId;
}
public Object getContent() {
return mContent;
}
}