This commit is contained in:
zhongchao
2022-03-31 16:53:43 +08:00
parent 6209e76616
commit 55bc199f0d
79 changed files with 83 additions and 3260 deletions

View File

@@ -1,17 +1,12 @@
package com.mogo.service;
import android.content.Context;
import com.alibaba.android.arouter.facade.template.IProvider;
import com.mogo.service.analytics.IMogoAnalytics;
import com.mogo.service.cloud.location.IMogoLocationInfoService;
import com.mogo.service.cloud.passport.IMogoPassportManager;
import com.mogo.service.cloud.socket.IMogoSocketManager;
import com.mogo.service.datamanager.IMogoDataManager;
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
import com.mogo.service.imageloader.IMogoImageloader;
import com.mogo.service.intent.IMogoIntentManager;
import com.mogo.service.module.IMogoActionManager;
import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.service.v2x.DisplayEffectsInterface;
@@ -34,13 +29,6 @@ public interface IMogoServiceApis extends IProvider {
*/
IMogoAnalytics getAnalyticsApi();
/**
* 获取socket操作api
*
* @return
*/
IMogoSocketManager getSocketManagerApi(Context context);
/**
* 大而全的数据管理接口
*
@@ -90,13 +78,6 @@ public interface IMogoServiceApis extends IProvider {
*/
IMogoWindowManager getWindowManagerApi();
/**
* 动作控制
*
* @return
*/
IMogoActionManager getActionManagerApi();
/**
* 获取顶部1/2屏界面管理类
@@ -112,17 +93,4 @@ public interface IMogoServiceApis extends IProvider {
*/
DisplayEffectsInterface getDisplayEffectsManager();
/**
* 获取位置上报服务接口
*
* @return
*/
IMogoLocationInfoService getLocationInfoApi();
/**
* 获取位置上报服务接口
*
* @return
*/
IMogoPassportManager getPassportManagerApi();
}

View File

