[340][魔方APP]添加加速命令按钮

This commit is contained in:
xinfengkun
2023-07-21 18:25:28 +08:00
parent caf7f939e5
commit 5fdd56c7e0
4 changed files with 89 additions and 33 deletions

View File

@@ -6,8 +6,8 @@ android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
defaultConfig {
applicationId "com.zhidao.adas.magic"
minSdkVersion 27
targetSdkVersion 27
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
multiDexEnabled true
versionCode 1
versionName "1.0"
@@ -18,11 +18,7 @@ android {
//解决编译时com.android.builder.merge.DuplicateRelativeFileException: More than one file was found with OS independent path 'META-INF/rxjava.properties'这个错误
exclude 'META-INF/rxjava.properties'
}
externalNativeBuild {
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
}
}
buildTypes {

View File

@@ -1,10 +1,8 @@
package com.zhidao.adas.magic.ui;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
@@ -14,7 +12,6 @@ import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.View;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
@@ -27,6 +24,7 @@ import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.AppCompatButton;
import androidx.recyclerview.widget.GridLayoutManager;
@@ -50,9 +48,16 @@ import com.zhidao.support.adas.high.bean.VersionCompatibility;
import com.zhidao.support.adas.high.common.Constants.IPC_CONNECTION_STATUS;
import com.zhidao.support.adas.high.common.CupidLogUtils;
import com.zhidao.support.adas.high.common.ProtocolStatus;
import com.zhjt.mogo.adas.data.bean.AdasParam;
import com.zhjt.mogo.adas.data.bean.AutopilotStatistics;
import org.jetbrains.annotations.NotNull;
import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask;
import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable;
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask;
import com.zhjt.mogo.adas.data.sweeper.task.SweeperTaskSuspendResume;
import com.zhjt.mogo.adas.data.sweeper.task.big.SweeperBigTaskStatus;
import com.zhjt.mogo.adas.data.sweeper.task.confirm.SweeperTaskConfirm;
import com.zhjt.mogo.adas.data.sweeper.task.status.SweeperTaskStatus;
import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop;
import java.net.Inet4Address;
import java.net.InetAddress;
@@ -67,13 +72,13 @@ import java.util.Locale;
import java.util.Timer;
import java.util.TimerTask;
import chassis.ChassisStatesOuterClass;
import function_state_management.FunctionStates;
import bag_manager.BagManagerOuterClass;
import chassis.ChassisStatesOuterClass;
import chassis.VehicleStateOuterClass;
import function_state_management.FunctionStates;
import mogo.telematics.pad.MessagePad;
import mogo.v2x.MogoV2X;
import mogo.v2x.RoadOverviewEvents;
import mogo_msg.MogoReportMsg;
import perception.TrafficLightOuterClass;
import planning.RoboSweeperTaskIndexOuterClass;
@@ -107,7 +112,6 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
private Timer timerAcc;
private final List<TitleBean> titleBtnData = new ArrayList<>();
private final List<IPCConnectState> connectStatusList = new ArrayList<>();
private boolean isPad;
private int connectStatus;
private ListPopupWindow listPopupWindow;
private FloatWindow floatWindow;
@@ -119,9 +123,6 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initHandler();
isPad = isPad(this);
if (!isPad)
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
initView();
initAdas();
connectStatus = AdasManager.getInstance().getIpcConnectionStatus();
@@ -342,6 +343,7 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
private void initListData() {
titleBtnData.add(new TitleBean(Constants.TITLE.SEND_RESTORATION));
titleBtnData.add(new TitleBean(Constants.TITLE.SEND_ACCELERATED_SPEED_ADD_1));
titleBtnData.add(new TitleBean(Constants.TITLE.SEND_ACCELERATED_SPEED_1));
titleBtnData.add(new TitleBean(Constants.TITLE.SEND_ACCELERATED_SPEED_2));
titleBtnData.add(new TitleBean(Constants.TITLE.SEND_CHANGE_LANE_LEFT));
@@ -586,11 +588,71 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
}
@Override
public void onSweeperFutianCloudTask(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTask.TaskInfo taskInfo) {
}
@Override
public void onSweeperFutianCloudTaskConfirm(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskConfirm.TaskConfirm taskConfirm) {
}
@Override
public void onSweeperFutianCloudTaskStatus(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskStatus.TaskStatusPush taskStatusPush) {
}
@Override
public void onSweeperFutianCloudTaskStop(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskStop.StopTaskReq stopTaskReq) {
}
@Override
public void onSweeperFutianCloudTaskSuspendResume(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskSuspendResume.SuspendResumeTaskResp suspendResumeTaskResp) {
}
@Override
public void onSweeperFutianCloudBootable(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperBootable.IsBootableResp isBootableResp) {
}
@Override
public void onSweeperFutianCloudBigTaskStatus(@NonNull MessagePad.Header header, @NonNull SweeperCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperBigTaskStatus.BigTaskStatusPush bigTaskStatusPush) {
}
@Override
public void onSweeperFutianCloudTaskUnknown(@NonNull MessagePad.Header header, @NonNull byte[] bytes) {
}
@Override
public void onBagManagerCmd(MessagePad.Header header, BagManagerOuterClass.BagManager bagManager) {
}
@Override
public void onV2nCongestionEvent(@NonNull MessagePad.Header header, @NonNull MogoV2X.RSI_PB rsi) {
}
@Override
public void onV2nGlobalPathEvents(@NonNull MessagePad.Header header, @NonNull RoadOverviewEvents.RoadOverviewData roadOverview, @Nullable MogoV2X.RSI_PB construct, @Nullable MogoV2X.RSI_PB triangle, @Nullable MogoV2X.RSI_PB congestion, @Nullable MogoV2X.RSM_PB parkingViolation) {
}
@Override
public void onGetParamResp(@NonNull MessagePad.Header header, @NonNull MessagePad.SetParamReq getParamResp, @NonNull AdasParam adasParam) {
}
@Override
public void onM1StitchedVideo(@NonNull MessagePad.Header header, @NonNull byte[] data) {
}
@Override
public void onAutopilotAbility(boolean isAutopilotAbility, String unableAutopilotReason) {
@@ -669,18 +731,6 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
return "127.0.0.1";
}
/**
* 判断当前设备是手机还是平板,代码来自 Google I/O App for Android
*
* @param context
* @return 平板返回 True手机返回 False
*/
public static boolean isPad(Context context) {
return (context.getResources().getConfiguration().screenLayout
& Configuration.SCREENLAYOUT_SIZE_MASK)
>= Configuration.SCREENLAYOUT_SIZE_LARGE;
}
@Override
public void onItemClick(int position, TitleBean data) {
@@ -693,6 +743,7 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
case Constants.TITLE.SEND_RESTORATION:
updateItem(Constants.TITLE.SEND_ACCELERATED_SPEED_2, -1, null);
updateItem(Constants.TITLE.SEND_ACCELERATED_SPEED_1, -1, null);
updateItem(Constants.TITLE.SEND_ACCELERATED_SPEED_ADD_1, -1, null);
sendAcc(false, 0.0);
break;
case Constants.TITLE.SEND_CHANGE_LANE_LEFT:
@@ -701,11 +752,18 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
case Constants.TITLE.SEND_CHANGE_LANE_RIGHT:
AdasManager.getInstance().sendOperatorCmdChangeLaneRight();
break;
case Constants.TITLE.SEND_ACCELERATED_SPEED_ADD_1:
updateItem(Constants.TITLE.SEND_ACCELERATED_SPEED_1, position, data);
updateItem(Constants.TITLE.SEND_ACCELERATED_SPEED_2, position, data);
sendAcc(true, 1);
break;
case Constants.TITLE.SEND_ACCELERATED_SPEED_1:
updateItem(Constants.TITLE.SEND_ACCELERATED_SPEED_ADD_1, position, data);
updateItem(Constants.TITLE.SEND_ACCELERATED_SPEED_2, position, data);
sendAcc(true, -1);
break;
case Constants.TITLE.SEND_ACCELERATED_SPEED_2:
updateItem(Constants.TITLE.SEND_ACCELERATED_SPEED_ADD_1, position, data);
updateItem(Constants.TITLE.SEND_ACCELERATED_SPEED_1, position, data);
sendAcc(true, -2);
break;
@@ -810,7 +868,7 @@ public class MainActivity extends BaseActivity implements OnAdasListener, OnAdas
}
});
return true;
} else if (Constants.TITLE.SEND_ACCELERATED_SPEED_1.equals(data.name) || Constants.TITLE.SEND_ACCELERATED_SPEED_2.equals(data.name)) {
} else if (Constants.TITLE.SEND_ACCELERATED_SPEED_ADD_1.equals(data.name) || Constants.TITLE.SEND_ACCELERATED_SPEED_1.equals(data.name) || Constants.TITLE.SEND_ACCELERATED_SPEED_2.equals(data.name)) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("ACC发送频率配置");
View view = getLayoutInflater().inflate(R.layout.dialog_time, null);

