diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java index ed4b9da724..52f7723cad 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java @@ -848,8 +848,8 @@ public class BusOrderModel { removeTipRunnables(); long taskTime = busRoutesResult.getTaskTime(); - long tip3Time = taskTime-3000 - DateTimeUtil.getCurrentTimeStamp(); // 首站离开前3分钟提示 - long tip1Time = taskTime-1000 - DateTimeUtil.getCurrentTimeStamp(); // 首站离开前1分钟提示 + long tip3Time = taskTime- 3*60*1000 - DateTimeUtil.getCurrentTimeStamp(); // 首站离开前3分钟提示 + long tip1Time = taskTime-60*1000 - DateTimeUtil.getCurrentTimeStamp(); // 首站离开前1分钟提示 if (tip3Time > 0){ UiThreadHandler.postDelayed(tip3Runnable,tip3Time); diff --git a/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt b/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt index 4cde3d6fdf..0410fe2886 100644 --- a/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt +++ b/app/src/main/java/com/mogo/launcher/stageone/HttpDnsStartUp.kt @@ -205,7 +205,7 @@ class HttpDnsStartUp : AndroidStartup() { clientConfig.token = token // 由于存在token过期问题,在更新后会回调至此处,增加二次判定 if(!gotToken){ - CallerLogger.d(SceneConstant.M_MAP + TAG, "onTokenGot ") + CallerLogger.d(SceneConstant.M_MAIN + TAG, "onTokenGot ") CallerCloudListenerManager.invokeCloudTokenGot(token) // 异步初始化NetConfig asyncInit() @@ -219,7 +219,7 @@ class HttpDnsStartUp : AndroidStartup() { override fun onError(code: Int, msg: String) { CallerLogger.d( - SceneConstant.M_HMI + TAG, + SceneConstant.M_MAIN + TAG, "初始化MogoAiCloudSdk failed ,reason : $msg , 未能开启长链服务和初始化Modules服务" ) } @@ -272,7 +272,7 @@ class HttpDnsStartUp : AndroidStartup() { HttpDnsConst.HTTP_DNS_ADDRESS_TYPE_HTTP ) ?: return if (dnsCacheIp != cacheIp) { - CallerLogger.d("TEST_SOCKET", "获取缓存Dns IP : $dnsCacheIp , 原缓存 IP : $cacheIp") + CallerLogger.d(SceneConstant.M_MAIN + TAG, "获取缓存Dns IP : $dnsCacheIp , 原缓存 IP : $cacheIp") startSocketService() cacheIp = dnsCacheIp } @@ -297,7 +297,7 @@ class HttpDnsStartUp : AndroidStartup() { } private fun startSocketService() { - CallerLogger.d(SceneConstant.M_HMI + TAG, "startSocketService") + CallerLogger.d(SceneConstant.M_MAIN + TAG, "startSocketService") val location = CallerMapUIServiceManager.getSingletonLocationClient(AbsMogoApplication.getApp())!! .lastKnowLocation @@ -315,7 +315,7 @@ class HttpDnsStartUp : AndroidStartup() { clientPkFileName = "sn" ) override fun onConnectFailure() { - CallerLogger.d(SceneConstant.M_HMI + TAG, "socket-onConnectFailure") + CallerLogger.d(SceneConstant.M_MAIN + TAG, "socket-onConnectFailure") DebugConfig.setDownloadSnapshot(false) } @@ -328,7 +328,7 @@ class HttpDnsStartUp : AndroidStartup() { clientPkFileName = "sn" ) override fun onConnectSuccess() { - CallerLogger.d(SceneConstant.M_HMI + TAG, "socket-onConnectSuccess") + CallerLogger.d(SceneConstant.M_MAIN + TAG, "socket-onConnectSuccess") DebugConfig.setDownloadSnapshot(true) } @@ -341,7 +341,7 @@ class HttpDnsStartUp : AndroidStartup() { clientPkFileName = "sn" ) override fun onConnectLost() { - CallerLogger.d(SceneConstant.M_HMI + TAG, "socket-onConnectLost") + CallerLogger.d(SceneConstant.M_MAIN + TAG, "socket-onConnectLost") DebugConfig.setDownloadSnapshot(false) } @@ -354,7 +354,7 @@ class HttpDnsStartUp : AndroidStartup() { clientPkFileName = "sn" ) override fun onError(code: String, msg: String?) { - CallerLogger.d(SceneConstant.M_HMI + TAG, "socket-onConnectLost") + CallerLogger.d(SceneConstant.M_MAIN + TAG, "socket-onError code : $code , msg : $msg") } }) // 开启Socket长链服务 diff --git a/app_ipc_monitoring/build.gradle b/app_ipc_monitoring/build.gradle index 4687bb6a0f..5b806618c1 100644 --- a/app_ipc_monitoring/build.gradle +++ b/app_ipc_monitoring/build.gradle @@ -86,11 +86,12 @@ dependencies { androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' implementation rootProject.ext.dependencies.gson implementation project(':libraries:mogo-adas') + implementation project(':libraries:mogo-adas-data') implementation project(':libraries:mogo-adas-other') // implementation 'com.zhidao.support.adas:high:2.8.0.0' // implementation 'com.zhjt.mogo.adas.data:adas-data:2.6.6.0' - compileOnly project(':core:mogo-core-data') - implementation project(':core:mogo-core-utils') +// compileOnly project(':core:mogo-core-data') +// implementation project(':core:mogo-core-utils') implementation 'org.greenrobot:eventbus:3.2.0' implementation 'com.android.support:multidex:1.0.3' implementation 'com.mogo.cloud:telematic:1.3.59' diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/FloatWindow.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/FloatWindow.java index e8a067571f..9724db97c4 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/FloatWindow.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/FloatWindow.java @@ -1,7 +1,6 @@ package com.zhidao.adas.client.ui; import android.app.Activity; -import android.content.Context; import android.graphics.PixelFormat; import android.util.DisplayMetrics; import android.view.Gravity; @@ -12,14 +11,12 @@ import android.view.WindowManager; import androidx.recyclerview.widget.RecyclerView; -import com.mogo.eagle.core.utilcode.util.BarUtils; import com.zhidao.adas.client.R; import com.zhidao.adas.client.adapter.ConnectStatusAdapter; -import com.zhidao.adas.client.adapter.DataShowAdapter; import com.zhidao.adas.client.bean.IPCConnectState; import com.zhidao.adas.client.utils.MyLinearLayoutManager; +import com.zhidao.adas.client.utils.SysBarUtil; -import java.lang.reflect.Field; import java.util.List; /** @@ -49,8 +46,9 @@ public class FloatWindow implements View.OnTouchListener { this.list = list; initFloatWindow(); } - public void refreshView(){ - if (adapter!=null){ + + public void refreshView() { + if (adapter != null) { adapter.refreshView(); } } @@ -109,14 +107,14 @@ public class FloatWindow implements View.OnTouchListener { mInViewY = motionEvent.getY(); // 获取相对屏幕的坐标,即以屏幕左上角为原点 mDownInScreenX = motionEvent.getRawX(); - mDownInScreenY = motionEvent.getRawY() - BarUtils.getStatusBarHeight(); + mDownInScreenY = motionEvent.getRawY() - SysBarUtil.getSysBarHeight(mContext); mInScreenX = motionEvent.getRawX(); - mInScreenY = motionEvent.getRawY() - BarUtils.getStatusBarHeight(); + mInScreenY = motionEvent.getRawY() - SysBarUtil.getSysBarHeight(mContext); break; case MotionEvent.ACTION_MOVE: // 更新浮动窗口位置参数 mInScreenX = motionEvent.getRawX(); - mInScreenY = motionEvent.getRawY() - BarUtils.getStatusBarHeight(); + mInScreenY = motionEvent.getRawY() - SysBarUtil.getSysBarHeight(mContext); mWindowParams.x = (int) (mInScreenX - mInViewX); mWindowParams.y = (int) (mInScreenY - mInViewY); // 手指移动的时候更新小悬浮窗的位置 @@ -156,6 +154,5 @@ public class FloatWindow implements View.OnTouchListener { mFloatLayout.setAlpha(1); } - private int sbar = -1; } diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/special/SpecialVehicleFloatWindow.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/special/SpecialVehicleFloatWindow.java index 3b29b45006..31fa4fad1b 100644 --- a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/special/SpecialVehicleFloatWindow.java +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/ui/special/SpecialVehicleFloatWindow.java @@ -22,13 +22,12 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.appcompat.widget.AppCompatButton; -import com.mogo.eagle.core.utilcode.util.BarUtils; import com.zhidao.adas.client.R; import com.zhidao.adas.client.bean.SpecialVehicleBean; import com.zhidao.adas.client.bean.SpecialVehicleOption; +import com.zhidao.adas.client.utils.SysBarUtil; import java.lang.ref.WeakReference; -import java.lang.reflect.Field; /** @@ -130,9 +129,9 @@ public class SpecialVehicleFloatWindow extends LinearLayout { mInViewY = event.getY(); // 获取相对屏幕的坐标,即以屏幕左上角为原点 mDownInScreenX = event.getRawX(); - mDownInScreenY = event.getRawY() - BarUtils.getStatusBarHeight(); + mDownInScreenY = event.getRawY() - SysBarUtil.getSysBarHeight(getContext()); mInScreenX = event.getRawX(); - mInScreenY = event.getRawY() - BarUtils.getStatusBarHeight(); + mInScreenY = event.getRawY() - SysBarUtil.getSysBarHeight(getContext()); if (!isMaximize) { btn_maximize.setPressed(true); @@ -143,7 +142,7 @@ public class SpecialVehicleFloatWindow extends LinearLayout { case MotionEvent.ACTION_MOVE: // 更新浮动窗口位置参数 mInScreenX = event.getRawX(); - mInScreenY = event.getRawY() - BarUtils.getStatusBarHeight(); + mInScreenY = event.getRawY() - SysBarUtil.getSysBarHeight(getContext()); wmParams.x = (int) (mInScreenX - mInViewX); wmParams.y = (int) (mInScreenY - mInViewY); updateViewLayout(); @@ -197,7 +196,6 @@ public class SpecialVehicleFloatWindow extends LinearLayout { private int sbar = -1; - /*****************************业务逻辑*******************************************/ diff --git a/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/SysBarUtil.java b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/SysBarUtil.java new file mode 100644 index 0000000000..8bdc4c294f --- /dev/null +++ b/app_ipc_monitoring/src/main/java/com/zhidao/adas/client/utils/SysBarUtil.java @@ -0,0 +1,30 @@ +package com.zhidao.adas.client.utils; + +import android.content.Context; + +import java.lang.reflect.Field; + +public class SysBarUtil { + private static int sbar = -1; + + // 获取系统状态栏高度 + public static int getSysBarHeight(Context contex) { + if (sbar == -1) { + Class c; + Object obj; + Field field; + int x; + sbar = 0; + try { + c = Class.forName("com.android.internal.R$dimen"); + obj = c.newInstance(); + field = c.getField("status_bar_height"); + x = Integer.parseInt(field.get(obj).toString()); + sbar = contex.getResources().getDimensionPixelSize(x); + } catch (Exception e1) { + e1.printStackTrace(); + } + } + return sbar; + } +} diff --git a/app_mogo_magic_ring/build.gradle b/app_mogo_magic_ring/build.gradle index cb85630fe3..969761002c 100644 --- a/app_mogo_magic_ring/build.gradle +++ b/app_mogo_magic_ring/build.gradle @@ -65,8 +65,9 @@ dependencies { androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' implementation rootProject.ext.dependencies.gson implementation project(':libraries:mogo-adas') - compileOnly project(':core:mogo-core-data') - implementation project(':core:mogo-core-utils') + implementation project(':libraries:mogo-adas-data') +// compileOnly project(':core:mogo-core-data') +// implementation project(':core:mogo-core-utils') implementation 'org.greenrobot:eventbus:3.2.0' implementation 'com.android.support:multidex:1.0.3' } diff --git a/app_mogo_magic_ring/src/main/java/com/zhidao/adas/magic/ui/FloatWindow.java b/app_mogo_magic_ring/src/main/java/com/zhidao/adas/magic/ui/FloatWindow.java index 7e732899c0..f584c4d892 100644 --- a/app_mogo_magic_ring/src/main/java/com/zhidao/adas/magic/ui/FloatWindow.java +++ b/app_mogo_magic_ring/src/main/java/com/zhidao/adas/magic/ui/FloatWindow.java @@ -1,7 +1,6 @@ package com.zhidao.adas.magic.ui; import android.app.Activity; -import android.content.Context; import android.graphics.PixelFormat; import android.util.DisplayMetrics; import android.view.Gravity; @@ -12,13 +11,12 @@ import android.view.WindowManager; import androidx.recyclerview.widget.RecyclerView; -import com.mogo.eagle.core.utilcode.util.BarUtils; import com.zhidao.adas.magic.R; import com.zhidao.adas.magic.adapter.ConnectStatusAdapter; import com.zhidao.adas.magic.bean.IPCConnectState; import com.zhidao.adas.magic.utils.MyLinearLayoutManager; +import com.zhidao.adas.magic.utils.SysBarUtil; -import java.lang.reflect.Field; import java.util.List; /** @@ -109,14 +107,14 @@ public class FloatWindow implements View.OnTouchListener { mInViewY = motionEvent.getY(); // 获取相对屏幕的坐标,即以屏幕左上角为原点 mDownInScreenX = motionEvent.getRawX(); - mDownInScreenY = motionEvent.getRawY() - BarUtils.getStatusBarHeight(); + mDownInScreenY = motionEvent.getRawY() - SysBarUtil.getSysBarHeight(mContext); mInScreenX = motionEvent.getRawX(); - mInScreenY = motionEvent.getRawY() - BarUtils.getStatusBarHeight(); + mInScreenY = motionEvent.getRawY() - SysBarUtil.getSysBarHeight(mContext); break; case MotionEvent.ACTION_MOVE: // 更新浮动窗口位置参数 mInScreenX = motionEvent.getRawX(); - mInScreenY = motionEvent.getRawY() - BarUtils.getStatusBarHeight(); + mInScreenY = motionEvent.getRawY() - SysBarUtil.getSysBarHeight(mContext); mWindowParams.x = (int) (mInScreenX - mInViewX); mWindowParams.y = (int) (mInScreenY - mInViewY); // 手指移动的时候更新小悬浮窗的位置 diff --git a/app_mogo_magic_ring/src/main/java/com/zhidao/adas/magic/ui/MainActivity.java b/app_mogo_magic_ring/src/main/java/com/zhidao/adas/magic/ui/MainActivity.java index 911d98547a..c995bae83d 100644 --- a/app_mogo_magic_ring/src/main/java/com/zhidao/adas/magic/ui/MainActivity.java +++ b/app_mogo_magic_ring/src/main/java/com/zhidao/adas/magic/ui/MainActivity.java @@ -33,7 +33,6 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.SimpleItemAnimator; -import com.mogo.eagle.core.utilcode.util.ToastUtils; import com.zhidao.adas.magic.R; import com.zhidao.adas.magic.adapter.InfoTitleAdapter; import com.zhidao.adas.magic.base.BaseActivity; diff --git a/app_mogo_magic_ring/src/main/java/com/zhidao/adas/magic/utils/SysBarUtil.java b/app_mogo_magic_ring/src/main/java/com/zhidao/adas/magic/utils/SysBarUtil.java new file mode 100644 index 0000000000..1d2979e612 --- /dev/null +++ b/app_mogo_magic_ring/src/main/java/com/zhidao/adas/magic/utils/SysBarUtil.java @@ -0,0 +1,30 @@ +package com.zhidao.adas.magic.utils; + +import android.content.Context; + +import java.lang.reflect.Field; + +public class SysBarUtil { + private static int sbar = -1; + + // 获取系统状态栏高度 + public static int getSysBarHeight(Context contex) { + if (sbar == -1) { + Class c; + Object obj; + Field field; + int x; + sbar = 0; + try { + c = Class.forName("com.android.internal.R$dimen"); + obj = c.newInstance(); + field = c.getField("status_bar_height"); + x = Integer.parseInt(field.get(obj).toString()); + sbar = contex.getResources().getDimensionPixelSize(x); + } catch (Exception e1) { + e1.printStackTrace(); + } + } + return sbar; + } +} diff --git a/config.gradle b/config.gradle index 6c32c17051..752b3f9a7c 100644 --- a/config.gradle +++ b/config.gradle @@ -97,7 +97,7 @@ ext { // obu sdk obusdk : "com.zhidao.enterprise.smartv2x:smartv2x:1.0.0.3", mogoobuold : 'com.zhidao.support.obu:mogoobu:1.0.0.33', - mogoobu : 'com.mogo.support.obu:mogo-obu:1.0.3', + mogoobu : 'com.mogo.support.obu:mogo-obu:1.0.4', mogoami : 'com.zhidao.support.obu.ami:mogoami:1.0.0.24', // google diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index 2f88146da9..7d0d1bd056 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -570,10 +570,11 @@ class DebugSettingView @JvmOverloads constructor( } } - Log.i( - "1026-emArrow", - "debug setting FunctionBuildConfig.isDemoMode : ${FunctionBuildConfig.isDemoMode}" - ) + btnDrawFusion.isChecked = FunctionBuildConfig.isFusionColor + btnDrawFusion.setOnCheckedChangeListener{_, isChecked -> + FunctionBuildConfig.isFusionColor = isChecked + } + // 演示模式,上一次勾选的数据 tbIsDemoMode.isChecked = FunctionBuildConfig.isDemoMode diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/BusOperationView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/BusOperationView.kt index 9b96532be3..c1bbe984c0 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/BusOperationView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/BusOperationView.kt @@ -4,6 +4,7 @@ import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater import android.view.View +import com.mogo.commons.debug.DebugConfig import com.mogo.eagle.core.data.temp.EventLogout import com.mogo.eagle.core.function.api.hmi.view.IOchBusView import com.mogo.eagle.core.function.hmi.R @@ -31,6 +32,14 @@ class BusOperationView @JvmOverloads constructor( clickPersonalRightView(); } + private fun initPersonalIcon() { + if("fPadLenovoOchTaxi" == DebugConfig.getProductFlavor()){ + ivGotoPersonalInfo.visibility = VISIBLE + }else{ + ivGotoPersonalInfo.visibility = GONE + } + } + private fun clickPersonalRightView() { ivGotoPersonalInfo.onClick { EventBus.getDefault().post(EventLogout(EventLogout.PERSONAL_TYPE)) @@ -39,6 +48,7 @@ class BusOperationView @JvmOverloads constructor( override fun showBusOperation() { ochBusOperationStatus.visibility = View.VISIBLE + initPersonalIcon() } override fun changerOperationStatus(isOut: Boolean) { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/turnlight/TurnLightViewStatus.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/turnlight/TurnLightViewStatus.kt index 50f2e8a817..a507b08ac2 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/turnlight/TurnLightViewStatus.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/turnlight/TurnLightViewStatus.kt @@ -62,7 +62,7 @@ class TurnLightViewStatus @JvmOverloads constructor( if (directionLight == 1 || directionLight == 2) { if (!isVisualAngleChanged) { isVisualAngleChanged = true - CallerVisualAngleManager.changeVisualAngle(Turning) + CallerVisualAngleManager.changeVisualAngle(Turning(true)) } } @@ -96,7 +96,7 @@ class TurnLightViewStatus @JvmOverloads constructor( } else { //消失 if (isVisualAngleChanged) { isVisualAngleChanged = false - CallerVisualAngleManager.changeVisualAngle(Default()) + CallerVisualAngleManager.changeVisualAngle(Turning(false)) } if (!isDisappare) { isDisappare = true diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java index 4b4f375eca..10dde30c6f 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java @@ -36,6 +36,7 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; import com.mogo.eagle.core.utilcode.util.ToastUtils; +import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.rousetime.android_startup.model.CostTimesModel; import com.zhjt.service.chain.ChainLog; import com.zhjt.service.chain.TracingConstants; @@ -68,6 +69,20 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis private BluetoothMonitorReceiver mBluetoothReceiver = null; private BluetoothAdapter mBluetoothAdapter; + private boolean isShowToast = false; //toast 控制 + private long startPressTime = 0; //开始按减时间 + private boolean isPressEnd = false; //按键是否结束 + private volatile int isCombinationKey = 0; //是否是组合按键 1单击,2长按,3组合 + private long pressADownTime = 0; + private long pressAUpTime = 0; + private long pressBDownTime = 0; + private long pressBUpTime = 0; + private long pressCDownTime = 0; + private long pressCUpTime = 0; + private long pressDDownTime = 0; + private long pressDUpTime = 0; + private long pressEDownTime = 0; + private long pressEUpTime = 0; @Override @@ -225,24 +240,8 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis return super.onKeyDown(keyCode, event); } - private long startPressTime = 0; //开始按减时间 - private boolean isPressEnd = false; //按键是否结束 - private boolean isCombinationKey = false; //是否是组合按键 - - private long pressADownTime = 0; - private long pressAUpTime = 0; - private long pressBDownTime = 0; - private long pressBUpTime = 0; - private long pressCDownTime = 0; - private long pressCUpTime = 0; - private long pressDDownTime = 0; - private long pressDUpTime = 0; - private long pressEDownTime = 0; - private long pressEUpTime = 0; - - /** - * 魔方按键分发 提测前注释 ToastUtils TODO + * 魔方按键分发 * * @param event * @return @@ -264,26 +263,40 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis if (event.getAction() == KeyEvent.ACTION_DOWN) { pressADownTime = System.currentTimeMillis(); Log.d(TAG, "dispatchKeyEvent A down pressADownTime = " + pressADownTime + "---" + (pressADownTime - startPressTime) + "----isCombinationKey = " + isCombinationKey + "--pressBDownTime = " + pressBDownTime); - if ((pressADownTime - startPressTime) > 320 && (pressADownTime - startPressTime) < 1600 && pressBDownTime > 0) { - ToastUtils.showShort("方块 A 按AB组合 -2 "); + if ((pressADownTime - startPressTime) > 320 && (pressADownTime - startPressTime) < 1300 && pressBDownTime > 0) { + if (isShowToast) { + ToastUtils.showShort("方块 A 按AB组合 -2 "); + } sendAcc(true, -2); - isCombinationKey = true; + isCombinationKey = 3; } - if (!isCombinationKey) { - if ((pressADownTime - startPressTime) > 1700) { - ToastUtils.showShort("方块 长按A 无 操作 "); + + if (isCombinationKey != 3 && isCombinationKey != 1) { + if ((pressADownTime - startPressTime) > 1320) { + if (isShowToast) { + ToastUtils.showShort("方块 长按A 无 操作 "); + } + isCombinationKey = 2; } } } else if (event.getAction() == KeyEvent.ACTION_UP) { pressAUpTime = System.currentTimeMillis(); Log.e(TAG, "dispatchKeyEvent A up pressAUpTime = " + pressAUpTime + "---" + (pressAUpTime - startPressTime) + "--pressBDownTime = " + pressBDownTime); - if ((pressAUpTime - startPressTime) < 300 && !isCombinationKey) { - ToastUtils.showShort("方块 单击A -1 "); + if ((pressAUpTime - startPressTime) < 300 && isCombinationKey != 3) { + isCombinationKey = 1; + if (isShowToast) { + ToastUtils.showShort("方块 单击A -1 "); + } sendAcc(true, -1); } pressADownTime = 0; isPressEnd = false; - isCombinationKey = false; + UiThreadHandler.postDelayed(new Runnable() { + @Override + public void run() { + isCombinationKey = 0; + } + }, 300); } return true; @@ -291,44 +304,59 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis if (event.getAction() == KeyEvent.ACTION_DOWN) { pressBDownTime = System.currentTimeMillis(); Log.d(TAG, "dispatchKeyEvent B down pressBDownTime = " + pressBDownTime + "--差-" + (pressBDownTime - startPressTime) + "---isCombinationKey = " + isCombinationKey + "--pressADownTime = " + pressADownTime); - if ((pressBDownTime - startPressTime) > 320 && (pressBDownTime - startPressTime) < 1600 && pressADownTime > 0) { - ToastUtils.showShort("方块 B 按AB组合 "); + if ((pressBDownTime - startPressTime) > 320 && (pressBDownTime - startPressTime) < 1300 && pressADownTime > 0) { + if (isShowToast) { + ToastUtils.showShort("方块 B 按AB组合 "); + } sendAcc(true, -2); - isCombinationKey = true; + isCombinationKey = 3; } - if (!isCombinationKey) { - if ((pressBDownTime - startPressTime) > 1700) { - ToastUtils.showShort("方块 长按B =1 "); + if (isCombinationKey != 3 && isCombinationKey != 1) { + if ((pressBDownTime - startPressTime) > 1320) { + if (isShowToast) { + ToastUtils.showShort("方块 长按B +1 "); + } sendAcc(true, +1); + isCombinationKey = 2; } } } else if (event.getAction() == KeyEvent.ACTION_UP) { pressBUpTime = System.currentTimeMillis(); Log.e(TAG, "dispatchKeyEvent B up pressBUpTime = " + pressBUpTime + "--差-" + (pressBUpTime - startPressTime) + "--pressADownTime = " + pressADownTime); - if ((pressBUpTime - startPressTime) < 300 && !isCombinationKey) { - ToastUtils.showShort("方块 单击B 0 "); + if ((pressBUpTime - startPressTime) < 300 && isCombinationKey != 3) { + if (isShowToast) { + ToastUtils.showShort("方块 单击B 0 "); + } sendAcc(false, 0.0); + isCombinationKey = 1; } pressBDownTime = 0; isPressEnd = false; - isCombinationKey = false; + + UiThreadHandler.postDelayed(new Runnable() { + @Override + public void run() { + isCombinationKey = 0; + } + }, 300); } return true; } else if (event.getKeyCode() == KeyEvent.KEYCODE_C) { //单击左变道,长按无操作 if (event.getAction() == KeyEvent.ACTION_DOWN) { pressCDownTime = System.currentTimeMillis(); - if (!isCombinationKey) { - if ((pressCDownTime - startPressTime) > 1700) { + if ((pressCDownTime - startPressTime) > 1320) { + if (isShowToast) { ToastUtils.showShort("方块 长按C 无操作 "); } } } else if (event.getAction() == KeyEvent.ACTION_UP) { pressCUpTime = System.currentTimeMillis(); isPressEnd = false; - isCombinationKey = false; if ((pressCUpTime - startPressTime) < 300) { - ToastUtils.showShort("方块 单击C ← 向左变道 "); + if (isShowToast) { + ToastUtils.showShort("方块 单击C ← 向左变道 "); + } CallerAutoPilotManager.INSTANCE.sendOperatorChangeLaneLeft(); } } @@ -336,17 +364,18 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis } else if (event.getKeyCode() == KeyEvent.KEYCODE_D) { //单击向右变道,双击无操作 if (event.getAction() == KeyEvent.ACTION_DOWN) { pressDDownTime = System.currentTimeMillis(); - if (!isCombinationKey) { - if ((pressDDownTime - startPressTime) > 1700) { + if ((pressDDownTime - startPressTime) > 1320) { + if (isShowToast) { ToastUtils.showShort("方块 长按D 无操作 "); } } } else if (event.getAction() == KeyEvent.ACTION_UP) { pressDUpTime = System.currentTimeMillis(); isPressEnd = false; - isCombinationKey = false; if ((pressDUpTime - startPressTime) < 300) { - ToastUtils.showShort("方块 单击D → 向右变道 "); + if (isShowToast) { + ToastUtils.showShort("方块 单击D → 向右变道 "); + } CallerAutoPilotManager.INSTANCE.sendOperatorChangeLaneRight(); } } @@ -355,28 +384,29 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis } else if (event.getKeyCode() == KeyEvent.KEYCODE_E) { //单击启动自驾,长按鸣笛 if (event.getAction() == KeyEvent.ACTION_DOWN) { pressEDownTime = System.currentTimeMillis(); - if (!isCombinationKey) { - if ((pressEDownTime - startPressTime) > 1700) { + if ((pressEDownTime - startPressTime) > 1320) { + if (isShowToast) { ToastUtils.showShort("方块 长按E 鸣笛 "); - CallerAutoPilotManager.INSTANCE.sendOperatorSetHorn(1); - if (timerHorn == null) { - timerHorn = new Timer(); - } - timerHorn.schedule(new TimerTask() { - @Override - public void run() { - CallerAutoPilotManager.INSTANCE.sendOperatorSetHorn(2); - timerHorn = null; - } - }, 500); } + CallerAutoPilotManager.INSTANCE.sendOperatorSetHorn(1); + if (timerHorn == null) { + timerHorn = new Timer(); + } + timerHorn.schedule(new TimerTask() { + @Override + public void run() { + CallerAutoPilotManager.INSTANCE.sendOperatorSetHorn(2); + timerHorn = null; + } + }, 500); } } else if (event.getAction() == KeyEvent.ACTION_UP) { pressEUpTime = System.currentTimeMillis(); isPressEnd = false; - isCombinationKey = false; if ((pressEUpTime - startPressTime) < 300) { - ToastUtils.showShort("方块 单击E 开启自动驾驶 "); + if (isShowToast) { + ToastUtils.showShort("方块 单击E 开启自动驾驶 "); + } CallerAutoPilotManager.INSTANCE.startAutoPilot(CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getAutopilotControlParameters()); } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/och_arrow_right.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/och_arrow_right.png new file mode 100644 index 0000000000..b83a8dd6aa Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/och_arrow_right.png differ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml index b25b5cb22b..6a2021f4bd 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml @@ -1508,6 +1508,20 @@ app:layout_constraintRight_toLeftOf="@id/btnDrawTrolley" app:layout_constraintTop_toBottomOf="@id/reset_changesight" /> + +