[Chat]车聊聊架构升级

This commit is contained in:
renwj
2022-03-09 11:18:30 +08:00
committed by zhongchao
parent b16e7edbd3
commit 9275ed5ff2
178 changed files with 8116 additions and 301 deletions

View File

@@ -7,13 +7,11 @@ plugins {
}
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
// buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
versionCode Integer.valueOf(VERSION_CODE)
versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION")
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro'
//ARouter apt 参数
@@ -23,7 +21,6 @@ android {
arg("AROUTER_MODULE_NAME", project.getName())
}
}
}
buildTypes {
@@ -63,7 +60,7 @@ dependencies {
implementation rootProject.ext.dependencies.mogo_core_utils
implementation rootProject.ext.dependencies.mogo_core_function_api
implementation rootProject.ext.dependencies.mogo_core_function_call
implementation rootProject.ext.dependencies.callchatprovider
//implementation rootProject.ext.dependencies.callchatprovider
implementation rootProject.ext.dependencies.mogo_core_res
} else {
implementation project(':modules:mogo-module-common')
@@ -72,7 +69,7 @@ dependencies {
implementation project(':core:mogo-core-utils')
implementation project(':core:mogo-core-function-api')
implementation project(':core:mogo-core-function-call')
implementation project(':modules:mogo-module-carchattingprovider')
//implementation project(':modules:mogo-module-carchattingprovider')
implementation project(':core:mogo-core-res')
implementation project(':libraries:mogo-adas')

View File

@@ -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

View File

@@ -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();

View File

@@ -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();
}
}
}