View File

@@ -104,6 +104,7 @@ public class Constants {
public static boolean delAccelerateDuration(Context context) {
return PreferencesUtils.delete(context, ACCELERATE_DURATION);
}
/********************鸣笛时长******************/
private static final String HORN_DURATION = "horn_duration";
@@ -124,6 +125,7 @@ public class Constants {
String SEND_RESTORATION = "复位";
String SEND_CHANGE_LANE_LEFT = "向左变道";
String SEND_CHANGE_LANE_RIGHT = "向右变道";
String SEND_ACCELERATED_SPEED_ADD_1 = "+1加速";
String SEND_ACCELERATED_SPEED_1 = "-1减速";
String SEND_ACCELERATED_SPEED_2 = "-2减速";
String SEND_HORN = "鸣笛";

View File

@@ -1,5 +1,5 @@
<resources>
<string name="app_name"></string>
<string name="hint">复位按钮:下发减速命令之后需要复位操作\n减速按钮单机触发减速长按配置减速发送频率\n鸣笛按钮单机触发鸣笛长按配置鸣笛时长</string>
<string name="app_name"></string>
<string name="hint">复位按钮:下发加速/减速命令之后需要复位操作\n加速/减速按钮:单机触发加速/减速,长按配置ACC发送频率\n鸣笛按钮单机触发鸣笛长按配置鸣笛时长</string>
</resources>