From f58df1636d44ad431ab1b36cdc0b523a8f214ba1 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Wed, 7 Dec 2022 20:18:05 +0800 Subject: [PATCH] =?UTF-8?q?[2.13.0=20=E4=BC=98=E5=8C=96=E7=BE=8E=E5=8C=96?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=98=BE=E7=A4=BA=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=AD=94=E6=96=B9=E6=98=BE=E7=A4=BA=E7=8A=B6=E6=80=81=EF=BC=8C?= =?UTF-8?q?=E9=87=8D=E6=9E=84=E8=93=9D=E7=89=99=E8=BF=9E=E6=8E=A5=E5=8A=9F?= =?UTF-8?q?=E8=83=BD]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mofang/MoFangManager.kt | 96 ++++++++++-------- .../core/function/hmi/ui/MoGoHmiFragment.kt | 6 +- .../hmi/ui/setting/DebugSettingView.kt | 2 +- .../function/hmi/ui/setting/SOPSettingView.kt | 2 +- .../function/hmi/ui/widget/StatusBarView.kt | 27 ++++- .../function/main/MainLauncherActivity.java | 88 ++++------------ .../main/res/drawable/icon_bluetooth_p.png | Bin 0 -> 1459 bytes .../src/main/res/layout/view_status_bar.xml | 13 ++- .../impl/marker/drawer/TrafficMarkerDrawer.kt | 1 - .../eagle/core/data/mofang/MfConstants.kt | 19 ++++ .../api/hmi/warning/IMoGoWaringProvider.kt | 5 + .../function/call/hmi/CallerHmiManager.kt | 7 ++ .../mogo/logger/scene/SceneConstant.kt | 1 + 13 files changed, 145 insertions(+), 122 deletions(-) create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable/icon_bluetooth_p.png create mode 100644 core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/mofang/MfConstants.kt diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangManager.kt index 62dad7b169..e32531ee91 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/mofang/MoFangManager.kt @@ -7,12 +7,16 @@ import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.content.IntentFilter -import android.util.Log -import com.mogo.commons.context.ContextHolderUtil.getContext +import com.mogo.eagle.core.data.mofang.MfConstants import com.mogo.eagle.core.function.call.hmi.CallerHmiManager.updateMfStatusView +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_F import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr +/** + * 魔方连接状态和设备管理 + */ @SuppressLint("StaticFieldLeak") class MoFangManager private constructor() { @@ -24,58 +28,61 @@ class MoFangManager private constructor() { private var mContext: Context? = null private val TAG = "MoFangManager" - private val mBluetoothAdapter: BluetoothAdapter? = null - private var deviceName = "" - //添加状态判断 - private var isMfConnect: Boolean = false + private lateinit var mBluetoothAdapter: BluetoothAdapter + private var isMfConnect: Boolean = false //添加状态判断 fun init(context: Context) { -// initBluetooth() -// mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter() -// if (!mBluetoothAdapter.isEnabled) { -// mBluetoothAdapter.enable() -// } -// mBluetoothAdapter.startDiscovery() -// showBondedDevice(mBluetoothAdapter) + mContext = context + initBluetooth(context) + mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter() + if (!mBluetoothAdapter.isEnabled) { + mBluetoothAdapter.enable() + } + mBluetoothAdapter.startDiscovery() + showBondedDevice(mBluetoothAdapter) } /** * 初始化蓝牙广播 */ - private fun initBluetooth() { + private fun initBluetooth(context: Context) { val intentFilter = IntentFilter(); // 监视蓝牙关闭和打开的状态 - intentFilter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED); + intentFilter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED) // 监视蓝牙设备与APP连接的状态 - intentFilter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED); - intentFilter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED); + intentFilter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED) + intentFilter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED) // 注册广播 - getContext().registerReceiver(bluetoothMonitorReceiver, intentFilter); + context.registerReceiver(bluetoothMonitorReceiver, intentFilter) } /** * 查找蓝牙连接过的蓝牙设备 */ private fun showBondedDevice(bluetoothAdapter: BluetoothAdapter) { -// val deviceList = bluetoothAdapter.bondedDevices -// for (device in deviceList) { -// try { -// //使用反射调用获取设备连接状态方法 -// val isConnectedMethod = BluetoothDevice::class.java.getDeclaredMethod( -// "isConnected", -// *null as Array?>? -// ) -// isConnectedMethod.isAccessible = true -//// boolean isConnected = (boolean) isConnectedMethod.invoke(device, (Object[]) null); -// Log.d(TAG, "-- device.getName() = " + device.name) //device.getAddress() -// if (device.name == "MINI_KEYBOARD") { //并且连接 TODO -// SharedPrefsMgr.getInstance(getContext()).putString("BLUETOOTH", device.name) -// } -// } catch (e: NoSuchMethodException) { -// e.printStackTrace() -// } -// } + if (bluetoothAdapter != null) { + val deviceList = bluetoothAdapter.bondedDevices + for (device in deviceList) { + try { + //使用反射调用获取设备连接状态方 + val isConnectedMethod = BluetoothDevice::class.java.getDeclaredMethod("isConnected") + isConnectedMethod.isAccessible = true + val isConnected = isConnectedMethod.invoke(device) as Boolean + CallerLogger.d("$M_F${TAG}"," showBondedDevice name = ${device.name} ---address = ${device.address}----isMfConnect = $isMfConnect ---isConnected = $isConnected") + if (device.name == "MINI_KEYBOARD") { //并且连接 + mContext?.let { SharedPrefsMgr.getInstance(it).putString(MfConstants.BLUETOOTH_NAME, device.name) } + } + + mContext?.let { SharedPrefsMgr.getInstance(it).putBoolean(MfConstants.BLUETOOTH_STATUS, isConnected) } + if (isConnected) { + isMfConnect = true + } + } catch (e: NoSuchMethodException) { + e.printStackTrace() + } + } + } } @@ -83,27 +90,30 @@ class MoFangManager private constructor() { override fun onReceive(context: Context, intent: Intent) { when (intent.action) { BluetoothAdapter.ACTION_STATE_CHANGED -> { //中间状态 - + CallerLogger.d("$M_F${TAG}","bluetoothMonitorReceiver ACTION_STATE_CHANGED action = ${intent.action}") } BluetoothDevice.ACTION_ACL_CONNECTED -> { //蓝牙设备已连接 if (!isMfConnect) { - updateMfStatusView("mofang", true) +// showBondedDevice(mBluetoothAdapter) + updateMfStatusView(TAG, true) isMfConnect = true + mContext?.let { SharedPrefsMgr.getInstance(it).putBoolean(MfConstants.BLUETOOTH_STATUS, true) } } + CallerLogger.d("$M_F${TAG}","bluetoothMonitorReceiver ACTION_ACL_CONNECTED ----- isMfConnect = $isMfConnect") } - BluetoothDevice.ACTION_ACL_DISCONNECTED -> { //蓝牙设备已断开 主动更新 TODO + BluetoothDevice.ACTION_ACL_DISCONNECTED -> { //蓝牙设备已断开 主动更新 + CallerLogger.d("$M_F${TAG}","bluetoothMonitorReceiver ACTION_ACL_DISCONNECTED ----- isMfConnect = $isMfConnect ") if (isMfConnect) { - updateMfStatusView("mofang", false) + updateMfStatusView(TAG, false) isMfConnect = false + mContext?.let { SharedPrefsMgr.getInstance(it).putBoolean(MfConstants.BLUETOOTH_STATUS, false) } } } - } } } +} - -} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index d14a2fd150..4ea178bc6d 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -237,7 +237,7 @@ class MoGoHmiFragment : MvpFragment(), if (CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().autopilotControlParameters == null) { FunctionBuildConfig.isDemoMode = !FunctionBuildConfig.isDemoMode context?.let { - CallerHmiManager.updateStatusBarRightView( + CallerHmiManager.updateStatusBarLeftView( FunctionBuildConfig.isDemoMode, "demoMode", DemoModeView(it) @@ -455,6 +455,10 @@ class MoGoHmiFragment : MvpFragment(), statusBarView?.updateRightView(insert, tag, viewGroup) } + override fun updateStatusBarLeftView(insert: Boolean, tag: String, viewGroup: ViewGroup) { + statusBarView?.updateLeftView(insert, tag, viewGroup) + } + override fun updateStatusBarDownloadView(insert: Boolean, tag: String, progress: Int) { statusBarView?.updateProgressView(insert, tag, progress) } 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 32207c1d81..2a0d1868dd 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 @@ -586,7 +586,7 @@ class DebugSettingView @JvmOverloads constructor( // 演示模式 tbIsDemoMode.setOnCheckedChangeListener { _, isChecked -> - CallerHmiManager.updateStatusBarRightView(isChecked, "demoMode", DemoModeView(context)) + CallerHmiManager.updateStatusBarLeftView(isChecked, "demoMode", DemoModeView(context)) CallerAutoPilotManager.setDemoMode(isChecked) if (!isChecked) { //关闭美化模式时,通知工控机 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt index ffb624e90f..b3f44f967d 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/SOPSettingView.kt @@ -120,7 +120,7 @@ class SOPSettingView @JvmOverloads constructor( tbDemoMode.isChecked = FunctionBuildConfig.isDemoMode // 演示模式 tbDemoMode.setOnCheckedChangeListener { _, isChecked -> - CallerHmiManager.updateStatusBarRightView(isChecked, "demoMode", DemoModeView(context)) + CallerHmiManager.updateStatusBarLeftView(isChecked, "demoMode", DemoModeView(context)) CallerAutoPilotManager.setDemoMode(isChecked) if (!isChecked) { //关闭美化模式时,通知工控机 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/StatusBarView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/StatusBarView.kt index d27fe7fc1a..ae89a8489b 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/StatusBarView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/StatusBarView.kt @@ -2,12 +2,15 @@ package com.mogo.eagle.core.function.hmi.ui.widget import android.content.Context import android.util.AttributeSet +import android.util.Log import android.view.* import android.widget.* +import com.mogo.eagle.core.data.mofang.MfConstants import com.mogo.eagle.core.function.api.setting.IMoGoSkinModeChangeListener import com.mogo.eagle.core.function.call.devatools.* import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr import com.mogo.eagle.core.utilcode.util.BarUtils import com.mogo.eagle.core.utilcode.util.ScreenUtils import kotlinx.android.synthetic.main.view_status_bar.view.* @@ -29,6 +32,7 @@ class StatusBarView @JvmOverloads constructor( } private val rightViewList = CopyOnWriteArrayList() + private val leftViewList = CopyOnWriteArrayList() override fun onAttachedToWindow() { super.onAttachedToWindow() @@ -39,6 +43,11 @@ class StatusBarView @JvmOverloads constructor( // 添加换肤监听 CallerSkinModeListenerManager.addListener(TAG, this) + + var isBluetoothConnect = SharedPrefsMgr.getInstance(context).getBoolean(MfConstants.BLUETOOTH_STATUS, false) + if (isBluetoothConnect) { + updateMfStatus("MoFangManager", true) + } } override fun onSkinModeChange(skinMode: Int) { @@ -70,6 +79,20 @@ class StatusBarView @JvmOverloads constructor( } } + fun updateLeftView(insert: Boolean, tag: String, viewGroup: ViewGroup) { + if (insert) { + leftViewList.add(0, tag) + viewStatusBarLeft.addView(viewGroup, 0) + } else { + leftViewList.forEachIndexed { index, s -> + if (s == tag) { + leftViewList.removeAt(index) + viewStatusBarLeft.removeViewAt(index) + } + } + } + } + fun updateProgressView(insert: Boolean, tag: String, progress: Int) { if (insert) { viewProgressTv.visibility = VISIBLE @@ -81,9 +104,9 @@ class StatusBarView @JvmOverloads constructor( fun updateMfStatus(tag: String, status: Boolean) { if (status) { -// viewMofangStatus.setImageResource(R.drawable.icon_car_red) + viewMofangStatus.setImageResource(R.drawable.icon_bluetooth_p) } else { -// viewMofangStatus.setImageResource(R.drawable.icon_car_red) + viewMofangStatus.setImageResource(R.drawable.blue_tooth) } } 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 cc40050a7a..7b1f3b8992 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 @@ -3,11 +3,9 @@ package com.mogo.eagle.core.function.main; import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_ALIAS_CODE_START_UP; import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_LINK_INIT; import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_LINK_LOG_CONNECT_STATUS; +import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_F; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_HMI; -import android.bluetooth.BluetoothAdapter; -import android.bluetooth.BluetoothDevice; import android.content.Intent; -import android.content.IntentFilter; import android.os.Bundle; import android.os.Handler; import android.os.Process; @@ -17,10 +15,12 @@ import android.view.KeyEvent; import android.widget.FrameLayout; import androidx.annotation.Nullable; + import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.module.intent.IMogoIntentListener; import com.mogo.commons.module.intent.IntentManager; import com.mogo.eagle.core.data.config.FunctionBuildConfig; +import com.mogo.eagle.core.data.mofang.MfConstants; import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider; import com.mogo.eagle.core.function.api.setting.IMoGoSkinModeChangeListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager; @@ -28,7 +28,6 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager; import com.mogo.eagle.core.function.hmi.R; -import com.mogo.eagle.core.function.main.moujie.BluetoothMonitorReceiver; 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; @@ -41,9 +40,7 @@ import com.zhjt.service.chain.TracingConstants; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; -import java.lang.reflect.Method; import java.util.List; -import java.util.Set; import java.util.Timer; import java.util.TimerTask; @@ -64,8 +61,6 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis private Timer timerHorn; private Timer timerAcc; - private BluetoothMonitorReceiver mBluetoothReceiver = null; - private BluetoothAdapter mBluetoothAdapter; private boolean isShowToast = false; //toast 控制 private long startPressTime = 0; //开始按减时间 private boolean isPressEnd = false; //按键是否结束 @@ -92,14 +87,6 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis @Override protected void onResume() { super.onResume(); - - initBluetooth(); - mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); - if (!mBluetoothAdapter.isEnabled()) { - mBluetoothAdapter.enable(); - } - mBluetoothAdapter.startDiscovery(); - showBondedDevice(mBluetoothAdapter); } @Override @@ -127,7 +114,6 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis protected void onPause() { super.onPause(); mIsHomeKeyDown = false; - unregisterReceiver(this.mBluetoothReceiver); } @Override @@ -218,12 +204,10 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis */ @Override public boolean dispatchKeyEvent(KeyEvent event) { -// Log.d(TAG, "dispatchKeyEvent code = " + event.getKeyCode() + "--action = " + event.getAction() + "----" + event); - String bluetoothName = SharedPrefsMgr.getInstance(getContext()).getString("BLUETOOTH"); -// CallerHmiManager.INSTANCE.updateMfStatusView("mofang", true); - +// CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent code = " + event.getKeyCode() + "--action = " + event.getAction() + "----" + event); + String bluetoothName = SharedPrefsMgr.getInstance(getContext()).getString(MfConstants.BLUETOOTH_NAME); if (!isPressEnd) { - Log.e(TAG, "dispatchKeyEvent bluetoothName = " + bluetoothName); + CallerLogger.INSTANCE.d(M_F + "MoFangManager","dispatchKeyEvent bluetoothName = " + bluetoothName); } if (bluetoothName.equals("MINI_KEYBOARD")) { if (!isPressEnd) { @@ -234,7 +218,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis if (event.getKeyCode() == KeyEvent.KEYCODE_A) { //单击 -1,长按无操作,AB组合-2 if (event.getAction() == KeyEvent.ACTION_DOWN) { pressADownTime = System.currentTimeMillis(); - Log.d(TAG, "dispatchKeyEvent A down pressADownTime = " + pressADownTime + "---" + (pressADownTime - startPressTime) + "----isCombinationKey = " + isCombinationKey + "--pressBDownTime = " + pressBDownTime); + CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent A down pressADownTime = " + pressADownTime + "---" + (pressADownTime - startPressTime) + "----isCombinationKey = " + isCombinationKey + "--pressBDownTime = " + pressBDownTime); if ((pressADownTime - startPressTime) > 320 && (pressADownTime - startPressTime) < 1300 && pressBDownTime > 0) { if (isShowToast) { ToastUtils.showShort("方块 A 按AB组合 -2 "); @@ -253,7 +237,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis } } else if (event.getAction() == KeyEvent.ACTION_UP) { pressAUpTime = System.currentTimeMillis(); - Log.e(TAG, "dispatchKeyEvent A up pressAUpTime = " + pressAUpTime + "---" + (pressAUpTime - startPressTime) + "--pressBDownTime = " + pressBDownTime); + CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent A up pressAUpTime = " + pressAUpTime + "---" + (pressAUpTime - startPressTime) + "--pressBDownTime = " + pressBDownTime); if ((pressAUpTime - startPressTime) < 300 && isCombinationKey != 3) { isCombinationKey = 1; if (isShowToast) { @@ -270,12 +254,11 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis } }, 300); } - return true; - } else if (event.getKeyCode() == KeyEvent.KEYCODE_B) {//单击复原,长按+1,AB组合-2 + } else if (event.getKeyCode() == KeyEvent.KEYCODE_B) { //单击复原,长按+1,AB组合-2 if (event.getAction() == KeyEvent.ACTION_DOWN) { pressBDownTime = System.currentTimeMillis(); - Log.d(TAG, "dispatchKeyEvent B down pressBDownTime = " + pressBDownTime + "--差-" + (pressBDownTime - startPressTime) + "---isCombinationKey = " + isCombinationKey + "--pressADownTime = " + pressADownTime); + CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent B down pressBDownTime = " + pressBDownTime + "--差-" + (pressBDownTime - startPressTime) + "---isCombinationKey = " + isCombinationKey + "--pressADownTime = " + pressADownTime); if ((pressBDownTime - startPressTime) > 320 && (pressBDownTime - startPressTime) < 1300 && pressADownTime > 0) { if (isShowToast) { ToastUtils.showShort("方块 B 按AB组合 "); @@ -294,7 +277,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis } } else if (event.getAction() == KeyEvent.ACTION_UP) { pressBUpTime = System.currentTimeMillis(); - Log.e(TAG, "dispatchKeyEvent B up pressBUpTime = " + pressBUpTime + "--差-" + (pressBUpTime - startPressTime) + "--pressADownTime = " + pressADownTime); + CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent B up pressBUpTime = " + pressBUpTime + "--差-" + (pressBUpTime - startPressTime) + "--pressADownTime = " + pressADownTime); if ((pressBUpTime - startPressTime) < 300 && isCombinationKey != 3) { if (isShowToast) { ToastUtils.showShort("方块 单击B 0 "); @@ -312,12 +295,12 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis } }, 300); } - return true; } else if (event.getKeyCode() == KeyEvent.KEYCODE_C) { //单击左变道,长按无操作 if (event.getAction() == KeyEvent.ACTION_DOWN) { pressCDownTime = System.currentTimeMillis(); if ((pressCDownTime - startPressTime) > 1320) { + CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent 方块 长按C 无操作 "); if (isShowToast) { ToastUtils.showShort("方块 长按C 无操作 "); } @@ -326,6 +309,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis pressCUpTime = System.currentTimeMillis(); isPressEnd = false; if ((pressCUpTime - startPressTime) < 300) { + CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent 方块 单击C ← 向左变道 "); if (isShowToast) { ToastUtils.showShort("方块 单击C ← 向左变道 "); } @@ -337,6 +321,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis if (event.getAction() == KeyEvent.ACTION_DOWN) { pressDDownTime = System.currentTimeMillis(); if ((pressDDownTime - startPressTime) > 1320) { + CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent 方块 长按D 无操作 "); if (isShowToast) { ToastUtils.showShort("方块 长按D 无操作 "); } @@ -348,10 +333,10 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis if (isShowToast) { ToastUtils.showShort("方块 单击D → 向右变道 "); } + CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent 方块 单击D → 向右变道 "); CallerAutoPilotManager.INSTANCE.sendOperatorChangeLaneRight(); } } - return true; } else if (event.getKeyCode() == KeyEvent.KEYCODE_E) { //单击启动自驾,长按鸣笛 if (event.getAction() == KeyEvent.ACTION_DOWN) { @@ -360,6 +345,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis if (isShowToast) { ToastUtils.showShort("方块 长按E 鸣笛 "); } + CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent 方块 长按E 鸣笛 "); CallerAutoPilotManager.INSTANCE.sendOperatorSetHorn(1); if (timerHorn == null) { timerHorn = new Timer(); @@ -379,20 +365,18 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis if (isShowToast) { ToastUtils.showShort("方块 单击E 开启自动驾驶 "); } + CallerLogger.INSTANCE.d(M_F + "MoFangManager", "dispatchKeyEvent 方块 单击E 开启自动驾驶 "); CallerAutoPilotManager.INSTANCE.startAutoPilot(CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getAutopilotControlParameters()); } } - return true; } } - return super.dispatchKeyEvent(event); } @Override public void onSkinModeChange(int skinMode) { - } private synchronized void sendAcc(boolean isSend, double acc) { @@ -416,42 +400,4 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis } } - /** - * 初始化蓝牙广播 - */ - private void initBluetooth() { - this.mBluetoothReceiver = new BluetoothMonitorReceiver(); - IntentFilter intentFilter = new IntentFilter(); - // 监视蓝牙关闭和打开的状态 - intentFilter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED); - - // 监视蓝牙设备与APP连接的状态 - intentFilter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED); - intentFilter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED); - - // 注册广播 - registerReceiver(this.mBluetoothReceiver, intentFilter); - } - - /** - * 查找蓝牙连接过的蓝牙设备 - */ - private void showBondedDevice(BluetoothAdapter bluetoothAdapter) { - Set deviceList = bluetoothAdapter.getBondedDevices(); - for (BluetoothDevice device : deviceList) { - try { - //使用反射调用获取设备连接状态方法 - Method isConnectedMethod = BluetoothDevice.class.getDeclaredMethod("isConnected", (Class[]) null); - isConnectedMethod.setAccessible(true); -// boolean isConnected = (boolean) isConnectedMethod.invoke(device, (Object[]) null); - Log.d(TAG, "-- device.getName() = " + device.getName()); //device.getAddress() - if (device.getName().equals("MINI_KEYBOARD")) { - SharedPrefsMgr.getInstance(getContext()).putString("BLUETOOTH", device.getName()); - } - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } - } - } - } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/icon_bluetooth_p.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/icon_bluetooth_p.png new file mode 100644 index 0000000000000000000000000000000000000000..822084607996edf50e8b3607b2bed9160a83c2c9 GIT binary patch literal 1459 zcmV;k1x)&hP)Px)ZAnByRA@u(npY=VjSU?f3bjO`32D)HKxLHmG7+c{=Rm+nk= zx3jaeyMc5bchBwjo%5aVe6vfqMjyIHxiAKHwPkiJW94KluAW~+;=)SO2$OZI0o?3LjnB-5@ah~e=JCVVP&cU7T5IC1kCXT`I03|?}QC}G`(7a0nF`| zl3G1lkYT>BEf@d>o#>BET-MtWfA)Ts&G4Q3oED1PA0|U!@R^EO#D!7_}G4oo1 z=rn-3VGy=JSZ<|Lku;T>fZ4J%_l8{;661wSodE8sL{q65SQaL(8OI4c&jZKQZYjyK zno7;VTp&@?w*y#{3&(_$4qs~iN50Drv+qKKB{X9tgJ(1Nge|8I7jvF_j=9alEk(b4 zT-9GC!kfO&zw4iH-6Q|LFx@H@E)-Zo?Ow`6d$Z0M^olJfw-s_81nhF=x|;#|z?Zp3 zJ1rfm3RvAveU1==+tqTKTH(VsC|F$WZY833J!U~q*mCmos(=lx?mmE;d=8IUvb11C zndOXBg-TJ>y59n5omZFlTXJe?sZg$bs8Y;261A>PfUv>m_?sAyoA~ZLu$@uOK#X02C8hZ!OZQ_TOeSMCji0)p?_e0c9JMmigmkwm>~$`PXf5xqwnB( zt4;FkwNe4g%2?Lf6xEpP5bp;tJvRUnFwa~eoy-T8$QTbZvkNsjN9R|8si{XvdiQUs zROOapuD|$u=WnF}J_PVA4;;|u01LA7;oz*ubQr|Dz46i+j?rSfwf>h793xaB$ylz{ zL`FZzjK$v0Haz&|9fApm%(T=P1yI&TEzc}9avn`8wuzr7B~Y-Y*{*33Al=6Ow4qz2h-+20TXYq(y1+hWJ?f= z98A=7cVcKRrQHMAYspee32~1q8X1`QzCMln(BXek!=P4x7v&z%03Rh#W(53rEU}hJ z7eIN0_JTwCH9<4$7!0>I6l1!1SjR2mMH16LN9sOj#+u*r8u zb@n-Z&-S+6VP-!scF~;NuHQIe96kl`fDdG&B}>5?P@WYC4JKxcy9d*`TT~;*yYvjdV@%~&tX1d zE2$&JN+bxFn9&!4anxt0y071Y)_IWT;mRbmuGbjCR^R?Q?)=x=a&hgw7fbc$%7@Na zDb9*zOjPwfAb6(^#&%1QUM$6jU$$moH*NcVQvalhrx$I2dZWn17fR* z22O!7Z5V(}0o2kXOYWIg_EVFLjrcv9an=#A{9;-ApA)V%che0q*72-1FO^Y zrwDLw0=+RoSl6?nKC*uY6k43B?6FE_W(=$rt6K@5W2IP$Rjs7W{{b%RMpe_mbwL0C N002ovPDHLkV1h|yt{(sZ literal 0 HcmV?d00001 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_status_bar.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_status_bar.xml index 8d68848433..e2e527591e 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_status_bar.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_status_bar.xml @@ -40,8 +40,17 @@ android:id="@+id/viewMofangStatus" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:src="@drawable/blue_tooth" android:layout_gravity="center" - android:layout_marginStart="@dimen/dp_27" /> + android:layout_marginStart="@dimen/dp_8" /> + +