@@ -1,314 +0,0 @@
package com.mogo.service.cloud.location;
import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.RequiresApi;
import java.util.Objects;
/**
* 自车定位信息
*/
public class CloudLocationInfo implements Parcelable {
/**
* 纬度
*/
private double lat;
/**
* 经度
*/
private double lon;
/**
* 车头方向
*/
private double heading;
/**
* 系统时间
*/
private long systemTime;
/**
* 卫星时间
*/
private long satelliteTime;
/**
* 海拔
*/
private double alt;
/**
* 车速
*/
private double speed;
/**
* 车辆类型
* 0:普通车辆、家用车
*/
private int vehicleType = 0;
/**
* 道路ID
*/
private String roadId;
/**
* 车道ID-2D路段
*/
private String laneId;
/**
* 车道号中心线编号为0中心线右侧编号为负数3车道通行Road的车道编号0-1-2-3
*/
private int laneNum;
/**
* 限速
*/
private double rateLimiting;
/**
* 瓦片id
*/
private String tileId;
/**
* 车道宽度
*/
private double roadWidth;
public CloudLocationInfo() {
}
public CloudLocationInfo(CloudLocationInfo info) {
this.lat = info.getLat();
this.lon = info.getLon();
this.heading = info.getHeading();
this.systemTime = System.currentTimeMillis();
this.satelliteTime = System.currentTimeMillis();
this.alt = info.alt;
this.speed = info.speed;
this.vehicleType = info.vehicleType;
this.roadId = info.roadId;
this.laneId = info.laneId;
this.laneNum = info.laneNum;
this.rateLimiting = info.rateLimiting;
this.tileId = info.tileId;
this.roadWidth = info.roadWidth;
}
protected CloudLocationInfo(Parcel in) {
lat = in.readDouble();
lon = in.readDouble();
heading = in.readDouble();
systemTime = in.readLong();
satelliteTime = in.readLong();
alt = in.readDouble();
speed = in.readDouble();
vehicleType = in.readInt();
roadId = in.readString();
laneId = in.readString();
laneNum = in.readInt();
rateLimiting = in.readDouble();
tileId = in.readString();
roadWidth = in.readDouble();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeDouble(lat);
dest.writeDouble(lon);
dest.writeDouble(heading);
dest.writeLong(systemTime);
dest.writeLong(satelliteTime);
dest.writeDouble(alt);
dest.writeDouble(speed);
dest.writeInt(vehicleType);
dest.writeString(roadId);
dest.writeString(laneId);
dest.writeInt(laneNum);
dest.writeDouble(rateLimiting);
dest.writeString(tileId);
dest.writeDouble(roadWidth);
}
@Override
public int describeContents() {
return 0;
}
public static final Creator<CloudLocationInfo> CREATOR = new Creator<CloudLocationInfo>() {
@Override
public CloudLocationInfo createFromParcel(Parcel in) {
return new CloudLocationInfo(in);
}
@Override
public CloudLocationInfo[] newArray(int size) {
return new CloudLocationInfo[size];
}
};
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;
}
public double getHeading() {
return heading;
}
public void setHeading(double heading) {
this.heading = heading;
}
public long getSystemTime() {
return systemTime;
}
public void setSystemTime(long systemTime) {
this.systemTime = systemTime;
}
public long getSatelliteTime() {
return satelliteTime;
}
public void setSatelliteTime(long satelliteTime) {
this.satelliteTime = satelliteTime;
}
public double getAlt() {
return alt;
}
public void setAlt(double alt) {
this.alt = alt;
}
public double getSpeed() {
return speed;
}
public void setSpeed(double speed) {
this.speed = speed;
}
public int getVehicleType() {
return vehicleType;
}
public void setVehicleType(int vehicleType) {
this.vehicleType = vehicleType;
}
public String getRoadId() {
return roadId;
}
public void setRoadId(String roadId) {
this.roadId = roadId;
}
public String getLaneId() {
return laneId;
}
public void setLaneId(String laneId) {
this.laneId = laneId;
}
public int getLaneNum() {
return laneNum;
}
public void setLaneNum(int laneNum) {
this.laneNum = laneNum;
}
public double getRateLimiting() {
return rateLimiting;
}
public void setRateLimiting(double rateLimiting) {
this.rateLimiting = rateLimiting;
}
public String getTileId() {
return tileId;
}
public void setTileId(String tileId) {
this.tileId = tileId;
}
public double getRoadWidth() {
return roadWidth;
}
public void setRoadWidth(double roadWidth) {
this.roadWidth = roadWidth;
}
@Override
public String toString() {
return "CloudLocationInfo{" +
"lat=" + lat +
", lon=" + lon +
", heading=" + heading +
", systemTime=" + systemTime +
", satelliteTime=" + satelliteTime +
", alt=" + alt +
", speed=" + speed +
", vehicleType=" + vehicleType +
", roadId='" + roadId + '\'' +
", laneId='" + laneId + '\'' +
", laneNum=" + laneNum +
", rateLimiting=" + rateLimiting +
", tileId=" + tileId +
", roadWidth=" + roadWidth +
'}';
}
public String print() {
return "CloudLocation{ lon: " + lon + " lat: " + lat + " heading: " + heading + " speed: "
+ speed + " vehicleType: " + vehicleType + "}";
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
CloudLocationInfo that = (CloudLocationInfo) o;
return Double.compare(that.lat, lat) == 0 &&
Double.compare(that.lon, lon) == 0;
}
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
public int hashCode() {
return Objects.hash(lat, lon);
}
}

View File

@@ -1,25 +0,0 @@
package com.mogo.service.cloud.location;
import com.alibaba.android.arouter.facade.template.IProvider;
import com.mogo.eagle.core.data.map.MogoLocation;
public
/**
* @author congtaowang
* @since 2020/7/16
*
* 位置服务:上报位置信息和车机状态
*/
interface IMogoLocationInfoService extends IProvider {
/**
* 提供位置信息
*
* @param location
*/
void provideLocation( MogoLocation location );
void start();
void stop();
}

View File

