Merge branch 'dev/dev_eagle_architecture_upgrade' into dev/dev_eagle_wuhan_sikua_obu

This commit is contained in:
董宏宇
2021-10-11 21:04:49 +08:00
110 changed files with 631 additions and 6307 deletions

View File

@@ -1,17 +1,10 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<option name="AUTODETECT_INDENTS" value="false" />
<JavaCodeStyleSettings>
<option name="FIELD_NAME_PREFIX" value="m" />
</JavaCodeStyleSettings>
<JetCodeStyleSettings>
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</JetCodeStyleSettings>
<codeStyleSettings language="JAVA">
<option name="KEEP_LINE_BREAKS" value="false" />
<option name="KEEP_FIRST_COLUMN_COMMENT" value="false" />
</codeStyleSettings>
<codeStyleSettings language="XML">
<option name="FORCE_REARRANGE_MODE" value="1" />
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
</indentOptions>

9
.idea/misc.xml generated
View File

@@ -13,14 +13,19 @@
<map>
<entry key="../../../../../../layout/custom_preview.xml" value="0.390625" />
<entry key="../../../../../layout/custom_preview.xml" value="0.19947916666666668" />
<entry key="core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml" value="0.15572916666666667" />
<entry key="core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_traffic_light_vr.xml" value="0.5" />
<entry key="core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml" value="0.33" />
<entry key="core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_autopilot_status.xml" value="0.25833333333333336" />
<entry key="core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_check_status.xml" value="1.0" />
<entry key="core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml" value="0.8466666666666667" />
<entry key="core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_traffic_light_vr.xml" value="1.0" />
<entry key="modules/mogo-module-adas/src/main/res/drawable/module_adas_left_corner_bg.xml" value="0.22125" />
<entry key="modules/mogo-module-adas/src/main/res/layout/dialog_adas_dispatch_remind.xml" value="0.22658490296325878" />
<entry key="modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml" value="1.0" />
<entry key="modules/mogo-module-hmi/src/main/res/layout/fragment_warning.xml" value="0.34427083333333336" />
<entry key="modules/mogo-module-hmi/src/main/res/layout/module_hmi_warning_v2x.xml" value="0.246875" />
<entry key="modules/mogo-module-hmi/src/main/res/layout/notification_v2x_msg_vr.xml" value="0.3453125" />
<entry key="modules/mogo-module-hmi/src/main/res/layout/view_traffic_light_vr.xml" value="0.25" />
<entry key="modules/mogo-module-left-panel/src/main/res/layout/module_left_panel_simple_speed.xml" value="0.3026041666666667" />
<entry key="modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml" value="0.3125" />
<entry key="modules/mogo-module-service/src/main/res/drawable/bg_adas_dispatch.xml" value="0.184" />
<entry key="modules/mogo-module-service/src/main/res/drawable/bg_adas_dispatch_affirm.xml" value="0.19166666666666668" />

View File

