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 a27df2e79c..b2e11816f8 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 @@ -65,6 +65,7 @@ import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr import com.mogo.eagle.core.utilcode.mogo.toast.TipToast import com.mogo.eagle.core.utilcode.util.* import com.mogo.map.MogoMap +import com.mogo.map.MogoMapUIController import com.mogo.map.uicontroller.VisualAngleMode import com.mogo.map.uicontroller.VisualAngleMode.* import com.mogo.module.service.routeoverlay.* @@ -247,6 +248,24 @@ class DebugSettingView @JvmOverloads constructor( } } + /** + * 魔戒控制 + */ + tbMojie.setOnCheckedChangeListener { buttonView, isChecked -> + if (isChecked) { + buttonView.setCompoundDrawables(null, null, iconDown, null) + btnOpenAllGestures.visibility = View.VISIBLE + } else { + buttonView.setCompoundDrawables(null, null, iconRight, null) + btnOpenAllGestures.visibility = View.GONE + } + } + + + btnOpenAllGestures.setOnClickListener { + MogoMapUIController.getInstance().setAllGesturesEnabled(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 2504f00c71..f06519c01e 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 @@ -26,6 +26,7 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig; import com.mogo.eagle.core.data.config.HdMapBuildConfig; 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.analytics.AnalyticsManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager; import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager; import com.mogo.eagle.core.function.hmi.R; @@ -45,7 +46,10 @@ import com.zhjt.service.chain.TracingConstants; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.util.List; +import java.util.Set; import java.util.Timer; import java.util.TimerTask; @@ -66,7 +70,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis private BluetoothMonitorReceiver mBluetoothReceiver = null; - + @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -186,7 +190,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) { //向上长按 开启自动驾驶 - MogoMapUIController.getInstance().setScrollGesturesEnable(false); + setMapControl(); long currentTime = System.currentTimeMillis() / (1000); long oldTime = SharedPrefsMgr.getInstance(getContext()).getLong("old_time_up", 0); // Log.d("liyz", "time = " + (currentTime - oldTime)); @@ -199,12 +203,12 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis return true; } else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) { //下和中间键盘长按,减速为-2 - MogoMapUIController.getInstance().setScrollGesturesEnable(false); + setMapControl(); long currentTime = System.currentTimeMillis() / (1000); long oldTime = SharedPrefsMgr.getInstance(getContext()).getLong("old_time_down", 0); if (currentTime - oldTime > 8) { SharedPrefsMgr.getInstance(getContext()).putLong("old_time_down", System.currentTimeMillis() / 1000); -// ToastUtils.showShort("长按 ↓↓↓ 减速 -2 "); +// ToastUtils.showShort("长按 ↓↓↓ 减速 -2 "); sendAcc(true, -2); } recoverMapControl(); @@ -217,7 +221,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis public boolean dispatchTouchEvent(MotionEvent event) { // Log.d("liyz", "dispatchTouchEvent event.getX() = " + event.getX() + "--event.getY() = " + event.getY() + "--action = " + event.getAction()); if (event.getX() == -1469.6875 && event.getY() == 530.0) { //向左变道 - MogoMapUIController.getInstance().setScrollGesturesEnable(false); + setMapControl(); // ToastUtils.showShort("← 向左变道"); // MogoMapUIController.getInstance().setLockMode( true ); CallerAutoPilotManager.INSTANCE.sendOperatorChangeLaneLeft(); @@ -226,7 +230,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis return true; } else if (event.getX() == -1096.25 && event.getY() == 132.5) { //鸣笛 - MogoMapUIController.getInstance().setScrollGesturesEnable(false); + setMapControl(); // ToastUtils.showShort("↑ 鸣笛 "); CallerAutoPilotManager.INSTANCE.sendOperatorSetHorn(1); @@ -245,20 +249,21 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis return true; } else if (event.getX() == -863.4375 && event.getY() == 690.0) { //向右变道 - MogoMapUIController.getInstance().setScrollGesturesEnable(false); + setMapControl(); CallerAutoPilotManager.INSTANCE.sendOperatorChangeLaneRight(); // ToastUtils.showShort("→ 向右变道"); recoverMapControl(); return true; } else if (event.getX() == -1096.25 && event.getY() == 1099.0) { // -1减速 - MogoMapUIController.getInstance().setScrollGesturesEnable(false); + setMapControl(); sendAcc(true, -1); // ToastUtils.showShort("↓ 减速 -1 "); recoverMapControl(); return true; } else if (event.getX() == -1096.25 && event.getY() == 690.0) { //复原 - MogoMapUIController.getInstance().setScrollGesturesEnable(false); + setMapControl(); + // ToastUtils.showShort("O 复原 "); sendAcc(false, 0.0); @@ -335,13 +340,20 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis } } - private void recoverMapControl() { - UiThreadHandler.postDelayed(() -> { - MogoMapUIController.getInstance().setScrollGesturesEnable(true); - }, 5_00L - ); + private void setMapControl() { +// UiThreadHandler.removeCallbacks(delayRunnable); +// MogoMapUIController.getInstance().setScrollGesturesEnable(false); } + private void recoverMapControl() { +// UiThreadHandler.postDelayed(delayRunnable, 5_00L); + } + + private Runnable delayRunnable = () -> { + MogoMapUIController.getInstance().setScrollGesturesEnable(true); + }; + + /** * 初始化蓝牙广播 */ @@ -355,9 +367,33 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis 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) { + Log.d("liyz", "Name:" + device.getName() + " Mac:" + device.getAddress()); + try { + //使用反射调用获取设备连接状态方法 + Method isConnectedMethod = BluetoothDevice.class.getDeclaredMethod("isConnected", (Class[]) null); + isConnectedMethod.setAccessible(true); + boolean isConnected = (boolean) isConnectedMethod.invoke(device, (Object[]) null); + Log.d("liyz", "isConnected:" + isConnected); + isConnected = (boolean) isConnectedMethod.invoke(device, (Object[]) null); + Log.e("liyz", "showBondedDevice Name:" + device.getName() + " Mac:" + device.getAddress() + "---isConnected = " + isConnected); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + } + } + } + + 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 4503817dc0..38e38c551a 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 @@ -243,6 +243,31 @@ android:textSize="@dimen/dp_24" android:background="@drawable/radio_button_normal_background_right"/> + + +