[Chat]车聊聊架构升级
This commit is contained in:
@@ -10,8 +10,6 @@ import com.mogo.eagle.core.utilcode.util.Utils
|
||||
import com.mogo.map.uicontroller.IMogoMapUIController
|
||||
import com.mogo.module.common.MogoApisHandler
|
||||
import com.mogo.service.statusmanager.IMogoStatusManager
|
||||
import com.zhidao.carchattingprovider.CallChattingProviderConstant
|
||||
import com.zhidao.carchattingprovider.ICarsChattingProvider
|
||||
import java.lang.ref.WeakReference
|
||||
import java.util.concurrent.atomic.AtomicReference
|
||||
|
||||
@@ -29,10 +27,6 @@ internal object BridgeApi {
|
||||
MogoApisHandler.getInstance().apis
|
||||
}
|
||||
|
||||
private val carChatProvider by lazy {
|
||||
ARouter.getInstance().build(CallChattingProviderConstant.CAR_CALL_PROVIDER).navigation(context()) as? ICarsChattingProvider
|
||||
}
|
||||
|
||||
private val v2xMarker by lazy {
|
||||
ARouter.getInstance().build(MoGoV2XServicePaths.PATH_V2X_MARKER_MANAGER).navigation(context()) as? IMoGoV2XMarkerManager
|
||||
}
|
||||
@@ -77,8 +71,6 @@ internal object BridgeApi {
|
||||
|
||||
fun overlay() = apis?.mapServiceApi?.getOverlayManager(context())
|
||||
|
||||
fun carChatProvider() = carChatProvider
|
||||
|
||||
fun marker() = apis?.mapServiceApi?.getMarkerManager(context())
|
||||
|
||||
fun v2xMarker() = v2xMarker
|
||||
|
||||
@@ -3,8 +3,10 @@ package com.mogo.eagle.core.function.v2x.events.receiver;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
import com.mogo.eagle.core.data.map.MogoLatLng;
|
||||
import com.mogo.eagle.core.function.call.chat.CallerChatManager;
|
||||
import com.mogo.eagle.core.function.call.map.CallerSmpManager;
|
||||
import com.mogo.eagle.core.function.v2x.events.bridge.BridgeApi;
|
||||
import com.mogo.eagle.core.function.v2x.events.consts.V2XConst;
|
||||
@@ -13,15 +15,13 @@ import com.mogo.eagle.core.function.v2x.events.entity.net.V2XSpecialCarRes;
|
||||
import com.mogo.eagle.core.function.v2x.events.utils.TestOnLineCarUtils;
|
||||
import com.mogo.eagle.core.function.v2x.events.utils.V2XSQLiteUtils;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.mogo.eagle.core.utilcode.util.Utils;
|
||||
import com.mogo.module.common.entity.MarkerExploreWay;
|
||||
import com.mogo.module.common.entity.V2XMessageEntity;
|
||||
import com.mogo.module.common.entity.V2XPushMessageEntity;
|
||||
import com.mogo.module.common.entity.V2XRoadEventEntity;
|
||||
import com.mogo.service.statusmanager.IMogoStatusManager;
|
||||
import com.zhidao.carchattingprovider.ICarsChattingProvider;
|
||||
import com.zhidao.carchattingprovider.MogoDriverInfo;
|
||||
import java.util.List;
|
||||
import static android.text.style.TtsSpan.GENDER_MALE;
|
||||
|
||||
/**
|
||||
* V2X 测试面板广播接收,目的是可以通过广播调用起来面板
|
||||
@@ -56,16 +56,7 @@ public class TestPanelBroadcastReceiver extends BroadcastReceiver {
|
||||
private void dispatchSceneTest(int sceneType) {
|
||||
Logger.d(TAG, "sceneType=" + sceneType);
|
||||
if (sceneType == 0) {//打开用户信息
|
||||
MogoDriverInfo mogoDriverInfo = new MogoDriverInfo();
|
||||
mogoDriverInfo.setAge(24);
|
||||
mogoDriverInfo.setGender(GENDER_MALE);
|
||||
mogoDriverInfo.setSn("12345678");
|
||||
mogoDriverInfo.setUserName("测试");
|
||||
mogoDriverInfo.setUserHead("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1600872867592&di=994e371880ca6ae2814f553e0d0e4139&imgtype=0&src=http%3A%2F%2Fp3.ssl.cdn.btime.com%2Ft014c5d8a1e5cef12ba.jpg%3Fsize%3D506x543");
|
||||
ICarsChattingProvider provider = BridgeApi.INSTANCE.carChatProvider();
|
||||
if (provider != null) {
|
||||
provider.showUserWindow("CAR_CALL_USER_TO_" + V2XConst.MODULE_NAME, mogoDriverInfo, mContext);
|
||||
}
|
||||
CallerChatManager.INSTANCE.call(Utils.getApp(), "X20202111230C01");
|
||||
} else if (sceneType == 1) {// 触发道路事件
|
||||
V2XMessageEntity<V2XRoadEventEntity> v2XMessageEntity =
|
||||
TestOnLineCarUtils.getV2XScenarioRoadEventData();
|
||||
|
||||
@@ -1,130 +0,0 @@
|
||||
package com.mogo.eagle.core.function.v2x.events.utils;
|
||||
|
||||
import static com.mogo.eagle.core.function.v2x.events.consts.V2XConst.MODULE_NAME;
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
|
||||
import com.mogo.eagle.core.function.v2x.events.bridge.BridgeApi;
|
||||
import com.mogo.eagle.core.function.v2x.events.consts.V2XConst;
|
||||
import com.mogo.module.common.entity.MarkerLocation;
|
||||
import com.mogo.module.common.entity.MarkerUserInfo;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
|
||||
import com.zhidao.carchattingprovider.CallChattingProviderConstant;
|
||||
import com.zhidao.carchattingprovider.ICallChatResponse;
|
||||
import com.zhidao.carchattingprovider.ICarsChattingProvider;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* author : donghongyu
|
||||
* e-mail : 1358506549@qq.com
|
||||
* date : 2020/4/15 4:26 PM
|
||||
* desc : 调用车聊聊的工具类
|
||||
* version: 1.0
|
||||
*/
|
||||
public class ChartingUtil {
|
||||
public interface ChartStatusListener {
|
||||
void canCall(boolean b);
|
||||
}
|
||||
|
||||
/**
|
||||
* 调用车聊聊拨打电话
|
||||
*
|
||||
* @param userInfo 用户数据
|
||||
* @param location 位置信息
|
||||
*/
|
||||
public static void callChatting(MarkerUserInfo userInfo, MarkerLocation location) {
|
||||
try {
|
||||
Map<String, String> params = new HashMap<>();
|
||||
params.put(CallChattingProviderConstant.CCPROVIDER_SN, userInfo.getSn());
|
||||
params.put(CallChattingProviderConstant.CCPROVIDER_USER_IMG, userInfo.getUserHead());
|
||||
params.put(CallChattingProviderConstant.CCPROVIDER_USER_AGE, userInfo.getAgeNumber() + "");
|
||||
params.put(CallChattingProviderConstant.CCPROVIDER_NICK_NAME, userInfo.getUserName());
|
||||
params.put(CallChattingProviderConstant.CCPROVIDER_USER_SEX, userInfo.getGender() + "");
|
||||
|
||||
if (location != null) {
|
||||
params.put(CallChattingProviderConstant.CCPROVIDER_ADDRESS, location.getAddress());
|
||||
params.put(CallChattingProviderConstant.CCPROVIDER_LAT, location.getLat() + "");
|
||||
params.put(CallChattingProviderConstant.CCPROVIDER_LON, location.getLon() + "");
|
||||
}
|
||||
|
||||
Logger.d(MODULE_NAME, "调用车聊聊传入参数:\n" + params);
|
||||
ICarsChattingProvider iCarsChattingProvider = BridgeApi.INSTANCE.carChatProvider();
|
||||
if ( iCarsChattingProvider != null ) {
|
||||
iCarsChattingProvider.call(params);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否可以拨打电话
|
||||
*
|
||||
* @param chartStatusListener 车聊聊状态监听
|
||||
*/
|
||||
public static void isOnLine(String sn, ChartStatusListener chartStatusListener) {
|
||||
try {
|
||||
String isMe = MoGoAiCloudClientConfig.getInstance().getSn();
|
||||
if (isMe.equals(sn)) {
|
||||
Logger.d("", "是我的分享");
|
||||
if (chartStatusListener != null) {
|
||||
chartStatusListener.canCall(false);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
Logger.d("", "不是我的分享");
|
||||
}
|
||||
ICarsChattingProvider iCarsChattingProvider = BridgeApi.INSTANCE.carChatProvider();
|
||||
if (iCarsChattingProvider != null) {
|
||||
iCarsChattingProvider.isOnLine(
|
||||
"CAR_CALL_TO_" + V2XConst.MODULE_NAME,
|
||||
com.mogo.eagle.core.utilcode.util.Utils.getApp(),
|
||||
sn,
|
||||
new ICallChatResponse() {
|
||||
@Override
|
||||
public void refuse(boolean b, int i) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void isOnLine(boolean onLine, @Nullable String errorMsg) {
|
||||
Logger.e(V2XConst.MODULE_NAME, "isOnLine:" + onLine + " errorMsg:" + errorMsg);
|
||||
if (chartStatusListener != null) {
|
||||
chartStatusListener.canCall(onLine);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否可以拨打电话
|
||||
*
|
||||
* @param chartStatusListener 车聊聊状态监听
|
||||
*/
|
||||
public static void isCanCall(ChartStatusListener chartStatusListener) {
|
||||
try {
|
||||
ICarsChattingProvider iCarsChattingProvider = BridgeApi.INSTANCE.carChatProvider();
|
||||
if (iCarsChattingProvider != null) {
|
||||
iCarsChattingProvider.canCall(
|
||||
"CAR_CALL_TO_" + V2XConst.MODULE_NAME,
|
||||
com.mogo.eagle.core.utilcode.util.Utils.getApp(),
|
||||
new ICallChatResponse() {
|
||||
@Override
|
||||
public void canCall(boolean onLine) {
|
||||
Logger.e(V2XConst.MODULE_NAME, "isOnLine:" + onLine);
|
||||
if (chartStatusListener != null) {
|
||||
chartStatusListener.canCall(onLine);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user