@@ -1,15 +0,0 @@
package com.mogo.service.cloud.passport;
import com.alibaba.android.arouter.facade.template.IProvider;
public
/**
* @author congtaowang
* @since 2020/7/16
*
* 描述
*/
interface IMogoPassportManager extends IProvider {
void requestTicket( IMogoTicketCallback callback );
}

View File

@@ -1,17 +0,0 @@
package com.mogo.service.cloud.passport;
public
/**
* @author congtaowang
* @since 2020/7/16
* <p>
* ticket 回调
*/
interface IMogoTicketCallback {
void onTicketGot( String ticket );
void onError( int code, String msg );
void onLoginSuccess(String token, String sn);
}

View File

@@ -1,17 +0,0 @@
package com.mogo.service.cloud.socket;
/**
* @author congtaowang
* @since 2020-02-20
* <p>
* 长链接口数据接口
*/
public interface IMessageResponse {
/**
* 设置消息id
*
* @param msgId
*/
void setMsgId( long msgId );
}

View File

@@ -1,9 +0,0 @@
package com.mogo.service.cloud.socket;
public interface IMogoLifecycleListener {
void onConnectFailure();
void onConnectSuccess();
void onConnectLost();
}

View File

@@ -1,15 +0,0 @@
package com.mogo.service.cloud.socket;
/**
* @author congtaowang
* @since 2020-01-01
* <p>
* 消息回执监听
*/
public interface IMogoMsgAckListener {
/**
* 消息回执
*/
void onAck( long msgId );
}

View File

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

View File

@@ -1,27 +0,0 @@
package com.mogo.service.cloud.socket;
/**
* 消息回调
*/
public interface IMogoOnWebSocketMessageListener<T> {
default WebSocketMsgType getDownLinkType() {
return null;
}
default WebSocketMsgType getUpLinkType() {
return null;
}
default Class<T> target() {
return null;
}
default void onMsgReceived(T obj) {
}
default void onError(String errorMsg) {
}
}

View File

@@ -1,65 +0,0 @@
package com.mogo.service.cloud.socket;
import android.content.Context;
import com.alibaba.android.arouter.facade.template.IProvider;
import com.mogo.cloud.socket.entity.MsgBody;
/**
* @author congtaowang
* @since 2019-12-31
* <p>
* socket 长链
*/
public interface IMogoSocketManager extends IProvider {
/**
* 初始化,各模块不用关心
*
* @param context 上下文
* @param appId 一般为包名,不参与通道的建立,一般用于发消息
*/
void init( Context context, String appId , double lat, double lon);
/**
* 注册消息监听
*
* @param msgType 消息类型
* @param listener 回调
*/
void registerOnMessageListener( int msgType, IMogoOnMessageListener listener );
/**
* 注销消息监听
*
* @param msgType 消息类型
* use {@link #unregisterOnMessageListener(int, IMogoOnMessageListener)} instead.
*/
@Deprecated
void unregisterOnMessageListener( int msgType );
/**
* 注销消息监听
*
* @param msgType 消息类型
*/
void unregisterOnMessageListener( int msgType, IMogoOnMessageListener listener );
void registerLifecycleListener(int msgType,IMogoLifecycleListener listener);
void unregisterLifecycleListener(int msgType);
/**
* 发送消息
*
* @param body 消息体
* @param listener 回执监听
*/
void sendMsg(MsgBody body, IMogoMsgAckListener listener );
/**
* 停止Socket服务
*/
void destroy();
}

View File

@@ -1,46 +0,0 @@
package com.mogo.service.cloud.socket;
import android.content.Context;
import com.alibaba.android.arouter.facade.template.IProvider;
public interface IMogoWebSocketManager<T> extends IProvider {
/**
* 初始化,各模块不用关心
*
* @param context 上下文
* @param appId 一般为包名,不参与通道的建立,一般用于发消息
*/
void init( Context context, String appId );
/**
* 注册消息监听
*
* @param listener 回调
*/
void registerOnWebSocketMessageListener(IMogoOnWebSocketMessageListener listener );
/**
* 注销消息监听
*
*/
void unregisterOnWebSocketMessageListener(IMogoOnWebSocketMessageListener listener );
/**
* 发送消息
*
* @param body 消息体
* @param listener 回执监听
*/
default void sendMsg( T body, IMogoOnWebSocketMessageListener listener ){
}
/**
* 停止socket服务
*/
default void stop(){
}
}

