From 7ecb84db586bf18a90874877e1aed69768dcc190 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Wed, 31 Aug 2022 12:35:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=AD=94=E6=96=B9=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/main/MainLauncherActivity.java | 168 ++++++++++++++---- 1 file changed, 131 insertions(+), 37 deletions(-) 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 d3dc6ecefb..2935613a99 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 @@ -75,6 +75,16 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis private BluetoothMonitorReceiver mBluetoothReceiver = null; private BluetoothAdapter mBluetoothAdapter; private List mAreadlyConnectedList = new ArrayList<>();//已连接设备集合 + private int numberA = 0; + private boolean isLongPressA = false; + private int numberB = 0; + private boolean isLongPressB = false; + private int numberC = 0; + private boolean isLongPressC = false; + private int numberD = 0; + private boolean isLongPressD = false; + private int numberE = 0; + private boolean isLongPressE = false; @Override @@ -226,15 +236,128 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis } return true; } + + Log.e("liyz", "onKeyDown keyCode = " + keyCode + "--action = " + event.getAction() + "---" + event); return super.onKeyDown(keyCode, event); } + + @Override + public boolean dispatchKeyEvent(KeyEvent event) { +// Log.d("liyz", "dispatchKeyEvent code = " + event.getKeyCode() + "--action = " + event.getAction() + "----" + event); + if (event.getKeyCode() == KeyEvent.KEYCODE_A) { //单击向左变道,长按-1 + if (event.getAction() == KeyEvent.ACTION_DOWN) { + numberA++; + Log.e("liyz", "numberA --1-- = " + numberA); + if (numberA > 2) { + if (!isLongPressA) { + ToastUtils.showShort("方块 长按A -1 "); + sendAcc(true, -1); + isLongPressA = true; + } + } + } else if (event.getAction() == KeyEvent.ACTION_UP) { + if (numberA == 1) { + ToastUtils.showShort("方块 单击A ← 向左变道 "); + CallerAutoPilotManager.INSTANCE.sendOperatorChangeLaneLeft(); + } + numberA = 0; + isLongPressA = false; + } + return true; + } else if (event.getKeyCode() == KeyEvent.KEYCODE_B) { //单击向右变道,长按-2 + if (event.getAction() == KeyEvent.ACTION_DOWN) { + numberB++; + if (numberB > 2) { + if (!isLongPressB) { + ToastUtils.showShort("方块 长按B -2 "); + sendAcc(true, -2); + isLongPressB = true; + } + } + } else if (event.getAction() == KeyEvent.ACTION_UP) { + if (numberB == 1) { + ToastUtils.showShort("方块 单击B → 向右变道 "); + CallerAutoPilotManager.INSTANCE.sendOperatorChangeLaneRight(); + } + numberB = 0; + isLongPressB = false; + } + return true; + } else if (event.getKeyCode() == KeyEvent.KEYCODE_C) { //单击鸣笛, + if (event.getAction() == KeyEvent.ACTION_DOWN) { + numberC++; + if (numberC > 2) { + if (!isLongPressC) { + ToastUtils.showShort("方块 长按 C "); + isLongPressC = true; + } + } + } else if (event.getAction() == KeyEvent.ACTION_UP) { + if (numberC == 1) { + ToastUtils.showShort("方块 单击C 单击鸣笛 "); + 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); + } + numberC = 0; + isLongPressC = false; + } + return true; + } else if (event.getKeyCode() == KeyEvent.KEYCODE_D) { //单击开启自动驾驶, + if (event.getAction() == KeyEvent.ACTION_DOWN) { + numberD++; + if (numberD > 2) { + if (!isLongPressD) { + ToastUtils.showShort("方块 长按 D "); + isLongPressD = true; + } + } + } else if (event.getAction() == KeyEvent.ACTION_UP) { + if (numberD == 1) { + ToastUtils.showShort("方块 单击D 开启自动驾驶 "); + CallerAutoPilotManager.INSTANCE.setControlAutopilotCarAuto(true); + } + numberD = 0; + isLongPressD = false; + } + return true; + } else if (event.getKeyCode() == KeyEvent.KEYCODE_E) { //单击复原, + if (event.getAction() == KeyEvent.ACTION_DOWN) { + numberE++; + if (numberE > 2) { + if (!isLongPressE) { + ToastUtils.showShort("方块 长按 E "); + isLongPressE = true; + } + } + } else if (event.getAction() == KeyEvent.ACTION_UP) { + if (numberE == 1) { + ToastUtils.showShort("方块 单击E 复原 "); + sendAcc(false, 0.0); + } + numberE = 0; + isLongPressE = false; + } + return true; + } + + return super.dispatchKeyEvent(event); + } + @Override public boolean dispatchTouchEvent(MotionEvent event) { -// Log.d("liyz", "dispatchTouchEvent event.getX() = " + event.getX() + "--event.getY() = " + event.getY() + "--action = " + event.getAction()); + Log.d("liyz", "dispatchTouchEvent event.getX() = " + event.getX() + "--event.getY() = " + event.getY() + "--action = " + event.getAction()); if (event.getX() == -1469.6875 && event.getY() == 530.0) { //向左变道 // ToastUtils.showShort("← 向左变道"); -// MogoMapUIController.getInstance().setLockMode( true ); CallerAutoPilotManager.INSTANCE.sendOperatorChangeLaneLeft(); return true; @@ -273,36 +396,6 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis return super.dispatchTouchEvent(event); } - @Override - public boolean onTouchEvent(MotionEvent event) { - - //← x:-1469.6875 y:530.0 - //↑ x:-1096.25 y:132.5 - //→ x:-863.4375 y: 690.0 - //↓ x:-1096.25 y:1099.0 - //O x:-1096.25 y:690.0 -// Log.d("liyz", "onTouchEvent event.getX() = " + event.getX() + "--event.getY() = " + event.getY()); - - if (event.getX() == -1469.6875 && event.getY() == 530.0) { -// ToastUtils.showShort("←"); - return true; - } else if (event.getX() == -1096.25 && event.getY() == 132.5) { -// ToastUtils.showShort("↑"); - return true; - } else if (event.getX() == -863.4375 && event.getY() == 690.0) { -// ToastUtils.showShort("→"); - return true; - } else if (event.getX() == -1096.25 && event.getY() == 1099.0) { -// ToastUtils.showShort("↓"); - return true; - } else if (event.getX() == -1096.25 && event.getY() == 690.0) { -// ToastUtils.showShort("O"); - return true; - } - return super.onTouchEvent(event); - } - - @Override public void onSkinModeChange(int skinMode) { if (skinMode == 0) { @@ -366,12 +459,12 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis boolean isConnected = (boolean) isConnectedMethod.invoke(device, (Object[]) null); // Log.e("liyz", "showBondedDevice Name:" + device.getName() + " Mac:" + device.getAddress() + "---isConnected = " + isConnected); mAreadlyConnectedList.add(device); - if (device.getName().equals("JX-05")) { - SharedPrefsMgr.getInstance(getContext()).putString("BT_MAC", device.getAddress()); - } +// if (device.getName().equals("JX-05")) { //TODO +// SharedPrefsMgr.getInstance(getContext()).putString("BT_MAC", device.getAddress()); +// } if (!isConnected) { UiThreadHandler.postDelayed(() -> { - connectBluetooth(); //主动连接一次 +// connectBluetooth(); //主动连接一次 }, 4000L); } } catch (NoSuchMethodException e) { @@ -387,7 +480,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis @Subscribe(threadMode = ThreadMode.MAIN) public void onAutoConnection(ConnectBluetoothEvent event) { - connectBluetooth(); +// connectBluetooth(); } /** @@ -405,6 +498,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis pos = i; } } + // Log.d("liyz", "connectBluetooth macAddress = " + macAddress + "---pos = " + pos); if (mAreadlyConnectedList.size() > pos && (pos >= 0)) { method.invoke(mAreadlyConnectedList.get(pos));