@@ -39,11 +39,13 @@ import com.mogo.utils.ProcessUtils;
import com.mogo.utils.logger.LogLevel;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.storage.SharedPrefsMgr;
import com.squareup.leakcanary.LeakCanary;
import com.squareup.leakcanary.RefWatcher;
//import com.squareup.leakcanary.LeakCanary;
//import com.squareup.leakcanary.RefWatcher;
import com.zhidao.boot.persistent.lib.PersistentManager;
import com.zhidao.mogo.module.left.panel.LeftPanelConst;
import leakcanary.LeakCanary;
/**
* @author congtaowang
* @since 2019-12-18
@@ -55,7 +57,7 @@ public class MogoApplication extends AbsMogoApplication {
private static final String TAG = "MogoApplication";
private long start;
private volatile static RefWatcher refWatcher;
// private volatile static RefWatcher refWatcher;
@Override
public void onCreate() {
@@ -313,9 +315,9 @@ public class MogoApplication extends AbsMogoApplication {
startService(intent);
}
if (refWatcher == null) {
refWatcher = LeakCanary.install(this);
}
// if (refWatcher == null) {
// refWatcher = LeakCanary.install(this);
// }
// 初始化 bugly 升级
ARouter.getInstance().navigation(UpgradeReportProvider.class);

View File

@@ -15,7 +15,7 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.20'
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.31'
classpath "com.alibaba:arouter-register:1.0.2"
classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.4'

View File

@@ -43,9 +43,9 @@ ext {
// json 转换
gson : "com.google.code.gson:gson:2.8.4",
// 内存泄漏检测
debugleakcanary : "com.squareup.leakcanary:leakcanary-android:1.6.1",
releaseleakcanary : "com.squareup.leakcanary:leakcanary-android-no-op:1.6.1",
testleakcanary : "com.squareup.leakcanary:leakcanary-android-no-op:1.6.1",
debugleakcanary : "com.squareup.leakcanary:leakcanary-android:2.7",
releaseleakcanary : "com.squareup.leakcanary:leakcanary-android-no-op:2.7",
testleakcanary : "com.squareup.leakcanary:leakcanary-android-no-op:2.7",
//rxJava
rxjava : "io.reactivex.rxjava2:rxjava:2.2.2",
rxandroid : "io.reactivex.rxjava2:rxandroid:2.1.1",
@@ -130,7 +130,7 @@ ext {
// OBU
moduleobu : "com.mogo.module:module-obu:${MOGO_MODULE_OBU_VERSION}",
moduleobumogo : "com.mogo.module:module-obu:${MOGO_MODULE_OBU_MOGO_VERSION}",
crashwarning : "com.mogo.module:module-crash-warning:1.1.0",
carmanager : "com.zhidao.carmanager:common:1.0.30@aar",
//
jetbrainsannotationsjava5 : "org.jetbrains:annotations-java5:15.0",

View File

@@ -1,8 +1,10 @@
apply plugin: 'com.android.library'
apply plugin: 'com.alibaba.arouter'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
plugins {
id 'com.android.library'
id 'kotlin-android'
id 'kotlin-android-extensions'
id 'kotlin-kapt'
id 'com.alibaba.arouter'
}
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
defaultConfig {
@@ -11,14 +13,16 @@ android {
versionCode Integer.valueOf(VERSION_CODE)
versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION")
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
}
}
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro'
//ARouter apt 参数
kapt {
useBuildCache = false
arguments {
arg("AROUTER_MODULE_NAME", project.getName())
}
}
}
buildTypes {
release {
@@ -45,11 +49,9 @@ dependencies {
implementation rootProject.ext.dependencies.coroutinescore
implementation rootProject.ext.dependencies.rxandroid
implementation rootProject.ext.dependencies.kotlinstdlibjdk7
implementation 'com.google.android.material:material:1.2.1'
implementation project(':modules:mogo-module-common')
implementation project(path: ':modules:mogo-module-service')
implementation rootProject.ext.dependencies.material
annotationProcessor rootProject.ext.dependencies.aroutercompiler
kapt rootProject.ext.dependencies.aroutercompiler
if (Boolean.valueOf(RELEASE)) {
implementation rootProject.ext.dependencies.mogocommons
@@ -58,13 +60,12 @@ dependencies {
implementation project(":foudations:mogo-commons")
implementation project(':services:mogo-service-api')
implementation project(':modules:mogo-module-common')
implementation project(':modules:mogo-module-service')
implementation project(':core:mogo-core-utils')
implementation project(':core:mogo-core-function-call')
}
implementation 'com.tencent.bugly:crashreport_upgrade:latest.release'
//其中latest.release指代最新Bugly SDK版本号也可以指定明确的版本号例如2.1.9
implementation 'com.tencent.bugly:nativecrashreport:latest.release'
//其中latest.release指代最新Bugly NDK版本号也可以指定明确的版本号例如3.0
}

View File

@@ -1,158 +0,0 @@
package com.mogo.eagle.core.function.check;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.util.Log;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.elegant.network.ParamsBuilder;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.commons.network.SubscribeImpl;
import com.mogo.eagle.core.function.call.check.CallerCheckManager;
import com.mogo.eagle.core.function.check.api.ICheckResultCallBack;
import com.mogo.eagle.core.function.check.net.CheckApiServiceFactory;
import com.mogo.eagle.core.function.check.net.CheckResultData;
import com.mogo.eagle.core.function.check.view.CheckDialog;
import com.mogo.eagle.core.utilcode.util.ActivityUtils;
import com.mogo.eagle.core.utilcode.util.AppUtils;
import com.mogo.eagle.core.utilcode.util.LogUtils;
import com.mogo.eagle.core.function.api.check.IMogoCheckListener;
import com.mogo.eagle.core.function.check.view.CheckActivity;
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
import com.mogo.module.service.receiver.MogoReceiver;
import com.mogo.service.MogoServicePaths;
import com.mogo.eagle.core.function.api.check.ICheckProvider;
import com.mogo.utils.ActivityLifecycleManager;
import com.mogo.utils.network.RequestOptions;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
/**
* 鹰眼系统、自动驾驶系统 检测模块
*
* @date 4/21/21 3:39 PM
* 需求地址
* wikihttp://wiki.zhidaohulian.com/pages/viewpage.action?pageId=58204952
*/
@Route(path = MogoServicePaths.PATH_CHECK)
public class VehicleMonitoringManager implements ICheckProvider {
private static final String TAG = "VehicleMonitoringManager";
private Context mContext;
private final Map<String, CopyOnWriteArrayList> mListeners = new ConcurrentHashMap<>();
private boolean hasTipShow = false;//是否已经弹框提示
CheckDialog dialog;
@Override
public void init(Context context) {
LogUtils.dTag(TAG, "初始化 CheckProvider 模块");
mContext = context;
}
@Override
public void registerVehicleMonitoringListener(String module, IMogoCheckListener listener) {
if (listener == null || module == null) {
LogUtils.dTag(TAG, "listener == null || intent == null");
return;
}
if (!mListeners.containsKey(module)) {
LogUtils.dTag(TAG, "intent==" + module + "listener" + listener);
mListeners.put(module, new CopyOnWriteArrayList<>());
}
mListeners.get(module).add(listener);
}
@Override
public void unregisterListener(String module, IMogoCheckListener listener) {
if (mListeners.containsKey(module)) {
mListeners.get(module).remove(listener);
}
}
@Override
public void startCheckActivity(Context context) {
Intent starter = new Intent(context, CheckActivity.class);
starter.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(starter);
}
@Override
public void showCheckDialog(Context context) {
showDialog(context);
}
@Override
public void checkMonitor(Context context) {
if (context != null) {
CheckActivity.checkMonitor(context, new ICheckResultCallBack() {
@Override
public void callBackWithErrorState(Integer state) {
updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, state);
if (state == 1) {
hasTipShow = false;
} else {
if (hasTipShow == false) {
showDialog(context);
hasTipShow = true;//已弹框
}
}
}
});
}
}
/**
* 指标异常弹框
*/
public void showDialog(Context context) {
try {
if (ActivityLifecycleManager.getInstance().isAppActive() == true &&
AppUtils.isAppRunning(getPackageName(context)) &&
ActivityUtils.getTopActivity() instanceof CheckActivity == false) {
if (dialog != null) {
dialog.dismiss();
}
dialog = new CheckDialog(context, true);
dialog.show();
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @param context
* @return 当前应用的版本名称
*/
public static synchronized String getPackageName(Context context) {
try {
PackageManager packageManager = context.getPackageManager();
PackageInfo packageInfo = packageManager.getPackageInfo(
context.getPackageName(), 0);
return packageInfo.packageName;
} catch (Exception e) {
e.printStackTrace();
}
return "com.mogo.launcher.f";
}
@Override
public void updateMonitoringStatus(String module, Integer state) {
List<IMogoCheckListener> listeners = mListeners.get(module);
if (listeners != null && !listeners.isEmpty()) {
for (IMogoCheckListener listener : listeners) {
if (listener != null) {
listener.updateMonitoringStatus(state);
}
}
}
}
}

View File

@@ -0,0 +1,112 @@
package com.mogo.eagle.core.function.check
import android.content.Context
import android.content.Intent
import com.alibaba.android.arouter.facade.annotation.Route
import com.mogo.eagle.core.function.api.check.ICheckProvider
import com.mogo.eagle.core.function.api.check.IMogoCheckListener
import com.mogo.eagle.core.function.check.view.CheckActivity
import com.mogo.eagle.core.function.check.view.CheckDialog
import com.mogo.eagle.core.utilcode.util.ActivityUtils
import com.mogo.eagle.core.utilcode.util.AppUtils
import com.mogo.eagle.core.utilcode.util.LogUtils
import com.mogo.module.common.MogoApisHandler
import com.mogo.module.service.receiver.MogoReceiver
import com.mogo.service.MogoServicePaths
import com.mogo.service.statusmanager.IMogoStatusChangedListener
import com.mogo.service.statusmanager.StatusDescriptor
import com.mogo.utils.ActivityLifecycleManager
import java.util.concurrent.ConcurrentHashMap
/**
* 鹰眼系统、自动驾驶系统 检测模块
*
* @date 4/21/21 3:39 PM
* 需求地址
* wikihttp://wiki.zhidaohulian.com/pages/viewpage.action?pageId=58204952
*/
@Route(path = MogoServicePaths.PATH_CHECK)
class VehicleMonitoringManager : ICheckProvider, IMogoStatusChangedListener {
private val TAG = "VehicleMonitoringManager"
private var mContext: Context? = null
private val mListeners: ConcurrentHashMap<String, IMogoCheckListener> = ConcurrentHashMap()
private var hasTipShow = false //是否已经弹框提示
var dialog: CheckDialog? = null
override fun init(context: Context) {
LogUtils.dTag(TAG, "初始化 CheckProvider 模块")
mContext = context
MogoApisHandler.getInstance().apis.statusManagerApi.registerStatusChangedListener(
TAG,
StatusDescriptor.MAIN_PAGE_RESUME,
this
)
}
override fun registerVehicleMonitoringListener(module: String, listener: IMogoCheckListener) {
mListeners[module] = listener
}
override fun unregisterListener(module: String) {
mListeners.remove(module)
}
override fun startCheckActivity(context: Context) {
val starter = Intent(context, CheckActivity::class.java)
starter.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
context.startActivity(starter)
}
override fun showCheckDialog(context: Context) {
showDialog(context)
}
override fun checkMonitor(context: Context) {
CheckActivity.checkMonitor(context) { state ->
updateMonitoringStatus(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, state)
if (state == 1) {
hasTipShow = false
} else {
if (!hasTipShow) {
showDialog(context)
hasTipShow = true //已弹框
}
}
}
}
/**
* 指标异常弹框
*/
private fun showDialog(context: Context) {
try {
if (ActivityLifecycleManager.getInstance().isAppActive && AppUtils.isAppRunning(
AppUtils.getAppPackageName()
) && ActivityUtils.getTopActivity() !is CheckActivity
) {
if (dialog != null) {
dialog!!.dismiss()
}
dialog = CheckDialog(context, true)
dialog!!.show()
}
} catch (e: Exception) {
e.printStackTrace()
}
}
override fun updateMonitoringStatus(module: String, state: Int) {
for (listener in mListeners) {
listener.value.updateMonitoringStatus(state)
}
}
override fun onStatusChanged(descriptor: StatusDescriptor, isTrue: Boolean) {
if (descriptor == StatusDescriptor.MAIN_PAGE_RESUME) {
if (!isTrue) {
if (dialog != null && dialog!!.isShowing) {
dialog!!.dismiss()
}
}
}
}
}

View File

@@ -1,7 +1,5 @@
package com.mogo.eagle.core.function.check.api;
import com.mogo.service.adas.IMogoAdasDataCallback;
/**
* @author liujing
* @description 自车检测结果回调

View File

@@ -1,11 +1,9 @@
package com.mogo.eagle.core.function.check.net;
import java.util.Map;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import io.reactivex.Observable;
import retrofit2.http.GET;
import retrofit2.http.QueryMap;
/**

View File

@@ -6,9 +6,6 @@ import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.Rect;
import android.os.Bundle;
import android.util.Log;
@@ -23,17 +20,13 @@ import androidx.recyclerview.widget.RecyclerView;
import com.elegant.network.ParamsBuilder;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.commons.network.SubscribeImpl;
import com.mogo.eagle.core.function.call.check.CallerCheckManager;
import com.mogo.eagle.core.function.check.R;
import com.mogo.eagle.core.function.check.api.ICheckResultCallBack;
import com.mogo.eagle.core.function.check.net.CheckApiServiceFactory;
import com.mogo.eagle.core.function.check.net.CheckResultData;
import com.mogo.eagle.core.utilcode.util.ActivityUtils;
import com.mogo.eagle.core.utilcode.util.AppUtils;
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
import com.mogo.module.common.view.ImageViewClipBounds;
import com.mogo.module.common.view.SpacesItemDecoration;
import com.mogo.module.service.receiver.MogoReceiver;
import com.mogo.utils.network.RequestOptions;
import com.mogo.utils.network.utils.NetworkStatusUtil;
@@ -51,7 +44,7 @@ import io.reactivex.schedulers.Schedulers;
public class CheckActivity extends AppCompatActivity {
private static final String TAG = "CheckActivity";
private static RecyclerView mRecyclerView;
private RecyclerView mRecyclerView;
private static CheckResultData sCheckResultData;
private static NetworkStatusUtil.NetWorkStatus sNetWorkStatus;
private ImageView mImageView;
@@ -71,7 +64,6 @@ public class CheckActivity extends AppCompatActivity {
private ProgressBar mProgressBar;
private final static long DURATION_TIME = 1000;
private static CheckAdapter mCheckAdapter;
private static boolean isFront = false;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -90,7 +82,6 @@ public class CheckActivity extends AppCompatActivity {
* 列表View初始化
*/
public void initView() {
isFront = true;
setAnimation = new AnimatorSet();
mImageView = findViewById(R.id.btnBack);
scanBottomCarImage = findViewById(R.id.scan_car_image);
@@ -107,7 +98,7 @@ public class CheckActivity extends AppCompatActivity {
new CheckLinearLayout(this, CheckLinearLayout.VERTICAL, false);
mRecyclerView.addItemDecoration(new SpacesItemDecoration((int) getResources().getDimension(R.dimen.check_item_space_vr)));
mRecyclerView.setLayoutManager(linearLayoutManager);
mCheckAdapter = new CheckAdapter(this, sCheckResultData);
mCheckAdapter = new CheckAdapter(CheckActivity.this, sCheckResultData);
mRecyclerView.setAdapter(mCheckAdapter);
}
@@ -245,6 +236,9 @@ public class CheckActivity extends AppCompatActivity {
@Override
protected void onPause() {
super.onPause();
if (mCheckAdapter!=null){
mCheckAdapter.dismissDialog();
}
}
@Override
@@ -260,7 +254,7 @@ public class CheckActivity extends AppCompatActivity {
@Override
protected void onDestroy() {
super.onDestroy();
isFront = false;
mCheckAdapter.ondestry();
}
}

View File

@@ -8,7 +8,6 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.CheckResult;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
@@ -16,8 +15,6 @@ import com.mogo.eagle.core.function.check.R;
import com.mogo.eagle.core.function.check.model.CheckItemInfo;
import com.mogo.eagle.core.function.check.net.CheckResultData;
import java.util.ArrayList;
/**
* @author liujing
@@ -35,7 +32,7 @@ public class CheckAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
public CheckAdapter(@NonNull Context context, @NonNull CheckResultData checkResult) {
mContext = context;
mCheckResultData = checkResult;
mLayoutInflater = LayoutInflater.from(context);
mLayoutInflater = LayoutInflater.from(mContext);
}
@Override
@@ -62,6 +59,17 @@ public class CheckAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
return holder;
}
public void dismissDialog() {
if (mCheckInfoListDialog!=null && mCheckInfoListDialog.isShowing()){
mCheckInfoListDialog.dismiss();
}
}
public void ondestry() {
mContext = null;
mCheckInfoListDialog = null;
}
/**
* 顶部view列表
*/

View File

@@ -1,7 +1,6 @@
package com.mogo.eagle.core.function.check.view;
import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

View File

@@ -1,8 +1,6 @@
package com.mogo.eagle.core.function.check.view;
import android.content.Context;
import android.text.TextPaint;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -15,7 +13,6 @@ import androidx.recyclerview.widget.RecyclerView;
import com.mogo.eagle.core.function.check.R;
import com.mogo.eagle.core.function.check.net.CheckResultData;
import java.util.ArrayList;
import java.util.List;
/**
@@ -100,4 +97,8 @@ public class CheckInfoAdapter extends RecyclerView.Adapter {
}
}
@Override
public int getItemViewType(int position) {
return position;
}
}

View File

@@ -3,8 +3,6 @@ package com.mogo.eagle.core.function.check.view;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.GradientDrawable;

View File

@@ -1,15 +1,10 @@
package com.mogo.eagle.core.function.check.view;
import android.content.Context;
import android.graphics.Color;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.eagle.core.function.check.R;
import com.mogo.eagle.core.function.check.model.CheckItemInfo;
@@ -79,8 +74,6 @@ public class CheckInfoListDialog extends BaseFloatDialog {
public List showInfoResult() {
// List<CheckResultData.CheckListItem> test = new ArrayList();//测试数据
if (result.size() > 0) {
result.clear();
}
@@ -106,9 +99,6 @@ public class CheckInfoListDialog extends BaseFloatDialog {
} catch (Exception e) {
}
// test.addAll(result);
// test.addAll(result);
// test.addAll(result);
return result;
}

View File

@@ -21,6 +21,7 @@ import com.mogo.utils.logger.Logger
/**
* @author donghongyu
* @date 2021/8/5 5:29 下午
* 弹窗Window 管理
*/
internal class WarningFloatWindowHelper(
val context: Context,
@@ -62,8 +63,8 @@ internal class WarningFloatWindowHelper(
// 设置浮窗以外的触摸事件可以传递给后面的窗口、不自动获取焦点
flags = if (config.immersionStatusBar)
// 没有边界限制,允许窗口扩展到屏幕外
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
else WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
else WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
width = WindowManager.LayoutParams.WRAP_CONTENT
height = WindowManager.LayoutParams.WRAP_CONTENT
@@ -142,7 +143,7 @@ internal class WarningFloatWindowHelper(
.enterAnim()?.apply {
// 可以延伸到屏幕外,动画结束按需去除该属性,不然旋转屏幕可能置于屏幕外部
params.flags =
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
addListener(object : Animator.AnimatorListener {
override fun onAnimationRepeat(animation: Animator?) {}
@@ -152,7 +153,7 @@ internal class WarningFloatWindowHelper(
if (!config.immersionStatusBar) {
// 不需要延伸到屏幕外了,防止屏幕旋转的时候,浮窗处于屏幕外
params.flags =
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
}
}
@@ -187,7 +188,7 @@ internal class WarningFloatWindowHelper(
if (config.isAnim) return
config.isAnim = true
params.flags =
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
animator.addListener(object : Animator.AnimatorListener {
override fun onAnimationRepeat(animation: Animator?) {}

View File

@@ -4,11 +4,15 @@ import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.data.constants.MoGoOBUConfig
import com.mogo.eagle.core.data.obu.ObuStatusInfo
import com.mogo.eagle.core.function.api.obu.IMoGoObuStatusListener
import com.mogo.eagle.core.function.call.obu.CallerOBUManager
import com.mogo.eagle.core.function.call.obu.CallerObuListenerManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.utils.storage.SharedPrefsMgr
import kotlinx.android.synthetic.main.view_debug_setting.view.*
/**
@@ -43,10 +47,20 @@ class DebugSettingView @JvmOverloads constructor(
private fun initView() {
tvObuInfo.text = CallerObuListenerManager.getObuStatusInfo()
btnSetObuIP.setOnClickListener {
val obuIP = etObuIP.text.toString()
if (obuIP.isNotEmpty()) {
CallerOBUManager.resetObuIpAddress(obuIP)
} else {
ToastUtils.showShort("请输入正确的IP地址")
}
}
}
override fun onObuStatusResponse(obuStatusInfo: ObuStatusInfo) {
tvObuInfo.text = GsonUtils.toJson(obuStatusInfo)
etObuIP.setText(obuStatusInfo.connectIP)
etObuIP.text?.let { etObuIP.setSelection(it.length) }
}
}

View File

@@ -6,13 +6,16 @@ import android.view.LayoutInflater
import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.data.autopilot.AdasOCHData
import com.mogo.eagle.core.data.autopilot.RemoteControlAutoPilotParameters
import com.mogo.eagle.core.function.call.hmi.CallerHmiListenerManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.util.LogUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.module.common.MogoApisHandler
import com.mogo.service.adas.IMogoAdasOCHCallback
import com.mogo.utils.logger.Logger
import kotlinx.android.synthetic.main.view_autopilot_status.view.*
import java.util.*
/**
* @author xiaoyuzhou
@@ -20,8 +23,8 @@ import kotlinx.android.synthetic.main.view_autopilot_status.view.*
* 自动驾驶状态按钮
*/
class AutoPilotStatusView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet
context: Context,
attrs: AttributeSet
) : ConstraintLayout(context, attrs), View.OnClickListener, IMogoAdasOCHCallback {
private val TAG = "AutopilotStatusView"
@@ -53,7 +56,7 @@ class AutoPilotStatusView @JvmOverloads constructor(
when (mAutopilotStatus) {
0 -> {// 不可自动驾驶adas与工控机没有链接或工控机异常
LogUtils.eTag(TAG, "不可自动驾驶adas与工控机没有链接或工控机异常请检查")
ToastUtils.showShort("不可自动驾驶adas与工控机没有链接或工控机异常请检查")
// ToastUtils.showShort("不可自动驾驶adas与工控机没有链接或工控机异常请检查")
// TODO 这里临时触发自动驾驶能力,测试功过这里删除
CallerHmiListenerManager.invokeCheckAutoPilotBtnListener(true)
}
@@ -64,6 +67,15 @@ class AutoPilotStatusView @JvmOverloads constructor(
CallerHmiListenerManager.invokeCheckAutoPilotBtnListener(false)
}
}
// startAutoPilot();
}
private fun startAutoPilot() {
val currentAutopilot = RemoteControlAutoPilotParameters()
currentAutopilot.isSpeakVoice = false
currentAutopilot.startLatLon = RemoteControlAutoPilotParameters.AutoPilotLonLat(40.194795425,116.724476409);
currentAutopilot.endLatLon = RemoteControlAutoPilotParameters.AutoPilotLonLat(40.199730,116.735687);
currentAutopilot.vehicleType = 10
MogoApisHandler.getInstance().apis.adasControllerApi.aiCloudToAdasData(currentAutopilot)
}
/**

View File

@@ -0,0 +1,66 @@
package com.mogo.eagle.core.function.hmi.ui.widget
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.function.api.check.IMogoCheckListener
import com.mogo.eagle.core.function.call.check.CallerCheckManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import kotlinx.android.synthetic.main.view_check_status.view.*
/**
*@author xiaoyuzhou
*@date 2021/8/6 12:25 下午
*/
class CheckStatusView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : ConstraintLayout(context, attrs, defStyleAttr), IMogoCheckListener {
private val TAG = "CheckStatusView"
init {
LayoutInflater.from(context).inflate(R.layout.view_check_status, this, true)
setOnClickListener {
// 启动检测页面
CallerCheckManager.startCheckActivity(getContext())
}
}
private fun showErrorIcon() {
errorTipImage.visibility = View.VISIBLE
}
private fun dismissErrorIcon() {
errorTipImage.visibility = View.GONE
}
override fun updateMonitoringStatus(state: Int?) {
Logger.d(TAG, "updateCheckStatus")
if (state == 1) {
dismissErrorIcon()
} else {
showErrorIcon()
}
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
Logger.d(TAG, "onAttachedToWindow")
//车辆监控
CallerCheckManager.registerVehicleMonitoringListener(TAG, this)
}
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
Logger.d(TAG, "onDetachedFromWindow")
//车辆监控
CallerCheckManager.unregisterListener(TAG)
}
}

View File

@@ -61,5 +61,13 @@
app:layout_goneMarginTop="40px"
tools:visibility="visible" />
<com.mogo.eagle.core.function.hmi.ui.widget.CheckStatusView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="40px"
android:layout_marginBottom="@dimen/dp_490"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/clAutopilotStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<!--车辆检测入口-->
<TextView
android:id="@+id/moduleHmiCheck"
android:layout_width="@dimen/dp_128"
android:layout_height="@dimen/dp_128"
android:background="@drawable/module_ext_check"
android:gravity="center"
android:text="检测"
android:textColor="#fff"
android:textSize="@dimen/module_hmi_btn_text_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent" />
<ImageView
android:id="@+id/errorTipImage"
android:layout_width="@dimen/dp_40"
android:layout_height="@dimen/dp_40"
android:src="@drawable/check_error_image"
android:visibility="invisible"
app:layout_constraintRight_toRightOf="@+id/moduleHmiCheck"
app:layout_constraintTop_toTopOf="@+id/moduleHmiCheck" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -9,9 +9,10 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tvTitleObu"
@@ -24,6 +25,26 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/etObuIP"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#32009688"
android:gravity="center"
android:inputType="number"
android:padding="@dimen/dp_5"
android:text="192.168.1.199"
android:textSize="@dimen/dp_34" />
<Button
android:id="@+id/btnSetObuIP"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="@dimen/dp_5"
android:text="设置IP"
android:textSize="@dimen/dp_34" />
<TextView
android:id="@+id/tvObuInfo"
android:layout_width="match_parent"
@@ -33,7 +54,7 @@
app:layout_constraintTop_toBottomOf="@+id/tvTitleObu" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</ScrollView>

View File

@@ -2,9 +2,11 @@ package com.mogo.eagle.core.function.obu.mogo
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.mogo.eagle.core.data.constants.MoGoOBUConfig
import com.mogo.eagle.core.function.api.obu.IMoGoObuProvider
import com.mogo.eagle.core.utilcode.util.LogUtils
import com.mogo.service.MogoServicePaths
import com.mogo.utils.storage.SharedPrefsMgr
/**
* @author xiaoyuzhou
@@ -14,9 +16,22 @@ import com.mogo.service.MogoServicePaths
class MoGoObuProvider : IMoGoObuProvider {
private val TAG = "MoGoObuProvider"
private var mContext: Context? = null
override fun init(context: Context) {
LogUtils.dTag(TAG, "初始化蘑菇自研OBU……")
MogoPrivateObuManager.INSTANCE.init(context)
mContext = context
val ipAddress =
SharedPrefsMgr.getInstance(context).getString(MoGoOBUConfig.OBU_IP, "192.168.1.199")
MogoPrivateObuManager.INSTANCE.init(context, ipAddress)
}
override fun connect(ipAddress: String) {
mContext?.let {
// 保存本地OBU IP地址
SharedPrefsMgr.getInstance(it).putString(MoGoOBUConfig.OBU_IP, ipAddress)
MogoPrivateObuManager.INSTANCE.connectObu(it, ipAddress)
}
}
}

View File

@@ -41,18 +41,33 @@ class MogoPrivateObuManager private constructor() {
private var mContext: Context? = null
private var mObuStatusInfo = ObuStatusInfo()
fun init(context: Context?) {
fun init(context: Context, ipAddress: String) {
Logger.d(MogoObuConst.TAG_MOGO_OBU, "obuManager初始化--")
mMogoServiceApis = ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS)
.navigation(context) as IMogoServiceApis
mContext = context
mIMogoMapService = mMogoServiceApis!!.mapServiceApi
//自研obu
MogoObuManager.getInstance().connect(context, mObuStatusInfo.connectIP)
connectObu(context, ipAddress)
MogoObuManager.getInstance().registerListener(mogoObuListener)
}
fun connectObu(context: Context, ipAddress: String) {
//自研obu初始化
mObuStatusInfo.connectIP = ipAddress
if (!MogoObuManager.getInstance().isConnected) {
MogoObuManager.getInstance().connect(context, mObuStatusInfo.connectIP)
} else {
MogoObuManager.getInstance().disConnect()
try {
Thread.sleep(500)
MogoObuManager.getInstance().connect(context, mObuStatusInfo.connectIP)
} catch (e: Exception) {
e.printStackTrace()
}
}
}
private val mogoObuListener: OnMogoObuListener = object : OnMogoObuListener() {
// OBU连接成功
override fun onConnected() {

View File

@@ -0,0 +1,10 @@
package com.mogo.eagle.core.data.constants
/**
* @author xiaoyuzhou
* @date 2021/10/11 8:24 下午
* OBU 配置常量
*/
object MoGoOBUConfig {
const val OBU_IP = "OBU_IP"
}

View File

@@ -373,6 +373,8 @@ public class MogoServicePaths {
/**
* 车辆检测 模块
*/
@Keep
@Deprecated
public static final String PATH_CHECK = "/check/api";
/**

View File

@@ -21,7 +21,7 @@ public interface ICheckProvider extends IProvider {
*
* @param module
*/
void unregisterListener(String module, IMogoCheckListener listener);
void unregisterListener(String module);
/**
* 启动检测模块

View File

@@ -9,5 +9,6 @@ import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider
*/
interface IMoGoObuProvider : IMoGoFunctionServerProvider {
fun connect(ipAddress: String)
}

View File

@@ -35,8 +35,8 @@ public class CallerCheckManager extends CallerBase {
*
* @param module
*/
public static void unregisterListener(String module, IMogoCheckListener listener) {
getCheckProvider().unregisterListener(module, listener);
public static void unregisterListener(String module) {
getCheckProvider().unregisterListener(module);
}
/**

View File

@@ -0,0 +1,28 @@
package com.mogo.eagle.core.function.call.obu
import com.mogo.eagle.core.data.constants.MogoServicePaths
import com.mogo.eagle.core.function.api.obu.IMoGoObuProvider
import com.mogo.eagle.core.function.call.base.CallerBase
/**
*@author xiaoyuzhou
*@date 2021/10/11 8:30 下午
*/
object CallerOBUManager {
private val providerApi: IMoGoObuProvider
get() = CallerBase.getApiInstance(
IMoGoObuProvider::class.java,
MogoServicePaths.PATH_V2X_OBU_MOGO
)
/**
* 重新设置OBU链接IP
*
* @param ipAddress 新的IP地址
*/
fun resetObuIpAddress(ipAddress: String) {
providerApi.connect(ipAddress)
}
}

View File

@@ -2,11 +2,11 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<size
android:width="@dimen/dp_128"
android:height="@dimen/dp_128" />
//填充
android:width="@dimen/module_hmi_check_size"
android:height="@dimen/module_hmi_check_size" />
<!--//填充-->
<solid android:color="@color/module_switch_map_bg" />
//描边
<!--//描边-->
<stroke
android:width="2px"
android:color="@color/module_switch_map_bg" />

View File

@@ -2,7 +2,7 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="@dimen/module_switch_image_circle" />
<corners android:radius="@dimen/module_hmi_btn_size" />
<solid android:color="@color/module_switch_map_bg" />

View File

@@ -27,5 +27,9 @@
<dimen name="module_hmi_autopilot_status_bg_sm_radius">30px</dimen>
<dimen name="module_hmi_autopilot_status_bg_big_radius">70px</dimen>
<dimen name="module_hmi_check_size">128px</dimen>
<dimen name="module_hmi_btn_size">60px</dimen>
<dimen name="module_hmi_btn_text_size">44px</dimen>
</resources>

View File

@@ -2,4 +2,7 @@
<resources>
<color name="module_mogo_autopilot_status_enable">#FFFFFF</color>
<color name="module_mogo_autopilot_status_disable">#4DFFFFFF</color>
<color name="module_switch_map_bg">#323C6F</color>
</resources>

View File

@@ -26,4 +26,10 @@
<dimen name="module_hmi_autopilot_status_bg_sm_radius">20px</dimen>
<dimen name="module_hmi_autopilot_status_bg_big_radius">50px</dimen>
<dimen name="module_hmi_check_size">128px</dimen>
<dimen name="module_hmi_btn_size">38px</dimen>
<dimen name="module_hmi_btn_text_size">33px</dimen>
</resources>

View File

@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

View File

@@ -17,16 +17,16 @@ public class MogoLauncher implements IMogoLauncher {
@Override
public void backToLauncher( Context context ) {
BackToMainHomeManager.backToLauncher();
// BackToMainHomeManager.backToLauncher();
}
@Override
public void setFloatButtonVisible( boolean visible ) {
if ( visible ) {
BackToMainHomeManager.showFloatButton();
} else {
BackToMainHomeManager.hideFloatButton();
}
// if ( visible ) {
// BackToMainHomeManager.showFloatButton();
// } else {
// BackToMainHomeManager.hideFloatButton();
// }
}
@Override

View File

@@ -59,7 +59,7 @@ public class MapVrMarkerView implements IMarkerView {
sRef.put(sceneId, new SoftReference<>(BitmapFactory.decodeResource(AbsMogoApplication.getApp().getResources(), R.drawable.icon_map_marker_car_type_taxi)));
switch (sceneId) {
case "200001"://后方VIP车辆提示
// bitmap = ImageUtil.createBitmap(V2XUtils.getApp(),
// bitmap = ImageUtil.createBitmap(Utils.getApp(),
// R.drawable.v2x_duixiang_laiche_che);
break;
case "200002"://前车急刹
@@ -67,7 +67,7 @@ public class MapVrMarkerView implements IMarkerView {
case "200003"://后方危险车辆预警
break;
case "200004"://逆向车辆路线预判
// bitmap = ImageUtil.createBitmap(V2XUtils.getApp(),
// bitmap = ImageUtil.createBitmap(Utils.getApp(),
// R.drawable.v2x_duixiang_laiche_che);
break;
case "200005"://VIP变灯通行

View File

@@ -127,7 +127,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
IMogoStatusChangedListener,
IMogoIntentListener,
// IMogoLocationListener,
IMogoCheckListener,
IMogoCarLocationChangedListener2 {
private static final String TAG = "EntranceFragment";
@@ -240,9 +239,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
private final AdasNoticeHelper adasNoticeHelper = new AdasNoticeHelper();
private final CameraLiveNoticeHelper mCameraLiveNoticeHelper = new CameraLiveNoticeHelper();
//检测
private TextView jumpCheck;
private ImageView tipImageView;
@Override
protected int getLayoutId() {
@@ -394,18 +390,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
enterVrMode();
localIsVrMode = true;
}
// //检测入口
jumpCheck = findViewById(R.id.module_ext_enter_check);
tipImageView = findViewById(R.id.error_tip_image);
jumpCheck.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "体检入口");
// 启动检测页面
CallerCheckManager.startCheckActivity(getContext());
}
});
}
private int debugPanelClickCount = 0;
@@ -723,9 +707,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
mMogoRegisterCenter.registerMogoNaviListener(TYPE_ENTRANCE, this);
mMogoRegisterCenter.registerMogoMapListener(TYPE_ENTRANCE, this);
//车辆监控
CallerCheckManager.registerVehicleMonitoringListener(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, this);
mMogoMarkerManager = mService.getMarkerManager(getContext());
mStatusManager.registerStatusChangedListener(TAG, StatusDescriptor.UPLOADING, this);
@@ -774,7 +755,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
mCameraLiveNoticeHelper.release();
MogoApisHandler.getInstance().getApis().getRegisterCenterApi()
.unregisterCarLocationChangedListener(TAG, this);
CallerCheckManager.unregisterListener(MogoReceiver.ACTION_CHECK_VEHICLE_MONITORING, this);
}
@Override
@@ -1401,14 +1382,4 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
}
@Override
public void updateMonitoringStatus(Integer state) {
Log.d(TAG, "updateCheckStatus");
if (state == 1) {
tipImageView.setVisibility(View.INVISIBLE);
} else {
tipImageView.setVisibility(View.VISIBLE);
}
}
}

View File

@@ -319,30 +319,6 @@
android:textStyle="bold" />
</LinearLayout>
<!--车辆检测入口-->
<TextView
android:id="@+id/module_ext_enter_check"
android:layout_width="@dimen/dp_128"
android:layout_height="@dimen/dp_128"
android:layout_marginRight="@dimen/dp_33"
android:layout_marginBottom="@dimen/dp_476"
android:background="@drawable/module_ext_check"
android:gravity="center"
android:text="检测"
android:textColor="#fff"
android:textSize="@dimen/module_ext_enter_vr_mode_text_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent" />
<ImageView
android:id="@+id/error_tip_image"
android:layout_width="@dimen/dp_40"
android:layout_height="@dimen/dp_40"
android:visibility="invisible"
android:src="@drawable/check_error_image"
app:layout_constraintRight_toRightOf="@+id/module_ext_enter_check"
app:layout_constraintTop_toTopOf="@+id/module_ext_enter_check" />
<TextView
android:id="@+id/module_ext_enter_vr_mode"
android:layout_width="@dimen/module_ext_operation_panel_share_width"

View File

@@ -40,7 +40,7 @@ dependencies {
implementation rootProject.ext.dependencies.rxjava
implementation rootProject.ext.dependencies.rxandroid
implementation rootProject.ext.dependencies.obusdk
implementation rootProject.ext.dependencies.crashwarning
implementation rootProject.ext.dependencies.carmanager
if (Boolean.valueOf(RELEASE)) {
implementation rootProject.ext.dependencies.modulecommon

View File

@@ -1,65 +0,0 @@
package com.mogo.module.navi.ui.base;
import android.content.Context;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.WindowManager;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import com.mogo.utils.SoftKeyBoardJobber;
import com.mogo.utils.statusbar.Eyes;
/**
* @author congtaowang
* @since 2019-10-02
* <p>
* 地图 activity 基类
*/
public class BaseActivity extends AppCompatActivity {
//@Override
//public Context getContext() {
// return this;
//}
@Override
protected void onCreate( @Nullable Bundle savedInstanceState ) {
super.onCreate( savedInstanceState );
Eyes.setStatusBarStyle( this, false, Color.parseColor( "#66000000" ), true );
getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN );
hideSystemUI();
}
protected void hideSystemUI() {
//隐藏虚拟按键
if ( Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19 ) { // lower api
View v = this.getWindow().getDecorView();
v.setSystemUiVisibility( View.GONE );
} else if ( Build.VERSION.SDK_INT >= 19 ) {
//for new api versions.
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility( uiOptions );
}
}
protected boolean enableDispatchTouchEventToDismissSoftKeyBoard() {
return true;
}
@Override
public boolean dispatchTouchEvent( MotionEvent ev ) {
if ( ev.getAction() == MotionEvent.ACTION_DOWN && enableDispatchTouchEventToDismissSoftKeyBoard() ) {
SoftKeyBoardJobber.hideIfNecessary( this, ev );
return super.dispatchTouchEvent( ev );
}
// 必不可少否则所有的组件都不会有TouchEvent了
if ( getWindow().superDispatchTouchEvent( ev ) ) {
return true;
}
return onTouchEvent( ev );
}
}

View File

@@ -86,6 +86,7 @@ dependencies {
implementation project(':modules:mogo-module-obu')
implementation project(':core:mogo-core-res')
implementation project(':core:mogo-core-utils')
implementation project(':core:mogo-core-data')
implementation project(':core:mogo-core-function-call')
}

View File

@@ -16,6 +16,8 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.util.TimeUtils;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.map.listener.IMogoMapListener;
import com.mogo.map.location.IMogoLocationListener;
import com.mogo.map.marker.IMogoMarker;
@@ -40,9 +42,7 @@ import com.mogo.module.v2x.scenario.impl.V2XScenarioManager;
import com.mogo.module.v2x.scenario.scene.livecar.V2XVoiceCallLiveBiz;
import com.mogo.module.v2x.scenario.scene.park.V2XIllegalParkWindow;
import com.mogo.module.v2x.utils.FatigueDrivingUtils;
import com.mogo.module.v2x.utils.TimeUtils;
import com.mogo.module.v2x.utils.TrackUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.module.v2x.voice.V2XVoiceManager;
import com.mogo.service.module.IMogoModuleLifecycle;
import com.mogo.service.module.IMogoModuleProvider;
@@ -137,7 +137,6 @@ public class V2XModuleProvider implements
TXCLog.setLevel(TXCLog.LOG_NONE);
TXCLog.setConsoleEnabled(false);
V2XUtils.init(context);
V2XServiceManager.init(context);
V2XVoiceManager.INSTANCE.init(context);
registerListener();
@@ -165,13 +164,13 @@ public class V2XModuleProvider implements
private void initData() {
try {
// 查询ACC状态
SharedPrefsMgr.getInstance(V2XUtils.getApp()).putBoolean("descriptor_ACC_STATUS", isAccOn());
SharedPrefsMgr.getInstance(Utils.getApp()).putBoolean("descriptor_ACC_STATUS", isAccOn());
if (isAccOn()) {
// 记录开机时间
FatigueDrivingUtils.refreshAccOnTime();
} else {
// 记录关机时间
SharedPrefsMgr.getInstance(V2XUtils.getApp())
SharedPrefsMgr.getInstance(Utils.getApp())
.putString(V2XConst.V2X_ACC_OFF_TIME_STR, TimeUtils.getNowString());
}
} catch (Exception e) {
@@ -199,7 +198,7 @@ public class V2XModuleProvider implements
V2XStrategyPushRes.ResultBean resultBean = result.getResult();
if (resultBean != null) {
// 更新本地的v2x提醒策略
SharedPrefsMgr.getInstance(V2XUtils.getApp())
SharedPrefsMgr.getInstance(Utils.getApp())
.putString(V2XConst.V2X_STRATEGY_PUSH, GsonUtil.jsonFromObject(resultBean));
}
}
@@ -326,7 +325,7 @@ public class V2XModuleProvider implements
public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) {
Logger.d(MODULE_NAME, "状态发生改变\ndescriptor:" + descriptor + "\nisTrue:" + isTrue);
// 记录状态更改
SharedPrefsMgr.getInstance(V2XUtils.getApp()).putBoolean("descriptor_" + descriptor, isTrue);
SharedPrefsMgr.getInstance(Utils.getApp()).putBoolean("descriptor_" + descriptor, isTrue);
if (descriptor == StatusDescriptor.ACC_STATUS) {
if (isTrue) {
// 刷新配置文件
@@ -340,7 +339,7 @@ public class V2XModuleProvider implements
}
} else {
// 记录关机时间
SharedPrefsMgr.getInstance(V2XUtils.getApp())
SharedPrefsMgr.getInstance(Utils.getApp())
.putString(V2XConst.V2X_ACC_OFF_TIME_STR, TimeUtils.getNowString());
}
} else if (descriptor == StatusDescriptor.SEEK_HELPING) {

View File

@@ -2,6 +2,7 @@ package com.mogo.module.v2x;
import android.content.Context;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.marker.IMogoMarkerManager;
import com.mogo.map.navi.IMogoNavi;
@@ -16,7 +17,6 @@ import com.mogo.module.v2x.manager.IMoGoV2XPolylineManager;
import com.mogo.module.v2x.manager.IMoGoV2XStatusManager;
import com.mogo.module.v2x.manager.IMoGoWarnPolylineManager;
import com.mogo.module.v2x.network.V2XRefreshModel;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.adas.IMogoADASController;
@@ -263,7 +263,7 @@ public class V2XServiceManager {
public static IMoGoV2XStatusManager getMoGoV2XStatusManager() {
if (moGoV2XStatusManager == null) {
moGoV2XStatusManager = (IMoGoV2XStatusManager) ARouter.getInstance().build(MoGoV2XServicePaths.PATH_V2X_STATUS_MANAGER).navigation(V2XUtils.getApp());
moGoV2XStatusManager = (IMoGoV2XStatusManager) ARouter.getInstance().build(MoGoV2XServicePaths.PATH_V2X_STATUS_MANAGER).navigation(Utils.getApp());
}
return moGoV2XStatusManager;
}

View File

@@ -9,6 +9,8 @@ import androidx.recyclerview.widget.RecyclerView;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.util.TimeUtils;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.map.navi.IMogoNaviListener;
import com.mogo.map.navi.MogoNaviInfo;
import com.mogo.map.navi.MogoTraffic;
@@ -20,10 +22,8 @@ import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.scenario.view.IV2XWindow;
import com.mogo.module.v2x.utils.ChartingUtil;
import com.mogo.module.v2x.utils.RoadConditionUtils;
import com.mogo.module.v2x.utils.TimeUtils;
import com.mogo.module.v2x.utils.TrackUtils;
import com.mogo.module.v2x.utils.V2XSQLiteUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.utils.TipToast;
import com.mogo.utils.logger.Logger;
import com.zhidao.carchattingprovider.CallChattingProviderConstant;
@@ -75,7 +75,7 @@ public abstract class V2XBaseViewHolder<T>
*/
public void triggerZan(MarkerExploreWay noveltyInfo) {
try {
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice("已点赞", null);
AIAssist.getInstance(Utils.getApp()).speakTTSVoice("已点赞", null);
showTip("已点赞");
if (noveltyInfo != null) {
// 调用网络API接口

View File

@@ -10,6 +10,7 @@ import android.widget.TextView;
import com.mogo.commons.voice.AIAssist;
import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.MarkerExploreWay;
import com.mogo.module.common.entity.V2XEventShowEntity;
import com.mogo.module.common.entity.V2XRoadEventEntity;
@@ -18,7 +19,6 @@ import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.scenario.view.IV2XWindow;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.module.v2x.voice.V2XVoiceCallbackListener;
import com.mogo.module.v2x.voice.V2XVoiceConstants;
import com.mogo.module.v2x.voice.V2XVoiceManager;
@@ -120,7 +120,7 @@ public class V2XEventUgcVH extends V2XBaseViewHolder<V2XEventShowEntity> {
if (ugcTitleStr != null) {
tvEventUgcTitle.setText(((String) ugcTitleStr[0]).replace("####", mNoveltyInfo.getAddr()));
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice((String) ugcTitleStr[1], new IMogoVoiceCmdCallBack() {
AIAssist.getInstance(Utils.getApp()).speakTTSVoice((String) ugcTitleStr[1], new IMogoVoiceCmdCallBack() {
@Override
public void onSpeakEnd(String speakText) {
// 注册语音交互
@@ -188,7 +188,7 @@ public class V2XEventUgcVH extends V2XBaseViewHolder<V2XEventShowEntity> {
dataStatistics(2);
}
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice("谢谢,您的反馈将帮助更多车友。", null);
AIAssist.getInstance(Utils.getApp()).speakTTSVoice("谢谢,您的反馈将帮助更多车友。", null);
V2XServiceManager
.getV2XRefreshModel()
.manualMarkingTrafficJam(

View File

@@ -8,6 +8,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.util.SpanUtils;
import com.mogo.module.common.entity.MarkerExploreWay;
import com.mogo.module.common.entity.MarkerLocation;
import com.mogo.module.common.entity.V2XEventShowEntity;
@@ -16,7 +17,6 @@ import com.mogo.module.service.Utils;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.scenario.view.IV2XWindow;
import com.mogo.module.v2x.utils.LocationUtils;
import com.mogo.module.v2x.utils.SpanUtils;
import com.mogo.module.v2x.voice.V2XVoiceCallbackListener;
import com.mogo.module.v2x.voice.V2XVoiceConstants;
import com.mogo.module.v2x.voice.V2XVoiceManager;

View File

@@ -9,6 +9,8 @@ import androidx.recyclerview.widget.RecyclerView;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.util.TimeUtils;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.map.navi.IMogoNaviListener;
import com.mogo.map.navi.MogoNaviInfo;
import com.mogo.map.navi.MogoTraffic;
@@ -19,10 +21,8 @@ import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.utils.ChartingUtil;
import com.mogo.module.v2x.utils.RoadConditionUtils;
import com.mogo.module.v2x.utils.TimeUtils;
import com.mogo.module.v2x.utils.TrackUtils;
import com.mogo.module.v2x.utils.V2XSQLiteUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.utils.TipToast;
import com.mogo.utils.logger.Logger;
import com.zhidao.carchattingprovider.CallChattingProviderConstant;
@@ -67,7 +67,7 @@ public abstract class V2XHistoryBaseViewHolder<T>
*/
public void triggerZan(MarkerExploreWay noveltyInfo) {
try {
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice("已点赞", null);
AIAssist.getInstance(Utils.getApp()).speakTTSVoice("已点赞", null);
showTip("已点赞");
if (noveltyInfo != null) {
// 调用网络API接口

View File

@@ -12,6 +12,7 @@ import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.eagle.core.utilcode.util.SpanUtils;
import com.mogo.module.common.entity.MarkerExploreWay;
import com.mogo.module.common.entity.MarkerLocation;
import com.mogo.module.common.entity.MarkerUserInfo;
@@ -21,7 +22,6 @@ import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.scenario.view.IV2XWindow;
import com.mogo.module.v2x.utils.ChartingUtil;
import com.mogo.module.v2x.utils.SpanUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.module.v2x.voice.V2XVoiceCallbackListener;
import com.mogo.module.v2x.voice.V2XVoiceConstants;

View File

@@ -8,12 +8,12 @@ import android.widget.ImageView
import android.widget.TextView
import com.mogo.commons.voice.AIAssist
import com.mogo.commons.voice.VoicePreemptType
import com.mogo.eagle.core.utilcode.util.Utils
import com.mogo.module.common.entity.MarkerExploreWay
import com.mogo.module.common.entity.MarkerLocation
import com.mogo.module.common.entity.V2XEventShowEntity
import com.mogo.module.v2x.R
import com.mogo.module.v2x.scenario.view.IV2XWindow
import com.mogo.module.v2x.utils.V2XUtils
import com.mogo.module.v2x.voice.V2XVoiceCallbackListener
import com.mogo.module.v2x.voice.V2XVoiceConstants
import com.mogo.module.v2x.voice.V2XVoiceManager.registerUnWakeVoice
@@ -52,7 +52,7 @@ class V2XRecommendRouteVH(viewGroup: ViewGroup, v2XWindow: IV2XWindow<*>) : V2XB
override fun onViewDetachedFromWindow(view: View) {
unRegisterUnwakeNavi()
AIAssist.getInstance(V2XUtils.getApp()).breakOffSpeak()
AIAssist.getInstance(Utils.getApp()).breakOffSpeak()
mainScope.cancel()
}
})
@@ -67,7 +67,7 @@ class V2XRecommendRouteVH(viewGroup: ViewGroup, v2XWindow: IV2XWindow<*>) : V2XB
mNoveltyInfo = MarkerExploreWay()
mNoveltyInfo?.setLocation(markerLocation)
mTvAddress!!.text = "前往 ${it.getV2XRecommendRouteEntity().formatAddress}"
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice(it.getV2XRecommendRouteEntity().tts, VoicePreemptType.PREEMPT_TYPE_IMMEADIATELY, null)
AIAssist.getInstance(Utils.getApp()).speakTTSVoice(it.getV2XRecommendRouteEntity().tts, VoicePreemptType.PREEMPT_TYPE_IMMEADIATELY, null)
}
}

View File

@@ -8,6 +8,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.eagle.core.utilcode.util.SpanUtils;
import com.mogo.module.common.entity.MarkerExploreWay;
import com.mogo.module.common.entity.MarkerLocation;
import com.mogo.module.common.entity.MarkerUserInfo;
@@ -17,7 +18,6 @@ import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.fragment.V2XEventPanelFragment;
import com.mogo.module.v2x.utils.ChartingUtil;
import com.mogo.module.v2x.utils.SpanUtils;
import com.mogo.module.v2x.utils.V2XSQLiteUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.imageloader.MogoImageView;

View File

@@ -6,13 +6,13 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.mogo.eagle.core.utilcode.util.TimeUtils;
import com.mogo.module.common.entity.MarkerExploreWay;
import com.mogo.module.common.entity.V2XHistoryScenarioData;
import com.mogo.module.common.enums.EventTypeEnum;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.utils.RoadConditionUtils;
import com.mogo.module.v2x.utils.TimeUtils;
import com.mogo.module.v2x.utils.V2XSQLiteUtils;
import com.mogo.module.v2x.view.HeartLikeView;
import com.mogo.module.v2x.view.HeartUnLikeView;

View File

@@ -3,6 +3,8 @@ package com.mogo.module.v2x.alarm;
import android.text.TextUtils;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.constant.TimeConstants;
import com.mogo.eagle.core.utilcode.util.TimeUtils;
import com.mogo.map.location.MogoLocation;
import com.mogo.map.search.geo.IMogoGeoSearchListener;
import com.mogo.map.search.geo.MogoGeocodeResult;
@@ -24,9 +26,6 @@ import com.mogo.module.v2x.entity.net.V2XStrategyPushRes;
import com.mogo.module.v2x.utils.DrivingDirectionUtils;
import com.mogo.module.v2x.utils.FatigueDrivingUtils;
import com.mogo.module.v2x.utils.LocationUtils;
import com.mogo.module.v2x.utils.TimeConstants;
import com.mogo.module.v2x.utils.TimeUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.utils.ArrayUtils;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.utils.GsonUtil;
@@ -183,7 +182,7 @@ public class V2XAlarmServer {
//Logger.i(V2XConst.MODULE_NAME, "车机已经开机: " + drivingTime + " 分钟");
V2XStrategyPushRes.ResultBean strategyPushEntity =
GsonUtil.objectFromJson(SharedPrefsMgr.getInstance(V2XUtils.getApp())
GsonUtil.objectFromJson(SharedPrefsMgr.getInstance(com.mogo.eagle.core.utilcode.util.Utils.getApp())
.getString(V2XConst.V2X_STRATEGY_PUSH), V2XStrategyPushRes.ResultBean.class);
V2XPushMessageEntity drivingShowEntity = new V2XPushMessageEntity();
@@ -264,7 +263,7 @@ public class V2XAlarmServer {
MogoPoiSearchQuery poiSearchQuery = new MogoPoiSearchQuery(keyword, keyword);
poiSearchQuery.setPageSize(5);
poiSearchQuery.setLocation(LocationUtils.getCurrentLatLon());
IMogoPoiSearch poiSearch = V2XServiceManager.getMapService().getPoiSearch(V2XUtils.getApp(), poiSearchQuery);
IMogoPoiSearch poiSearch = V2XServiceManager.getMapService().getPoiSearch(com.mogo.eagle.core.utilcode.util.Utils.getApp(), poiSearchQuery);
boolean finalIsHighWay = isHighWay;
poiSearch.setPoiSearchListener(new IMogoPoiSearchListener() {
@Override

View File

@@ -4,6 +4,7 @@ import android.content.Intent;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.map.location.MogoLocation;
import com.mogo.module.common.entity.MarkerLocation;
import com.mogo.module.common.entity.V2XMessageEntity;
@@ -11,7 +12,6 @@ import com.mogo.module.common.entity.V2XRoadEventEntity;
import com.mogo.module.common.enums.EventTypeEnum;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.utils.DrivingDirectionUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import java.util.ArrayList;
import java.util.Set;
@@ -84,7 +84,7 @@ public class V2XEarlyWarningServer {
// 弹出UGC
Intent intent = new Intent(V2XConst.BROADCAST_SCENE_HANDLER_ACTION);
intent.putExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY, v2xMessageEntity);
LocalBroadcastManager.getInstance(V2XUtils.getApp()).sendBroadcast(intent);
LocalBroadcastManager.getInstance(Utils.getApp()).sendBroadcast(intent);
}
// 移出已经预警的事件列表

View File

@@ -11,6 +11,8 @@ import androidx.recyclerview.widget.RecyclerView;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.V2XHistoryScenarioData;
import com.mogo.module.v2x.R;
import com.mogo.module.common.view.SpacesItemDecoration;
@@ -19,7 +21,6 @@ import com.mogo.module.v2x.adapter.V2XScenarioHistoryAdapter;
import com.mogo.module.v2x.manager.IMoGoV2XStatusChangedListener;
import com.mogo.module.v2x.manager.V2XStatusDescriptor;
import com.mogo.module.v2x.presenter.ScenarioHistoryPresenter;
import com.mogo.module.v2x.utils.ThreadUtils;
import com.mogo.module.v2x.utils.V2XSQLiteUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.module.v2x.view.V2XListEmptyView;
@@ -143,12 +144,12 @@ public class V2XScenarioHistoryFragment
* */
private void ttsForHistoryFirstToday() {
boolean hasBroadTts = V2XUtils.isFirstTodayWithKey("TTS_FOR_HISTORY_SELECTED");
if (hasBroadTts == false) {
if (!hasBroadTts) {
if (mV2XHistoryScenarioData.size() > 0) {
AIAssist.getInstance(V2XUtils.getApp()).
AIAssist.getInstance(Utils.getApp()).
speakTTSVoice("小智为您记录了今天的出行事件", null);
} else {
AIAssist.getInstance(V2XUtils.getApp()).
AIAssist.getInstance(Utils.getApp()).
speakTTSVoice("小智在这里为您记录今天的出行事件", null);
}
@@ -160,10 +161,10 @@ public class V2XScenarioHistoryFragment
* */
public void ttsForVoiceCheckout() {
if (mV2XHistoryScenarioData.size() > 0) {
AIAssist.getInstance(V2XUtils.getApp()).
AIAssist.getInstance(Utils.getApp()).
speakTTSVoice("为您找到以下动态请查看", null);
} else {
AIAssist.getInstance(V2XUtils.getApp()).
AIAssist.getInstance(Utils.getApp()).
speakTTSVoice("今天暂无出行动态,试试对我说分享拥堵给其他车友吧", null);
}
}

View File

@@ -12,6 +12,8 @@ import androidx.recyclerview.widget.RecyclerView;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.view.LinearLayoutCommonManager;
import com.mogo.module.v2x.R;
import com.mogo.module.common.view.SpacesItemDecoration;
@@ -24,7 +26,6 @@ import com.mogo.module.v2x.listener.AdapterCallback;
import com.mogo.module.v2x.network.V2XRefreshCallback;
import com.mogo.module.v2x.network.V2XShareNetworkModel;
import com.mogo.module.v2x.presenter.ShareEventsPresenter;
import com.mogo.module.v2x.utils.ThreadUtils;
import com.mogo.module.common.view.NetworkLoadingView;
import com.mogo.module.v2x.utils.V2XUtils;
@@ -158,7 +159,7 @@ public class V2XShareEventsFragment extends MvpFragment<V2XShareEventsFragment,
ttsString = "您目前已完成" + shareNum + "次分享,获得" + approveNum + "次车友认同,热心指数" + enthusiasm
+ "颗星,实至名归,老铁你就是大家一直赞扬的热心车友,请继续保持。";
}
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice(ttsString, null);
AIAssist.getInstance(Utils.getApp()).speakTTSVoice(ttsString, null);
fromVoice = false;
}
@@ -237,8 +238,8 @@ public class V2XShareEventsFragment extends MvpFragment<V2XShareEventsFragment,
private void ttsForSharedFirstToday() {
boolean hasBroadTts = V2XUtils.isFirstTodayWithKey("TTS_FOR_SHARED_SELECTED");
Log.d(TAG,"shouldBroadTts"+hasBroadTts);
if (hasBroadTts == false) {
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice("您可以在这里查看历史的分享记录", null);
if (!hasBroadTts) {
AIAssist.getInstance(Utils.getApp()).speakTTSVoice("您可以在这里查看历史的分享记录", null);
}
}

View File

@@ -28,6 +28,7 @@ import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.anim.OnMarkerAnimationListener;
import com.mogo.module.common.entity.MarkerExploreWay;
@@ -213,7 +214,7 @@ public class V2XSurroundingFragment extends MvpFragment<SurroundingEventView, Su
boolean hasBroadTts = V2XUtils.isFirstTodayWithKey("TTS_FOR_SURROUNDING_SELECTED");
if (!hasBroadTts) {
if (eventCount > 0) {
AIAssist.getInstance(V2XUtils.getApp()).
AIAssist.getInstance(Utils.getApp()).
speakTTSVoice("发现周边" + eventCount + "条交通信息", null);
} else {
Logger.e(TAG,"周边没有发现交通信息");
@@ -226,10 +227,10 @@ public class V2XSurroundingFragment extends MvpFragment<SurroundingEventView, Su
* */
public void ttsForVoiceCheckout() {
if (poiInfosList.size() > 0) {
AIAssist.getInstance(V2XUtils.getApp()).
AIAssist.getInstance(Utils.getApp()).
speakTTSVoice("为您找到周边以下事件请查看", null);
} else {
AIAssist.getInstance(V2XUtils.getApp()).
AIAssist.getInstance(Utils.getApp()).
speakTTSVoice("周边5公里内无事件试试对我说分享路况给其他车友吧", null);
}
}
@@ -380,10 +381,10 @@ public class V2XSurroundingFragment extends MvpFragment<SurroundingEventView, Su
e.printStackTrace();
}
}
/*
/**
* 子类信息tts播报
* */
AIAssist.getInstance(V2XUtils.getApp()).
*/
AIAssist.getInstance(Utils.getApp()).
speakTTSVoice(construction.getTypeNameTTS(construction.getPoiType()), null);
}
}

View File

@@ -1,12 +1,12 @@
package com.mogo.module.v2x.listener;
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.entity.V2XPushMessageEntity;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.scenario.impl.V2XScenarioManager;
import com.mogo.module.v2x.utils.ADASUtils;
import com.mogo.module.v2x.utils.MarkerUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.cloud.socket.IMogoOnMessageListener;
import com.mogo.utils.TipToast;
import com.mogo.utils.logger.Logger;
@@ -33,7 +33,7 @@ public class V2XMessageListener_401003 implements IMogoOnMessageListener<V2XPush
@Override
public void onMsgReceived(V2XPushMessageEntity message) {
Logger.i(MODULE_NAME, "V2XMessageListener_401003" + GsonUtil.jsonFromObject(message));
V2XUtils.runOnUiThread(() -> {
ThreadUtils.runOnUiThread(() -> {
try {
handlerV2XAlarm(message);
} catch (Exception e) {

View File

@@ -1,5 +1,6 @@
package com.mogo.module.v2x.listener;
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.enums.EventTypeEnum;
import com.mogo.module.v2x.V2XConst;
@@ -8,7 +9,6 @@ import com.mogo.module.v2x.entity.net.V2XSpecialCarRes;
import com.mogo.module.v2x.entity.net.V2XSpecialCarRes.V2XMarkerEntity;
import com.mogo.module.v2x.scenario.impl.V2XScenarioManager;
import com.mogo.module.v2x.utils.MarkerUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.cloud.socket.IMogoOnMessageListener;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.utils.GsonUtil;
@@ -35,7 +35,7 @@ public class V2XMessageListener_401005 implements IMogoOnMessageListener<V2XSpec
public void onMsgReceived(V2XSpecialCarRes message) {
Logger.i(MODULE_NAME, "V2XMessageListener_401005" + GsonUtil.jsonFromObject(message));
if (!V2XServiceManager.getMoGoV2XStatusManager().isRoadEventWindowShow()) {
V2XUtils.runOnBackgroundThread(() -> {
ThreadUtils.getSinglePool().execute(() -> {
try {
MarkerUtils.handlerV2XSpecialVehicleMarker(
message,
@@ -72,7 +72,7 @@ public class V2XMessageListener_401005 implements IMogoOnMessageListener<V2XSpec
}
}
if (!entityList.isEmpty()) {
V2XUtils.runOnUiThread(() -> {
ThreadUtils.runOnUiThread(() -> {
V2XMessageEntity<List<V2XMarkerEntity>> v2XMessageEntity = new V2XMessageEntity<>();
v2XMessageEntity.setType(V2XMessageEntity.V2XTypeEnum.ALERT_SEEK_WARNING);
v2XMessageEntity.setContent(entityList);

View File

@@ -1,9 +1,9 @@
package com.mogo.module.v2x.listener;
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
import com.mogo.module.common.entity.MarkerCardResult;
import com.mogo.module.common.entity.MarkerResponse;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.cloud.socket.IMogoOnMessageListener;
/**
@@ -24,7 +24,7 @@ public class V2XMessageListener_401011 implements IMogoOnMessageListener<MarkerR
public void onMsgReceived(MarkerResponse response) {
//Logger.d(MODULE_NAME, "V2XMessageListener_401011==V2X地图气泡数据刷新\n" + GsonUtil.jsonFromObject(response));
if (!V2XServiceManager.getMoGoV2XStatusManager().isRoadEventWindowShow()) {
V2XUtils.runOnBackgroundThread(() -> {
ThreadUtils.getSinglePool().execute(() -> {
// 解析不同的Marker类型然后对应的进行绘制
if (response != null && response.getResult() != null) {
MarkerCardResult markerCardResult = response.getResult();

View File

@@ -1,10 +1,14 @@
package com.mogo.module.v2x.listener;
import static com.mogo.module.v2x.V2XConst.MODULE_NAME;
import android.content.Intent;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.constant.TimeConstants;
import com.mogo.eagle.core.utilcode.util.TimeUtils;
import com.mogo.map.location.MogoLocation;
import com.mogo.module.common.entity.MarkerCardResult;
import com.mogo.module.common.entity.MarkerExploreWay;
@@ -15,16 +19,11 @@ import com.mogo.module.service.Utils;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.alarm.V2XAlarmServer;
import com.mogo.module.v2x.utils.TimeConstants;
import com.mogo.module.v2x.utils.TimeUtils;
import com.mogo.module.v2x.utils.TrackUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.cloud.socket.IMogoOnMessageListener;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.utils.GsonUtil;
import static com.mogo.module.v2x.V2XConst.MODULE_NAME;
/**
* author : donghongyu
* e-mail : 1358506549@qq.com
@@ -83,7 +82,7 @@ public class V2XMessageListener_401012 implements IMogoOnMessageListener<MarkerC
Intent intent = new Intent(V2XConst.BROADCAST_SCENE_HANDLER_ACTION);
intent.putExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY, v2xMessageEntity);
LocalBroadcastManager.getInstance(V2XUtils.getApp()).sendBroadcast(intent);
LocalBroadcastManager.getInstance(com.mogo.eagle.core.utilcode.util.Utils.getApp()).sendBroadcast(intent);
}
} else {
Logger.e(MODULE_NAME, "V2XMessageListener_401012==V2X服务端下发消息已过期大于3分钟了不进行消费");

View File

@@ -5,10 +5,11 @@ import android.util.Log;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.entity.V2XWarningEntity;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.cloud.socket.IMogoOnMessageListener;
/**
@@ -24,7 +25,7 @@ public class V2XMessageListener_401018 implements IMogoOnMessageListener<V2XWarn
@Override
public void onMsgReceived(V2XWarningEntity info) {
Log.d(V2XConst.MODULE_NAME, "V2XWarnMessageListener onMsgReceived ---11---> ");
V2XUtils.runOnBackgroundThread(() -> {
ThreadUtils.getSinglePool().execute(() -> {
// 解析不同的Marker类型然后对应的进行绘制
if (info != null) {
// 解析存储道路事件
@@ -36,7 +37,7 @@ public class V2XMessageListener_401018 implements IMogoOnMessageListener<V2XWarn
v2xMessageEntity.setContent(info);
Intent intent = new Intent(V2XConst.BROADCAST_SCENE_HANDLER_ACTION);
intent.putExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY, v2xMessageEntity);
LocalBroadcastManager.getInstance(V2XUtils.getApp()).sendBroadcast(intent);
LocalBroadcastManager.getInstance(Utils.getApp()).sendBroadcast(intent);
}
});
}

View File

@@ -4,10 +4,10 @@ import android.content.Intent;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.entity.net.V2XOptimalRouteDataRes;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.cloud.socket.IMogoOnMessageListener;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.utils.GsonUtil;
@@ -43,7 +43,7 @@ public class V2XMessageListener_402000 implements IMogoOnMessageListener<V2XOpti
Intent intent = new Intent(V2XConst.BROADCAST_SCENE_HANDLER_ACTION);
intent.putExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY, v2xMessageEntity);
LocalBroadcastManager.getInstance(V2XUtils.getApp()).sendBroadcast(intent);
LocalBroadcastManager.getInstance(Utils.getApp()).sendBroadcast(intent);
}
}

View File

@@ -2,14 +2,14 @@ package com.mogo.module.v2x.listener
import com.mogo.eagle.core.data.enums.TrafficTypeEnum
import com.mogo.eagle.core.data.traffic.TrafficData
import com.mogo.service.cloud.socket.IMogoOnMessageListener
import com.mogo.eagle.core.data.v2x.AdvanceWarningBean
import com.mogo.module.v2x.V2XConst
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.module.common.drawer.TrafficMarkerDrawer
import com.mogo.module.common.enums.EventTypeEnum
import com.mogo.module.v2x.utils.V2XUtils
import com.mogo.module.v2x.V2XConst
import com.mogo.service.cloud.socket.IMogoOnMessageListener
import com.mogo.utils.logger.Logger
/**
@@ -33,7 +33,7 @@ class V2XMessageListener_404000 : IMogoOnMessageListener<AdvanceWarningBean> {
message
)
)
V2XUtils.runOnUiThread {
ThreadUtils.runOnUiThread {
var trafficData = buildTrafficData(message)
when (message.status) {
1 -> {

View File

@@ -3,13 +3,13 @@ package com.mogo.module.v2x.marker;
import android.content.Context;
import android.graphics.Bitmap;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.MarkerShowEntity;
import com.mogo.module.common.entity.V2XPushMessageEntity;
import com.mogo.module.common.entity.V2XRoadEventEntity;
import com.mogo.module.common.enums.EventTypeEnum;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.utils.ImageUtil;
import com.mogo.module.v2x.utils.V2XUtils;
import java.util.ArrayList;
@@ -186,11 +186,11 @@ public class V2XMarkerAdapter {
* 获取VR道路事件
*/
public static Bitmap getV2XVRRoadEventViewPng(V2XPushMessageEntity alarmMessage) {
Bitmap bitmap = ImageUtil.createBitmap(V2XUtils.getApp(),
Bitmap bitmap = ImageUtil.createBitmap(Utils.getApp(),
R.drawable.v_to_x_warning_car_orange);
switch (alarmMessage.getSceneId()) {
case "200001"://后方VIP车辆提示
// bitmap = ImageUtil.createBitmap(V2XUtils.getApp(),
// bitmap = ImageUtil.createBitmap(Utils.getApp(),
// R.drawable.v2x_duixiang_laiche_che);
break;
case "200002"://前车急刹
@@ -198,7 +198,7 @@ public class V2XMarkerAdapter {
case "200003"://后方危险车辆预警
break;
case "200004"://逆向车辆路线预判
// bitmap = ImageUtil.createBitmap(V2XUtils.getApp(),
// bitmap = ImageUtil.createBitmap(Utils.getApp(),
// R.drawable.v2x_duixiang_laiche_che);
break;
case "200005"://VIP变灯通行

View File

@@ -13,6 +13,7 @@ import com.mogo.commons.network.ParamsProvider;
import com.mogo.commons.network.SubscribeImpl;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.map.location.MogoLocation;
import com.mogo.map.search.geo.IMogoGeoSearchListener;
import com.mogo.map.search.geo.MogoRegeocodeResult;
@@ -35,7 +36,6 @@ import com.mogo.module.v2x.entity.net.V2XSeekHelpRes;
import com.mogo.module.v2x.entity.net.V2XStrategyPushRes;
import com.mogo.module.v2x.entity.net.V2XUserInfoRes;
import com.mogo.module.v2x.utils.LocationUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.RequestOptions;
import com.mogo.utils.network.utils.GsonUtil;
@@ -713,7 +713,7 @@ public class V2XRefreshModel {
Intent intent = new Intent(V2XConst.BROADCAST_SCENE_HANDLER_ACTION);
intent.putExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY, v2xMessageEntity);
LocalBroadcastManager.getInstance(V2XUtils.getApp()).sendBroadcast(intent);
LocalBroadcastManager.getInstance(Utils.getApp()).sendBroadcast(intent);
}
if (!isSendRecommendRoute && v2XRoadDataRes.getResult().getIllegalParkingData() != null && v2XRoadDataRes.getResult().getIllegalParkingData().size() > 0) {
@@ -736,7 +736,7 @@ public class V2XRefreshModel {
Intent intent = new Intent(V2XConst.BROADCAST_SCENE_HANDLER_ACTION);
intent.putExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY, v2XMessageEntity);
LocalBroadcastManager.getInstance(V2XUtils.getApp()).sendBroadcast(intent);
LocalBroadcastManager.getInstance(Utils.getApp()).sendBroadcast(intent);
} catch (Exception e) {
e.printStackTrace();
}

View File

@@ -4,7 +4,6 @@ package com.mogo.module.v2x.presenter;
import com.mogo.commons.mvp.Presenter;
import com.mogo.module.common.entity.V2XHistoryScenarioData;
import com.mogo.module.v2x.fragment.V2XScenarioHistoryFragment;
import com.mogo.module.v2x.utils.ThreadUtils;
import com.mogo.module.v2x.utils.V2XSQLiteUtils;
import com.mogo.utils.WorkThreadHandler;

View File

@@ -1,23 +1,18 @@
package com.mogo.module.v2x.scenario.impl;
import android.text.TextUtils;
import android.util.Log;
import androidx.annotation.Nullable;
import com.mogo.commons.voice.AIAssist;
import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
import com.mogo.commons.voice.VoicePreemptType;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.service.receiver.MogoReceiver;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.scenario.IV2XScenario;
import com.mogo.module.v2x.scenario.view.IV2XButton;
import com.mogo.module.v2x.scenario.view.IV2XMarker;
import com.mogo.module.v2x.scenario.view.IV2XWindow;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.v2x.IV2XWindowManagerListener;
import com.mogo.utils.logger.Logger;
/**
@@ -60,7 +55,7 @@ public abstract class AbsV2XScenario<T> implements IV2XScenario {
public void speakTTSVoice(@Nullable String msg, IMogoVoiceCmdCallBack callBack) {
if (!TextUtils.isEmpty(msg)) {
Logger.d(TAG, "调用TTS播放语音" + msg);
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice(msg, VoicePreemptType.PREEMPT_TYPE_IMMEADIATELY, callBack);
AIAssist.getInstance(Utils.getApp()).speakTTSVoice(msg, VoicePreemptType.PREEMPT_TYPE_IMMEADIATELY, callBack);
}
}

View File

@@ -4,6 +4,8 @@ import android.content.Intent;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.map.uicontroller.VisualAngleMode;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.entity.V2XMessageEntity;
@@ -23,10 +25,8 @@ import com.mogo.module.v2x.scenario.scene.route.V2XOptimalRouteVREventScenario;
import com.mogo.module.v2x.scenario.scene.seek.V2XSeekHelpScenario;
import com.mogo.module.v2x.scenario.scene.ugc.V2XEventUgcScenario;
import com.mogo.module.v2x.scenario.scene.warning.V2XFrontWarningScenario;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.utils.TipToast;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.utils.GsonUtil;
import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_RECOMMEND_PARKING;
import static com.mogo.module.v2x.V2XConst.MODULE_NAME;
@@ -63,14 +63,14 @@ public class V2XScenarioManager implements IV2XScenarioManager {
try {
synchronized (V2XScenarioManager.class) {
// 展示
V2XUtils.runOnUiThread(() -> {
ThreadUtils.runOnUiThread(() -> {
// 提取之前存储的场景
if (v2XMessageEntity != null) {
sceneChange();
// 广播给应用内部其它模块
Intent intent = new Intent(V2XConst.BROADCAST_SCENE_ACTION);
intent.putExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY, v2XMessageEntity);
LocalBroadcastManager.getInstance(V2XUtils.getApp()).sendBroadcast(intent);
LocalBroadcastManager.getInstance(Utils.getApp()).sendBroadcast(intent);
// 如果没有拿到之前的,根据类型分发
switch (v2XMessageEntity.getType()) {
case V2XMessageEntity.V2XTypeEnum.ALERT_ROAD_WARNING:

View File

@@ -1,8 +0,0 @@
package com.mogo.module.v2x.scenario.scene.destination;
/**
* 基于目的地违章高发情况的停车推荐
* http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=48958095
*/
public class V2XRecommendParkingLotScenario {
}

View File

@@ -1,12 +1,12 @@
package com.mogo.module.v2x.scenario.scene.destination
import android.view.ViewGroup
import com.mogo.eagle.core.utilcode.util.Utils
import com.mogo.module.common.entity.V2XMessageEntity
import com.mogo.module.common.entity.V2XRecommendRouteEntity
import com.mogo.module.v2x.R
import com.mogo.module.v2x.V2XServiceManager
import com.mogo.module.v2x.scenario.impl.AbsV2XScenario
import com.mogo.module.v2x.utils.V2XUtils
/**
* created by wujifei on 2020/12/29 17:57
@@ -20,7 +20,7 @@ class V2XRecommendRouteScenario : AbsV2XScenario<V2XRecommendRouteEntity>() {
override fun init(v2XMessageEntity: V2XMessageEntity<V2XRecommendRouteEntity>?) {
v2XMessageEntity?.content?.let {
if (v2XMessageEntity!!.isShowState) {
if (v2XMessageEntity.isShowState) {
if (!isSameScenario(v2XMessageEntity)) {
setV2XMessageEntity(v2XMessageEntity)
show()
@@ -43,7 +43,7 @@ class V2XRecommendRouteScenario : AbsV2XScenario<V2XRecommendRouteEntity>() {
override fun showWindow() {
v2XWindow?.let {
val layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
V2XUtils.getApp().resources.getDimension(R.dimen.module_v2x_fatigue_driving_window_height_ground).toInt())
Utils.getApp().resources.getDimension(R.dimen.module_v2x_fatigue_driving_window_height_ground).toInt())
V2XServiceManager.getMogoTopViewManager().addView(it.view, layoutParams)
it.show(v2XMessageEntity.content)

View File

@@ -6,13 +6,13 @@ import android.view.ViewGroup;
import androidx.annotation.Nullable;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.entity.V2XPushMessageEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.scenario.impl.AbsV2XScenario;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.module.v2x.voice.V2XVoiceCallbackListener;
import com.mogo.module.v2x.voice.V2XVoiceConstants;
import com.mogo.module.v2x.voice.V2XVoiceManager;
@@ -72,7 +72,7 @@ public class V2XFatigueDrivingScenario extends AbsV2XScenario<V2XPushMessageEnti
ViewGroup.LayoutParams layoutParams =
new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
(int) V2XUtils.getApp().getResources().getDimension(R.dimen.module_v2x_fatigue_driving_window_height_ground));
(int) Utils.getApp().getResources().getDimension(R.dimen.module_v2x_fatigue_driving_window_height_ground));
V2XServiceManager
.getMogoTopViewManager()
.addView(getV2XWindow().getView(), layoutParams, this);

View File

@@ -3,18 +3,16 @@ package com.mogo.module.v2x.scenario.scene.help;
import android.content.Intent;
import android.os.CountDownTimer;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.Nullable;
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.scenario.impl.AbsV2XScenario;
import com.mogo.module.v2x.scenario.scene.seek.V2XSeekHelpWindow;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.module.v2x.voice.V2XVoiceCallbackListener;
import com.mogo.module.v2x.voice.V2XVoiceConstants;
import com.mogo.module.v2x.voice.V2XVoiceManager;
@@ -100,7 +98,7 @@ public class V2XCarForHelpScenario extends AbsV2XScenario<Boolean> implements IM
public void showButton() {
Logger.d(TAG, "打开自车求助按钮!");
// 设置Button的显示
V2XUtils.runOnUiThread(() -> {
ThreadUtils.runOnUiThread(() -> {
if (getV2XButton() != null) {
getV2XButton().setOnActionListener(this::showDialog);
getV2XButton().show();
@@ -117,7 +115,7 @@ public class V2XCarForHelpScenario extends AbsV2XScenario<Boolean> implements IM
V2XServiceManager.getMoGoStatusManager().setSeekHelping(TAG, false);
if (getV2XButton() != null) {
getV2XButton().close();
SharedPrefsMgr.getInstance(V2XUtils.getApp()).putLong(V2XConst.SEEK_HELP_TIME, 0);
SharedPrefsMgr.getInstance(Utils.getApp()).putLong(V2XConst.SEEK_HELP_TIME, 0);
}
mySeekHelpCountDownTimerCancel();

View File

@@ -1,20 +1,18 @@
package com.mogo.module.v2x.scenario.scene.help;
import android.app.ActionBar;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.mogo.commons.data.BaseData;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.network.V2XRefreshCallback;
import com.mogo.module.v2x.scenario.view.IV2XButton;
import com.mogo.module.v2x.scenario.view.IV2XButtonListener;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.module.v2x.voice.V2XVoiceCallbackListener;
import com.mogo.module.v2x.voice.V2XVoiceConstants;
import com.mogo.module.v2x.voice.V2XVoiceManager;
@@ -84,7 +82,7 @@ public class V2XSeekHelpButton implements IV2XButton {
doAction();
});
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
(int) V2XUtils.getApp().getResources().getDimension(R.dimen.module_v2x_car_for_help_window_height));
(int) Utils.getApp().getResources().getDimension(R.dimen.module_v2x_car_for_help_window_height));
V2XServiceManager.getMogoTopViewManager().addView(topView, layoutParams);
}
@@ -95,7 +93,7 @@ public class V2XSeekHelpButton implements IV2XButton {
@Override
public void close() {
if (tv != null) {
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice("已取消", null);
AIAssist.getInstance(Utils.getApp()).speakTTSVoice("已取消", null);
tv.setVisibility(View.GONE);
closeTopView();
V2XServiceManager.getV2XRefreshModel().cancelHelpSignal(new V2XRefreshCallback<BaseData>() {

View File

@@ -10,14 +10,12 @@ import android.widget.TextView;
import androidx.constraintlayout.widget.ConstraintLayout;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.wm.WindowManagerView;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.module.v2x.voice.V2XVoiceCallbackListener;
import com.mogo.module.v2x.voice.V2XVoiceConstants;
import com.mogo.module.v2x.voice.V2XVoiceManager;
import com.mogo.service.entrance.ButtonIndex;
import com.mogo.utils.logger.Logger;
/**
@@ -89,12 +87,12 @@ public class V2XSeekHelpDialog extends ConstraintLayout implements View.OnClickL
// V2XServiceManager.getMogoEntranceButtonController().getButton(ButtonIndex.BUTTON2).getContext()
// ).contentView(this).build();
// }
// AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice("确定要解除求助状态吗");
// AIAssist.getInstance(Utils.getApp()).speakTTSVoice("确定要解除求助状态吗");
// unRegisterVoiceCmd();
// registerVoiceCmd();
// windowManager.show();
handleLeft();
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice("已取消");
AIAssist.getInstance(Utils.getApp()).speakTTSVoice("已取消");
} catch (Exception e) {
e.printStackTrace();

View File

@@ -6,13 +6,13 @@ import android.view.ViewGroup;
import androidx.annotation.Nullable;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.entity.V2XPushMessageEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.scenario.impl.AbsV2XScenario;
import com.mogo.module.v2x.utils.ADASUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.windowview.IMogoTopViewStatusListener;
import com.mogo.utils.TipToast;
@@ -54,9 +54,9 @@ public class V2XPushLiveCarScenario extends AbsV2XScenario<V2XPushMessageEntity>
@Override
public void showWindow() {
if (getV2XWindow() != null) {
int width = (int) V2XUtils.getApp().getResources().getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode() ?
int width = (int) Utils.getApp().getResources().getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode() ?
R.dimen.module_v2x_event_window_width_vr : R.dimen.module_v2x_event_window_width);
int height = (int) V2XUtils.getApp().getResources().getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode() ?
int height = (int) Utils.getApp().getResources().getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode() ?
R.dimen.module_v2x_event_see_live_window_height_vr : R.dimen.module_v2x_event_see_live_window_height);
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(width, height);
if (V2XServiceManager.getMoGoStatusManager().isVrMode()) {

View File

@@ -4,14 +4,12 @@ import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.V2XEventShowEntity;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.scenario.impl.AbsV2XScenario;
import com.mogo.module.v2x.scenario.scene.road.V2XRoadEventScenario;
import com.mogo.module.v2x.scenario.scene.road.V2XRoadEventWindow;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.windowview.IMogoTopViewStatusListener;
import com.mogo.utils.logger.Logger;
@@ -73,9 +71,9 @@ public class V2XRoadLiveCarScenario extends AbsV2XScenario<List<V2XEventShowEnti
public void showWindow() {
Log.d(TAG, getV2XWindow().toString());
if (getV2XWindow() != null) {
int width = (int) V2XUtils.getApp().getResources().getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode() ?
int width = (int) Utils.getApp().getResources().getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode() ?
R.dimen.module_v2x_event_window_width_vr : R.dimen.module_v2x_event_window_width);
int height = (int) V2XUtils.getApp().getResources().getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode() ?
int height = (int) Utils.getApp().getResources().getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode() ?
R.dimen.module_v2x_event_see_live_window_height_vr : R.dimen.module_v2x_event_see_live_window_height);
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(width, height);
V2XServiceManager

View File

@@ -10,6 +10,7 @@ import com.mogo.cloud.trafficlive.api.ITrafficIntersectionLiveCallBack;
import com.mogo.cloud.trafficlive.api.MoGoAiCloudTrafficLive;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.map.location.MogoLocation;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.IMogoMarkerClickListener;
@@ -20,7 +21,6 @@ import com.mogo.module.common.entity.V2XPushMessageEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.scenario.impl.V2XScenarioManager;
import com.mogo.module.v2x.utils.ToastUtils;
import com.mogo.module.v2x.voice.V2XVoiceCallbackListener;
import com.mogo.module.v2x.voice.V2XVoiceManager;
import com.mogo.service.statusmanager.StatusDescriptor;

View File

@@ -5,13 +5,13 @@ import android.view.ViewGroup;
import androidx.annotation.Nullable;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.entity.V2XPushMessageEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.scenario.impl.AbsV2XScenario;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.windowview.IMogoTopViewStatusListener;
import com.mogo.utils.TipToast;
import com.mogo.utils.logger.Logger;
@@ -60,9 +60,9 @@ public class V2XVoiceCallLiveScenario extends AbsV2XScenario<V2XPushMessageEntit
@Override
public void showWindow() {
if (getV2XWindow() != null) {
int width = (int) V2XUtils.getApp().getResources().getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode() ?
int width = (int) Utils.getApp().getResources().getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode() ?
R.dimen.module_v2x_event_window_width_vr : R.dimen.module_v2x_event_window_width);
int height = (int) V2XUtils.getApp().getResources().getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode() ?
int height = (int) Utils.getApp().getResources().getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode() ?
R.dimen.module_v2x_event_see_live_window_height_vr : R.dimen.module_v2x_event_see_live_window_height);
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(width, height);
if (V2XServiceManager.getMoGoStatusManager().isVrMode()) {

View File

@@ -17,7 +17,6 @@ import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.listener.V2XWindowStatusListener;
import com.mogo.module.v2x.scenario.view.IV2XWindow;
import com.mogo.module.v2x.utils.ToastUtils;
import com.mogo.service.windowview.IMogoTopViewStatusListener;
import com.mogo.utils.logger.Logger;
import com.zhidao.mogo.module.obu.ObuConstant;

View File

@@ -12,6 +12,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.PagerSnapHelper;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.MarkerExploreWay;
import com.mogo.module.common.entity.V2XEventShowEntity;
import com.mogo.module.common.entity.V2XMessageEntity;
@@ -21,7 +22,6 @@ import com.mogo.module.v2x.adapter.V2XRoadEventAdapter;
import com.mogo.module.v2x.listener.V2XWindowStatusListener;
import com.mogo.module.v2x.scenario.scene.V2XBasWindow;
import com.mogo.module.v2x.scenario.view.IV2XWindow;
import com.mogo.module.v2x.utils.V2XUtils;
import java.util.ArrayList;
import java.util.List;
@@ -123,7 +123,7 @@ public class V2XIllegalParkWindow extends V2XBasWindow implements IV2XWindow<Mar
ViewGroup.LayoutParams layoutParams =
new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
(int) V2XUtils.getApp()
(int) Utils.getApp()
.getResources()
.getDimension(R.dimen.module_v2x_fatigue_driving_window_height_ground));

View File

@@ -5,13 +5,13 @@ import android.view.ViewGroup;
import androidx.annotation.Nullable;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.entity.V2XPushMessageEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.scenario.impl.AbsV2XScenario;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.windowview.IMogoTopViewStatusListener;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.utils.GsonUtil;
@@ -62,7 +62,7 @@ public class V2XPushEventScenario extends AbsV2XScenario<V2XPushMessageEntity> i
ViewGroup.LayoutParams layoutParams =
new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
(int) V2XUtils.getApp().getResources().getDimension(R.dimen.module_v2x_event_window_height_ground));
(int) Utils.getApp().getResources().getDimension(R.dimen.module_v2x_event_window_height_ground));
V2XServiceManager
.getMogoTopViewManager()
.addView(getV2XWindow().getView(), layoutParams, this);

View File

@@ -3,6 +3,7 @@ package com.mogo.module.v2x.scenario.scene.road;
import android.view.View;
import android.view.ViewGroup;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.entity.V2XRoadEventEntity;
import com.mogo.module.v2x.R;
@@ -12,7 +13,6 @@ import com.mogo.module.v2x.scenario.impl.AbsV2XScenario;
import com.mogo.module.v2x.scenario.scene.livecar.V2XRoadLiveCarScenario;
import com.mogo.module.v2x.scenario.view.IV2XWindow;
import com.mogo.module.v2x.utils.ADASUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.windowview.IMogoTopViewStatusListener;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.utils.GsonUtil;
@@ -124,7 +124,7 @@ public class V2XRoadEventScenario extends AbsV2XScenario<V2XRoadEventEntity> imp
ViewGroup.LayoutParams layoutParams =
new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
(int) V2XUtils.getApp().getResources().getDimension(R.dimen.module_v2x_event_window_height));
(int) Utils.getApp().getResources().getDimension(R.dimen.module_v2x_event_window_height));
V2XServiceManager
.getMogoTopViewManager()
.addView(getV2XWindow().getView(), layoutParams, this);

View File

@@ -6,12 +6,12 @@ import android.view.ViewGroup;
import androidx.annotation.Nullable;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.V2XEventShowEntity;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.scenario.impl.AbsV2XScenario;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.windowview.IMogoTopViewStatusListener;
import javax.security.auth.DestroyFailedException;
@@ -58,7 +58,7 @@ public class V2XRoadVideoCarScenario extends AbsV2XScenario<V2XEventShowEntity>
ViewGroup.LayoutParams layoutParams =
new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
(int) V2XUtils.getApp().getResources()
(int) Utils.getApp().getResources()
.getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode()? R.dimen.dp_394:R.dimen.v2x_video_window_height));
V2XServiceManager
.getMogoTopViewManager()

View File

@@ -5,13 +5,13 @@ import android.view.ViewGroup;
import androidx.annotation.Nullable;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.entity.net.V2XOptimalRouteDataRes;
import com.mogo.module.v2x.scenario.impl.AbsV2XScenario;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.windowview.IMogoTopViewStatusListener;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.utils.GsonUtil;
@@ -65,7 +65,7 @@ public class V2XOptimalRouteVREventScenario
ViewGroup.LayoutParams layoutParams =
new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
(int) V2XUtils.getApp().getResources().getDimension(R.dimen.module_v2x_event_window_height_ground));
(int) Utils.getApp().getResources().getDimension(R.dimen.module_v2x_event_window_height_ground));
V2XServiceManager
.getMogoTopViewManager()
.addView(getV2XWindow().getView(), layoutParams, this);

View File

@@ -5,6 +5,7 @@ import android.view.ViewGroup;
import androidx.annotation.Nullable;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.entity.V2XPushMessageEntity;
import com.mogo.module.common.entity.V2XRoadEventEntity;
@@ -15,7 +16,6 @@ import com.mogo.module.v2x.entity.net.V2XSpecialCarRes.V2XMarkerEntity;
import com.mogo.module.v2x.scenario.impl.AbsV2XScenario;
import com.mogo.module.v2x.utils.ADASUtils;
import com.mogo.module.v2x.utils.V2XSQLiteUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.windowview.IMogoTopViewStatusListener;
import java.util.List;
@@ -91,7 +91,7 @@ public class V2XSeekHelpScenario extends AbsV2XScenario<List<V2XMarkerEntity>> i
ViewGroup.LayoutParams layoutParams =
new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
(int) V2XUtils.getApp().getResources().getDimension(R.dimen.module_v2x_fatigue_driving_window_height_ground));
(int) Utils.getApp().getResources().getDimension(R.dimen.module_v2x_fatigue_driving_window_height_ground));
V2XServiceManager
.getMogoTopViewManager()
.addView(getV2XWindow().getView(), layoutParams, this);

View File

@@ -5,13 +5,13 @@ import android.view.ViewGroup;
import androidx.annotation.Nullable;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.entity.V2XRoadEventEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.scenario.impl.AbsV2XScenario;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.windowview.IMogoTopViewStatusListener;
import com.mogo.utils.logger.Logger;
@@ -57,7 +57,7 @@ public class V2XEventUgcScenario extends AbsV2XScenario<V2XRoadEventEntity> impl
ViewGroup.LayoutParams layoutParams =
new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
(int) V2XUtils.getApp().getResources().getDimension(R.dimen.module_v2x_fatigue_driving_window_height_ground));
(int) Utils.getApp().getResources().getDimension(R.dimen.module_v2x_fatigue_driving_window_height_ground));
V2XServiceManager
.getMogoTopViewManager()
.addView(getV2XWindow().getView(), layoutParams, this);

View File

@@ -8,6 +8,7 @@ import android.view.ViewGroup;
import androidx.annotation.Nullable;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.map.navi.IMogoCarLocationChangedListener2;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.entity.V2XMessageEntity;
@@ -15,7 +16,6 @@ import com.mogo.module.common.entity.V2XWarningEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.scenario.impl.AbsV2XScenario;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.windowview.IMogoTopViewStatusListener;
/**
@@ -61,7 +61,7 @@ public class V2XFrontWarningScenario extends AbsV2XScenario implements IMogoTopV
ViewGroup.LayoutParams layoutParams =
new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
(int) V2XUtils.getApp().getResources().getDimension(R.dimen.module_v2x_fatigue_driving_window_height_ground));
(int) Utils.getApp().getResources().getDimension(R.dimen.module_v2x_fatigue_driving_window_height_ground));
V2XServiceManager
.getMogoTopViewManager()
.addView(getV2XWindow().getView(), layoutParams, this);

View File

@@ -9,14 +9,13 @@ import android.widget.ImageView;
import android.widget.TextView;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.V2XWarningEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.listener.V2XWindowStatusListener;
import com.mogo.module.v2x.scenario.scene.V2XBasWindow;
import com.mogo.module.v2x.scenario.view.IV2XWindow;
import com.mogo.module.v2x.utils.V2XUtils;
/**
* @author liujing
@@ -77,7 +76,7 @@ public class V2XWarningWindow extends V2XBasWindow implements IV2XWindow {
}
distance.setText(String.valueOf(mV2XWarningEntity.getDistance()) + "");
warningTextView.setText(mV2XWarningEntity.getWarningContent());//验证云端数据是否
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice(mV2XWarningEntity.getTts());
AIAssist.getInstance(Utils.getApp()).speakTTSVoice(mV2XWarningEntity.getTts());
}
//3秒后移除提示弹框
if (runnableV2XEvent == null) {

View File

@@ -9,6 +9,7 @@ import androidx.annotation.Nullable;
import com.mogo.commons.voice.AIAssist;
import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
import com.mogo.commons.voice.VoicePreemptType;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.entity.net.V2XAlarmEventRes;
import com.mogo.module.common.entity.V2XPushMessageEntity;
@@ -133,7 +134,7 @@ public class ADASUtils {
public static void speakTTSVoice(@Nullable String msg, IMogoVoiceCmdCallBack callBack) {
if (!TextUtils.isEmpty(msg)) {
Logger.w(V2XConst.MODULE_NAME, "调用TTS播放语音" + msg);
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice(msg, VoicePreemptType.PREEMPT_TYPE_IMMEADIATELY, callBack);
AIAssist.getInstance(Utils.getApp()).speakTTSVoice(msg, VoicePreemptType.PREEMPT_TYPE_IMMEADIATELY, callBack);
}
}
}

View File

@@ -79,7 +79,7 @@ public class ChartingUtil {
if ( V2XServiceManager.getCarsChattingProvider() != null ) {
V2XServiceManager.getCarsChattingProvider().isOnLine(
"CAR_CALL_TO_" + V2XConst.MODULE_NAME,
V2XUtils.getApp(),
com.mogo.eagle.core.utilcode.util.Utils.getApp(),
sn,
new ICallChatResponse() {
@Override
@@ -112,7 +112,7 @@ public class ChartingUtil {
if ( V2XServiceManager.getCarsChattingProvider() != null ) {
V2XServiceManager.getCarsChattingProvider().canCall(
"CAR_CALL_TO_" + V2XConst.MODULE_NAME,
V2XUtils.getApp(),
com.mogo.eagle.core.utilcode.util.Utils.getApp(),
new ICallChatResponse() {
@Override
public void canCall(boolean onLine) {

View File

@@ -2,11 +2,14 @@ package com.mogo.module.v2x.utils;
import android.text.TextUtils;
import com.mogo.eagle.core.utilcode.constant.TimeConstants;
import com.mogo.eagle.core.utilcode.util.TimeUtils;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.entity.net.V2XStrategyPushRes;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.storage.SharedPrefsMgr;
import com.mogo.utils.network.utils.GsonUtil;
import com.mogo.utils.storage.SharedPrefsMgr;
/**
* author : donghongyu
@@ -24,12 +27,12 @@ public class FatigueDrivingUtils {
*/
public static long getDrivingTime() {
// 获取 ACC ON 时间
String accOnTime = SharedPrefsMgr.getInstance(V2XUtils.getApp())
String accOnTime = SharedPrefsMgr.getInstance(Utils.getApp())
.getString(V2XConst.V2X_ACC_ON_TIME_STR);
if (TextUtils.isEmpty(accOnTime)) {
accOnTime = TimeUtils.getNowString();
// 记录开机时间
SharedPrefsMgr.getInstance(V2XUtils.getApp())
SharedPrefsMgr.getInstance(Utils.getApp())
.putString(V2XConst.V2X_ACC_ON_TIME_STR, accOnTime);
}
return Math.abs(TimeUtils.getTimeSpanByNow(accOnTime, TimeConstants.MIN));
@@ -41,7 +44,7 @@ public class FatigueDrivingUtils {
*/
public static void refreshAccOnTime() {
// 获取 ACC ON 时间
String localAccONTime = SharedPrefsMgr.getInstance(V2XUtils.getApp())
String localAccONTime = SharedPrefsMgr.getInstance(Utils.getApp())
.getString(V2XConst.V2X_ACC_ON_TIME_STR);
Logger.d(V2XConst.MODULE_NAME, "ACC ON时间" + localAccONTime);
@@ -49,13 +52,13 @@ public class FatigueDrivingUtils {
if (!TextUtils.isEmpty(localAccONTime)) {
// 获取配置信息
V2XStrategyPushRes.ResultBean strategyPushEntity =
GsonUtil.objectFromJson(SharedPrefsMgr.getInstance(V2XUtils.getApp())
GsonUtil.objectFromJson(SharedPrefsMgr.getInstance(Utils.getApp())
.getString(V2XConst.V2X_STRATEGY_PUSH), V2XStrategyPushRes.ResultBean.class);
if (strategyPushEntity != null) {
// 获取 当前 ACC ON 时间
String accOnTime = TimeUtils.getNowString();
// 获取 ACC OFF 时间
String accOFFTime = SharedPrefsMgr.getInstance(V2XUtils.getApp())
String accOFFTime = SharedPrefsMgr.getInstance(Utils.getApp())
.getString(V2XConst.V2X_ACC_OFF_TIME_STR);
if (!TextUtils.isEmpty(accOFFTime)) {
// 比较开关机时间如果acc of 比 acc on 时间还要靠近说明acc on 时间记录有问题,需要更新同步
@@ -63,18 +66,18 @@ public class FatigueDrivingUtils {
Logger.d(V2XConst.MODULE_NAME, "开关机时间间隔:" + timeSpan);
if (timeSpan >= strategyPushEntity.getRestIgnoreMinutes()) {
// 记录开机时间
SharedPrefsMgr.getInstance(V2XUtils.getApp())
SharedPrefsMgr.getInstance(Utils.getApp())
.putString(V2XConst.V2X_ACC_ON_TIME_STR, accOnTime);
}
}
} else {
// 记录开机时间
SharedPrefsMgr.getInstance(V2XUtils.getApp())
SharedPrefsMgr.getInstance(Utils.getApp())
.putString(V2XConst.V2X_ACC_ON_TIME_STR, TimeUtils.getNowString());
}
} else {
// 记录开机时间
SharedPrefsMgr.getInstance(V2XUtils.getApp())
SharedPrefsMgr.getInstance(Utils.getApp())
.putString(V2XConst.V2X_ACC_ON_TIME_STR, TimeUtils.getNowString());
}
}

View File

@@ -4,6 +4,7 @@ import android.location.Location;
import android.util.Log;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.map.location.MogoLocation;
import com.mogo.map.search.geo.IMogoGeoSearchListener;
import com.mogo.map.search.geo.MogoPoiItem;
@@ -44,7 +45,7 @@ public class LocationUtils {
MogoPoiSearchQuery poiSearchQuery = new MogoPoiSearchQuery(keyword, keyword);
poiSearchQuery.setPageSize(10);
poiSearchQuery.setLocation(getCurrentLatLon());
IMogoPoiSearch poiSearch = V2XServiceManager.getMapService().getPoiSearch(V2XUtils.getApp(), poiSearchQuery);
IMogoPoiSearch poiSearch = V2XServiceManager.getMapService().getPoiSearch(Utils.getApp(), poiSearchQuery);
poiSearch.setPoiSearchListener(new IMogoPoiSearchListener() {
@Override

View File

@@ -1,6 +1,7 @@
package com.mogo.module.v2x.utils;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.utils.TipToast;
@@ -34,7 +35,7 @@ public class RoadConditionUtils {
* 显示Toast
*/
private static void showTip() {
AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice("已反馈", null);
AIAssist.getInstance(Utils.getApp()).speakTTSVoice("已反馈", null);
TipToast.tip("已反馈");
}
}

View File

@@ -1,6 +1,7 @@
package com.mogo.module.v2x.utils;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.util.Utils;
import com.mogo.module.common.entity.MarkerExploreWay;
import com.mogo.module.common.entity.MarkerResponse;
import com.mogo.module.common.entity.V2XMessageEntity;
@@ -31,7 +32,7 @@ public class TestOnLineCarUtils {
*/
public static V2XMessageEntity<List<MarkerExploreWay>> getV2XIllegalParkData() {
try {
InputStream inputStream = V2XUtils.getApp().getResources().openRawResource(R.raw.illegal_park_data);
InputStream inputStream = Utils.getApp().getResources().openRawResource(R.raw.illegal_park_data);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int len = -1;
byte[] buffer = new byte[1024];
@@ -64,7 +65,7 @@ public class TestOnLineCarUtils {
*/
public static V2XMessageEntity<V2XRoadEventEntity> getV2XScenarioRoadEventData() {
try {
InputStream inputStream = V2XUtils.getApp()
InputStream inputStream = Utils.getApp()
.getResources()
.openRawResource(R.raw.scenario_road_event_data);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -98,7 +99,7 @@ public class TestOnLineCarUtils {
*/
public static V2XMessageEntity<V2XRoadEventEntity> getV2XScenarioRoadEventUGCData() {
try {
InputStream inputStream = V2XUtils.getApp()
InputStream inputStream = Utils.getApp()
.getResources()
.openRawResource(R.raw.scenario_road_event_data);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -131,7 +132,7 @@ public class TestOnLineCarUtils {
*/
public static V2XMessageEntity<V2XPushMessageEntity> getV2XScenarioPushEventData() {
try {
InputStream inputStream = V2XUtils.getApp()
InputStream inputStream = Utils.getApp()
.getResources()
.openRawResource(R.raw.scenario_push_event_data);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -175,7 +176,7 @@ public class TestOnLineCarUtils {
break;
default:
}
InputStream inputStream = V2XUtils.getApp()
InputStream inputStream = Utils.getApp()
.getResources()
.openRawResource(id);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -203,7 +204,7 @@ public class TestOnLineCarUtils {
*/
public static V2XMessageEntity<V2XPushMessageEntity> getV2XScenarioPushLiveEventData() {
try {
InputStream inputStream = V2XUtils.getApp()
InputStream inputStream = Utils.getApp()
.getResources()
.openRawResource(R.raw.scenario_push_live_event_data);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -236,7 +237,7 @@ public class TestOnLineCarUtils {
*/
public static V2XMessageEntity<V2XPushMessageEntity> getV2XScenarioAnimationEventData() {
try {
InputStream inputStream = V2XUtils.getApp()
InputStream inputStream = Utils.getApp()
.getResources()
.openRawResource(R.raw.scenario_push_animation_event_data);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -269,7 +270,7 @@ public class TestOnLineCarUtils {
*/
public static V2XMessageEntity<V2XPushMessageEntity> getV2XScenarioCrossCrash() {
try {
InputStream inputStream = V2XUtils.getApp()
InputStream inputStream = Utils.getApp()
.getResources()
.openRawResource(R.raw.scenario_push_cross_crash);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -302,7 +303,7 @@ public class TestOnLineCarUtils {
*/
public static V2XMessageEntity<V2XPushMessageEntity> getV2XScenarioFatigueDrivingData() {
try {
InputStream inputStream = V2XUtils.getApp()
InputStream inputStream = Utils.getApp()
.getResources()
.openRawResource(R.raw.scenario_fatigue_driving_data);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -336,7 +337,7 @@ public class TestOnLineCarUtils {
*/
public static V2XMessageEntity<List<V2XSpecialCarRes.V2XMarkerEntity>> getV2XScenarioSeekHelpData() {
try {
InputStream inputStream = V2XUtils.getApp()
InputStream inputStream = Utils.getApp()
.getResources()
.openRawResource(R.raw.scenario_seek_help);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -370,7 +371,7 @@ public class TestOnLineCarUtils {
*/
public static V2XMessageEntity<List<V2XSpecialCarRes.V2XMarkerEntity>> getV2XScenarionVRBehindVIPData() {
try {
InputStream inputStream = V2XUtils.getApp()
InputStream inputStream = Utils.getApp()
.getResources()
.openRawResource(R.raw.scenario_push_vr_hehind_vip_data);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -404,7 +405,7 @@ public class TestOnLineCarUtils {
*/
public static V2XMessageEntity<V2XPushMessageEntity> getV2XScenarionVRReverseCarData() {
try {
InputStream inputStream = V2XUtils.getApp()
InputStream inputStream = Utils.getApp()
.getResources()
.openRawResource(R.raw.scenario_push_vr_reverse_car_data);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -438,7 +439,7 @@ public class TestOnLineCarUtils {
*/
public static V2XMessageEntity<V2XOptimalRouteDataRes> getV2XOptimalRoute() {
try {
InputStream inputStream = V2XUtils.getApp()
InputStream inputStream = Utils.getApp()
.getResources()
.openRawResource(R.raw.test_data_v2x_zuiyouluxian);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -494,7 +495,7 @@ public class TestOnLineCarUtils {
*/
public static List<MogoLatLng> getTestCoordinates() {
try {
InputStream inputStream = V2XUtils.getApp()
InputStream inputStream = Utils.getApp()
.getResources()
.openRawResource(R.raw.test_coordinates);
ByteArrayOutputStream baos = new ByteArrayOutputStream();

Some files were not shown because too many files have changed in this diff Show More