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 27c304b440..82dff7fa39 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 @@ -74,8 +74,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis SharedPrefsMgr.getInstance(getContext()).putBoolean("BLUETOOTH", false); - initBluetooth(); - +// initBluetooth(); // mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); } @@ -185,14 +184,25 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) { //向上长按 -// ToastUtils.showShort("长按 ↑↑↑"); -// CallerHmiManager.INSTANCE.showMaskView(); //长按出现蒙层, - CallerAutoPilotManager.INSTANCE.setControlAutopilotCarAuto(true); - + MogoMapUIController.getInstance().setScrollGesturesEnable(false); + long currentTime = System.currentTimeMillis() / (1000); + long oldTime = SharedPrefsMgr.getInstance(getContext()).getLong("old_time_up", 0); +// Log.d("liyz", "time = " + (currentTime - oldTime)); + if (currentTime - oldTime > 8) { + SharedPrefsMgr.getInstance(getContext()).putLong("old_time_up", System.currentTimeMillis() / 1000); +// ToastUtils.showShort("长按 ↑↑↑"); + CallerAutoPilotManager.INSTANCE.setControlAutopilotCarAuto(true); + } return true; } else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) { //下和中间键盘长按,减速为-2 -// ToastUtils.showShort("长按 ↓↓↓"); - sendAcc(true, -2); + MogoMapUIController.getInstance().setScrollGesturesEnable(false); + 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("长按 ↓↓↓"); + sendAcc(true, -2); + } return true; } return super.onKeyDown(keyCode, event); @@ -202,16 +212,15 @@ 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); // ToastUtils.showShort("← 向左变道"); // MogoMapUIController.getInstance().setLockMode( true ); CallerAutoPilotManager.INSTANCE.sendOperatorChangeLaneLeft(); - - return true; } else if (event.getX() == -1096.25 && event.getY() == 132.5) { //鸣笛 + MogoMapUIController.getInstance().setScrollGesturesEnable(false); // ToastUtils.showShort("↑ 鸣笛 "); CallerAutoPilotManager.INSTANCE.sendOperatorSetHorn(1); - MogoMapUIController.getInstance().setLockMode( true ); if (timerHorn == null) { timerHorn = new Timer(); @@ -226,29 +235,29 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis return true; } else if (event.getX() == -863.4375 && event.getY() == 690.0) { //向右变道 + MogoMapUIController.getInstance().setScrollGesturesEnable(false); CallerAutoPilotManager.INSTANCE.sendOperatorChangeLaneRight(); -// MogoMapUIController.getInstance().setLockMode( true ); // ToastUtils.showShort("→ 向右变道"); return true; } else if (event.getX() == -1096.25 && event.getY() == 1099.0) { // -1减速 -// MogoMapUIController.getInstance().setLockMode( true ); - sendAcc(true, -1); //TODO 需要可以配置 + MogoMapUIController.getInstance().setScrollGesturesEnable(false); + sendAcc(true, -1); // ToastUtils.showShort("↓ 减速"); return true; } else if (event.getX() == -1096.25 && event.getY() == 690.0) { //复原 + MogoMapUIController.getInstance().setScrollGesturesEnable(true); // ToastUtils.showShort("O 复原 "); sendAcc(false, 0.0); -// MogoMapUIController.getInstance().setLockMode( true ); - return true; } -// Log.d("liyz", "--- " + SharedPrefsMgr.getInstance(getContext()).getBoolean("BLUETOOTH", false)); - if (SharedPrefsMgr.getInstance(getContext()).getBoolean("BLUETOOTH", false)) { - return false; - } else { - return super.dispatchTouchEvent(event); - } + return super.dispatchTouchEvent(event); + +// if (SharedPrefsMgr.getInstance(getContext()).getBoolean("BLUETOOTH", false)) { +// return false; +// } else { +// return super.dispatchTouchEvent(event); +// } } @Override diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java index 0f16e30760..66af7acf4d 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/uicontroller/IMogoMapUIController.java @@ -319,4 +319,9 @@ public interface IMogoMapUIController { */ void setLockMode(boolean isLock); + /** + * 设置手势滑动失效 + */ + void setScrollGesturesEnable(boolean isEnable); + } diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java index 46a12025ba..cd1613c533 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java @@ -1113,7 +1113,16 @@ public class AMapViewWrapper implements IMogoMapView, @Override public void setLockMode(boolean isLock) { - mMapView.getMapAutoViewHelper().setLockMode(true); + if (checkAMapView()) { + mMapView.getMapAutoViewHelper().setLockMode(true); + } } + @Override + public void setScrollGesturesEnable(boolean isEnable) { + if (checkAMapView()) { + Log.d("liyz", "setScrollGesturesEnable --- isEnable = " + isEnable); + mMapView.getMapAutoViewHelper().setScrollGesturesEnabled(isEnable); + } + } } diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java index 2fda4c14e1..dd78dce63e 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java @@ -412,4 +412,12 @@ public class MogoMapUIController implements IMogoMapUIController { mDelegate.setLockMode(isLock); } } + + @Override + public void setScrollGesturesEnable(boolean isEnable) { + initDelegate(); + if (mDelegate != null) { + mDelegate.setScrollGesturesEnable(isEnable); + } + } } diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java index 01c725a751..fc7cf59326 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java @@ -348,4 +348,10 @@ public class AMapUIController implements IMogoMapUIController { } } + @Override + public void setScrollGesturesEnable(boolean isEnable) { + if (mClient != null) { + mClient.setScrollGesturesEnable(isEnable); + } + } }