「dev_opt_2.15.0」

1、完成bus司机屏增加开关控制bus乘客屏展示视频流;
This commit is contained in:
donghongyu
2023-04-18 20:58:19 +08:00
parent bd920c8d48
commit a7b61aa124
6 changed files with 68 additions and 3 deletions

View File

@@ -9,13 +9,17 @@ import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.widget.ContentLoadingProgressBar;
import com.mogo.commons.mvp.IView;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.commons.mvp.Presenter;
import com.mogo.eagle.core.data.multidisplay.TelematicConstant;
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener;
import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager;
import com.mogo.eagle.core.function.hmi.ui.widget.DriverMonitorView;
import com.mogo.eagle.core.function.view.MapBizView;
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr;
@@ -44,6 +48,11 @@ public abstract class BusPassengerBaseFragment<V extends IView, P extends Presen
private View mLiveBtn;
private View mLiveShadow;
private DriverMonitorView driverMonitorView;
// 记录司机端是否打开了显示开关,
// 开关开启时,有视频流的车辆持续常驻展示视频流,无视频流的车辆不展示(无占位);
// 开关关闭时,无论是否有视频流,均不展示(无占位);开关默认关闭
private boolean driverToggle = false;
/**
* 改变自动驾驶状态
*
@@ -88,6 +97,30 @@ public abstract class BusPassengerBaseFragment<V extends IView, P extends Presen
return true;
}
});
CallerTelematicListenerManager.INSTANCE.addListener(TAG, new IReceivedMsgListener() {
@Override
public void onReceivedServerSn(@Nullable String sn) {
}
@Override
public void onReceivedMsg(int type, @NonNull byte[] byteArray) {
if (type == TelematicConstant.CONTROL_PASSENGER_DRIVER_MONITOR) {
switch (new String(byteArray)) {
// 乘客端开启漫游
case "0": {
mLiveShadow.setVisibility(View.GONE);
break;
}
// 乘客端关闭漫游
case "1": {
mLiveShadow.setVisibility(View.VISIBLE);
break;
}
}
}
}
});
showRouteFragment();

View File

@@ -149,6 +149,11 @@ class TeleMsgHandler : IMsgHandler {
CallerTelematicListenerManager.invokeReceivedMsg(TelematicConstant.OPEN_ROMA_STATUS,it.body)
}
}
TelematicConstant.CONTROL_PASSENGER_DRIVER_MONITOR -> {
ThreadUtils.runOnUiThread {
CallerTelematicListenerManager.invokeReceivedMsg(TelematicConstant.CONTROL_PASSENGER_DRIVER_MONITOR,it.body)
}
}
else -> {
}
}

View File

@@ -45,6 +45,7 @@ import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.data.obu.MogoObuConst
import com.mogo.eagle.core.data.obu.ObuStatusInfo
import com.mogo.eagle.core.data.deva.report.ReportEntity
import com.mogo.eagle.core.data.multidisplay.TelematicConstant
import com.mogo.eagle.core.function.api.autopilot.*
import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsFuncConfigListener
import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener
@@ -581,6 +582,17 @@ internal class DebugSettingView @JvmOverloads constructor(
}
}
/**
* 控制乘客屏直播监控
*/
tbControlPassengerDriverMonitor.setOnCheckedChangeListener { _, isChecked ->
if (isChecked) {
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.CONTROL_PASSENGER_DRIVER_MONITOR, "1".toByteArray())
} else {
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.CONTROL_PASSENGER_DRIVER_MONITOR, "0".toByteArray())
}
}
//设置鹰眼本地参数配置监听
setEagleEyeConfigListener()
//域控制器中心事件点击监听

View File

@@ -1355,8 +1355,8 @@
android:background="@drawable/setting_toggle_button_background"
android:drawableEnd="@drawable/icon_right"
android:padding="@dimen/dp_20"
android:textOff="HMI控制"
android:textOn="HMI控制"
android:textOff="打开HMI控制"
android:textOn="关闭HMI控制"
android:textSize="@dimen/dp_24" />
<GridLayout
@@ -1367,6 +1367,20 @@
android:visibility="gone"
tools:visibility="visible">
<ToggleButton
android:id="@+id/tbControlPassengerDriverMonitor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_margin="2dp"
android:gravity="center"
android:textOff="开启乘客屏直播监控"
android:textOn="关闭乘客屏直播监控"
android:padding="@dimen/dp_20"
android:textSize="@dimen/dp_24"
app:layout_constraintLeft_toRightOf="@+id/tbChangeCurrentCarIcon"
app:layout_constraintTop_toTopOf="@id/tbChangeCurrentCarIcon" />
<ToggleButton
android:id="@+id/tbChangeCurrentSkinMode"
android:layout_width="wrap_content"

View File

@@ -12,5 +12,6 @@ class TelematicConstant {
const val HIDE_TRAFFIC_LIGHT = 102
const val OPEN_ROMA_STATUS = 103
const val ROMA_UPDATE = 104
const val CONTROL_PASSENGER_DRIVER_MONITOR = 105
}
}

View File

@@ -41,7 +41,7 @@ object CallerTelematicManager {
/**
* 发送数据给所有客户端
* type保存在TelematicConstant中
* type保存在 TelematicConstant
*/
fun sendMsgToAllClients(type: Int, byteArray: ByteArray) {
providerApi?.sendMsgToAllClients(type, byteArray)