View File

@@ -1,24 +0,0 @@
package com.mogo.service.cloud.socket;
public enum WebSocketMsgType {
MSG_TYPE_UPLINK_CAR_DATA(0,"自车与ADAS数据"),
MSG_TYPE_DOWNLINK_CAR_DATA(1,"服务端下发车辆信息"),
MSG_TYPE_ACK(3, "ACK");
private int msgType;
private String msg;
WebSocketMsgType(int msgType, String msg) {
this.msgType = msgType;
this.msg = msg;
}
public int getMsgType() {
return msgType;
}
public void setMsgType(int msgType) {
this.msgType = msgType;
}
}

View File

@@ -1,17 +0,0 @@
package com.mogo.service.module;
/**
* @author congtaowang
* @since 2020-03-12
* <p>
* 翻页回调
*/
public interface IMogoActionListener {
/**
* 执行动作
*
* @param action
*/
void onActionDone( MogoAction action );
}

View File

@@ -1,57 +0,0 @@
package com.mogo.service.module;
import com.alibaba.android.arouter.facade.template.IProvider;
/**
* @author congtaowang
* @since 2020-03-12
* <p>
* 基础动作指令控制
*/
public interface IMogoActionManager extends IProvider {
/**
* 注册动作监听回调
*
* @param biz 具体业务
* @param listener 回调
*/
void registerActionListener( String biz, IMogoActionListener listener );
/**
* 取消动作翻页回调
*
* @param biz 具体业务
* @param listener 回调
*/
void unregisterActionListener( String biz, IMogoActionListener listener );
/**
* 回调
*
* @param biz 业务
* @param action 动作
*/
void invoke( String biz, MogoAction action );
/**
* 主模块注册业务回调
*
* @param listener
*/
void registerBizActionDoneListener( IMogoBizActionDoneListener listener );
/**
* 主模块注销业务回调
*/
void unregisterBizActionDoneListener();
/**
* 业务回调信息到主模块
*
* @param biz
* @param position
* @param data
*/
void bizInvoke( String biz, int position, Object data );
}

View File

@@ -1,17 +0,0 @@
package com.mogo.service.module;
/**
* @author congtaowang
* @since 2020-03-12
* <p>
* 业务回调各自的当前动作
*/
public interface IMogoBizActionDoneListener {
/**
* @param biz 业务
* @param position 位置
* @param data 数据
*/
void onBizActionDone( String biz, int position, Object data );
}

View File

@@ -1,20 +0,0 @@
package com.mogo.service.module;
/**
* @author congtaowang
* @since 2020-03-12
* <p>
* 描述
*/
public enum MogoAction {
/**
* 上一个
*/
Prev,
/**
* 下一个
*/
Next
}

View File

