控制拖动事件,长按触发次数控制

This commit is contained in:
lixiaopeng
2022-08-10 11:13:06 +08:00
parent d41f3ae686
commit c23af3cc70
5 changed files with 60 additions and 23 deletions

View File

@@ -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

View File

@@ -319,4 +319,9 @@ public interface IMogoMapUIController {
*/
void setLockMode(boolean isLock);
/**
* 设置手势滑动失效
*/
void setScrollGesturesEnable(boolean isEnable);
}

View File

@@ -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);
}
}
}

View File

@@ -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);
}
}
}

View File

@@ -348,4 +348,10 @@ public class AMapUIController implements IMogoMapUIController {
}
}
@Override
public void setScrollGesturesEnable(boolean isEnable) {
if (mClient != null) {
mClient.setScrollGesturesEnable(isEnable);
}
}
}