「dev_opt_2.15.0」
1、完成bus司机屏增加开关控制bus乘客屏展示视频流;
This commit is contained in:
@@ -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();
|
||||
|
||||
|
||||
@@ -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 -> {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
//域控制器中心事件点击监听
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -41,7 +41,7 @@ object CallerTelematicManager {
|
||||
|
||||
/**
|
||||
* 发送数据给所有客户端
|
||||
* type:保存在TelematicConstant中
|
||||
* type:保存在 TelematicConstant 中
|
||||
*/
|
||||
fun sendMsgToAllClients(type: Int, byteArray: ByteArray) {
|
||||
providerApi?.sendMsgToAllClients(type, byteArray)
|
||||
|
||||
Reference in New Issue
Block a user