@@ -30,13 +30,6 @@ public interface IMogoStatusManager extends IProvider {
*/
boolean isV2XShow();
/**
* push UI 是否在展示
*
* @return
*/
boolean isPushShow();
/**
* 是否开机
*
@@ -44,7 +37,6 @@ public interface IMogoStatusManager extends IProvider {
*/
boolean isAccOn();
/**
* 是否有用户交互
*
@@ -52,19 +44,6 @@ public interface IMogoStatusManager extends IProvider {
*/
boolean isUserInteracted();
/**
* 用户是否在搜索
*
* @return
*/
boolean isSearchUIShow();
/**
* APP 列表是否显示
*
* @return
*/
boolean isAppListUIShow();
/**
* 主页是否显示
@@ -80,34 +59,6 @@ public interface IMogoStatusManager extends IProvider {
*/
boolean isMainPageIsBackground();
/**
* 小智语音是否准备完毕
*
* @return
*/
boolean isAIAssistReady();
/**
* 求助状态
*
* @return
*/
boolean isSeekHelping();
/**
* 是否在查看全程状态
*
* @return
*/
boolean isDisplayOverview();
/**
* 是否在查看全程状态
*
* @return
*/
boolean isUploading();
/**
* 主页是否已启动
*
@@ -115,19 +66,6 @@ public interface IMogoStatusManager extends IProvider {
*/
boolean isMainPageLaunched();
/**
* 对话框是否展示
* @return
*/
boolean isCallViewShow();
/**
* 设置对话框展示状态
* @param tag
* @param status
*/
void setCallViewShow(String tag, boolean status);
/**
* 设置vrMode状态
* @param tag 业务类型
@@ -135,19 +73,6 @@ public interface IMogoStatusManager extends IProvider {
*/
void setVrMode(String tag, boolean vrMode);
/**
* 媒体是否正在播放
* @return true - 正在播放 false - 没有播放
*/
boolean isMediaPlaying();
/**
* 设置媒体播放状态
* @param tag 业务类型
* @param status true - 正在播放 false - 未在播放
*/
void setMediaPlayStatus(String tag, boolean status);
/**
* 设置topView展示状态
* @param tag 业务类型
@@ -163,15 +88,6 @@ public interface IMogoStatusManager extends IProvider {
*/
void setVoiceUIShow( String tag, boolean show );
/**
* 设置 ADAS UI 状态
*
* @param tag 业务类型
* @param show true - 显示 false - 隐藏
*/
@Deprecated
void setADASUIShow( String tag, boolean show );
/**
* 设置 V2X UI 状态
* <p>
@@ -181,14 +97,6 @@ public interface IMogoStatusManager extends IProvider {
*/
void setV2XUIShow( String tag, boolean show );
/**
* 设置 PUSH UI 状态
*
* @param tag 业务类型
* @param show true - 显示 false - 隐藏
*/
void setPushUIShow( String tag, boolean show );
/**
* 设置 acc 状态
*
@@ -206,19 +114,6 @@ public interface IMogoStatusManager extends IProvider {
*/
void setUserInteractionStatus( String tag, boolean interrupt, boolean callback );
/**
* 搜索页面显示状态
*/
void setSearchUIShow( String tag, boolean isShow );
/**
* app 列表是否显示
*
* @param tag
* @param isShow
*/
void setAppListUIShow( String tag, boolean isShow );
/**
* 主页 resume 状态
*
@@ -251,22 +146,6 @@ public interface IMogoStatusManager extends IProvider {
*/
void setSeekHelping( String tag, boolean seekHelping );
/**
* 设置展示全程状态
*
* @param tag
* @param display
*/
void setDisplayOverview( String tag, boolean display );
/**
* 设置展示全程状态
*
* @param tag
* @param uploading
*/
void setUploadingStatus( String tag, boolean uploading );
/**
* 设置主页是否启动
*

View File

@@ -8,18 +8,6 @@ package com.mogo.service.statusmanager;
*/
public enum StatusDescriptor {
/**
* adas UI
* Deprecated, use {@link #V2X_UI} instead.
*/
@Deprecated
ADAS_UI,
/**
* 推送UI弹窗
*/
PUSH_UI,
/**
* v2x UI
*/
@@ -40,16 +28,6 @@ public enum StatusDescriptor {
*/
USER_INTERACTED,
/**
* 搜索页面
*/
SEARCH_UI,
/**
* app 列表
*/
APP_LIST_UI,
/**
* 主页 resume 状态
*/
@@ -70,28 +48,16 @@ public enum StatusDescriptor {
*/
SEEK_HELPING,
/**
* 展示全程
*/
DISPLAY_OVERVIEW,
/**
* 上报状态
*/
UPLOADING,
/**
* 是否已经进入过主页
*/
MAIN_PAGE_CREATED,
/**
* topView展示状态
*/
TOP_VIEW,
/**
* 媒体播放状态
*/
MEDIA_PLAYER_STATUS,
/**
* 是否已经进入vr模式
*/
@@ -101,8 +67,6 @@ public enum StatusDescriptor {
* 顶部弹框容器准备就绪
*/
TOP_CONTAINER_READY,
/**
* 聊天框是否正在展示
*/
CALL_VIEW
}