diff --git a/OCH/mogo-och-bus-passenger/build.gradle b/OCH/mogo-och-bus-passenger/build.gradle
index 24b4c2d2ec..108b34a4f2 100644
--- a/OCH/mogo-och-bus-passenger/build.gradle
+++ b/OCH/mogo-och-bus-passenger/build.gradle
@@ -77,6 +77,7 @@ dependencies {
compileOnly project(":libraries:mogo-map")
compileOnly project(':libraries:mogo-adas')
implementation project(':core:mogo-core-res')
+ testImplementation 'junit:junit:4.12'
}
diff --git a/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionDevicePresenter.kt b/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionDevicePresenter.kt
index cc337dddd0..b47050a2a1 100644
--- a/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionDevicePresenter.kt
+++ b/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionDevicePresenter.kt
@@ -99,7 +99,7 @@ class BusPassengerFunctionDevicePresenter(view: BusPassengerFunctionDeviceFragme
}
private fun canOpenOrCloseDoor():String?{
- if(gnssSpeed==0.0){
+ if(gnssSpeed<0.01){
return null
}else{
return "速度:${gnssSpeed}车辆正在运行、请稍后再试"
diff --git a/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.kt b/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.kt
index abd1f67289..a427e4c74f 100644
--- a/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.kt
+++ b/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.kt
@@ -52,6 +52,9 @@ class BusPassengerRouteFragment :
v_debug.setOnLongClickListener {
ToggleDebugView.toggleDebugView.toggle(requireContext())
true
+ }
+ viewBusPM1MsgBoxButton.onClick {
+
}
viewBusPM1MsgBoxButton.setClickListener(object : MMsgBoxButtonView.ClickListener {
override fun showMsgBoxList(show: Boolean) {
@@ -70,28 +73,22 @@ class BusPassengerRouteFragment :
}
private fun openSettingPage(tab: String) {
-
- CallerHmiManager.hideToolsView()
- val fragmentByTag: Fragment? =
- childFragmentManager.findFragmentByTag(BusPassengerFunctionFragment.TAG)
+ val fragmentByTag: Fragment? = childFragmentManager.findFragmentByTag(BusPassengerFunctionFragment.TAG)
if (fragmentByTag is DialogFragment) {
if (fragmentByTag.dialog != null && fragmentByTag.dialog!!.isShowing) {
+ CallerLogger.d(SceneConstant.M_BUS_P + TAG, "正在展示")
return
}
if (fragmentByTag.dialog != null && fragmentByTag.isAdded) {
if (AppStateManager.currentActivity() == null) { // 没有在当前应用内 在启动页面关闭应用
- CallerLogger.d(
- SceneConstant.M_TAXI + LoginServiceImpl.TAG,
- "showLoginDialogFragment 权限验证"
- )
+ CallerLogger.d(SceneConstant.M_BUS_P + TAG, "权限验证")
return
}
}
}
if (bpFunctionGroupDialogFragment?.get() == null) {
- bpFunctionGroupDialogFragment =
- WeakReference(BusPassengerFunctionFragment.newInstance())
+ bpFunctionGroupDialogFragment = WeakReference(BusPassengerFunctionFragment.newInstance())
}
val bpFunctionGroup = bpFunctionGroupDialogFragment?.get()
bpFunctionGroup?.arguments?.putString(BusPassengerFunctionFragment.SELECTTAB, tab)
@@ -104,15 +101,11 @@ class BusPassengerRouteFragment :
.commitAllowingStateLoss()
}
if (ClickUtils.isFastClick()) {
- bpFunctionGroup.show(parentFragmentManager, LoginServiceImpl.TAG)
- CallerLogger.d(
- SceneConstant.M_TAXI + LoginServiceImpl.TAG,
- "showLoginDialogFragment 展示登录界面"
- )
+ bpFunctionGroup.show(parentFragmentManager, TAG)
+ CallerLogger.d(SceneConstant.M_BUS_P + TAG, "展示$tab")
} else {
CallerLogger.d(
- SceneConstant.M_TAXI + LoginServiceImpl.TAG,
- "showLoginDialogFragment 展示登录界面 1s内执行一次"
+ SceneConstant.M_BUS_P + TAG, "dialog 1s内执行一次"
)
}
}
diff --git a/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/view/statusbar/StatusBarView.kt b/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/view/statusbar/StatusBarView.kt
index e89c18853c..e71d7625cc 100644
--- a/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/view/statusbar/StatusBarView.kt
+++ b/OCH/mogo-och-bus-passenger/src/m1/java/com/mogo/och/bus/passenger/view/statusbar/StatusBarView.kt
@@ -21,6 +21,7 @@ import com.mogo.eagle.core.function.hmi.ui.widget.DemoModeView
import com.mogo.och.bus.passenger.R
import kotlinx.android.synthetic.m1.bus_p_m1_view_status_bar.view.*
import me.jessyan.autosize.utils.AutoSizeUtils
+import kotlin.math.roundToInt
class StatusBarView @JvmOverloads constructor(
context: Context,
@@ -82,15 +83,8 @@ class StatusBarView @JvmOverloads constructor(
override fun onBatteryManagementSystemStates(states: ChassisStatesOuterClass.BMSSystemStates) {
val bmsSoc = states.bmsSoc
- if(bmsSoc >1){
- progress.progress = bmsSoc.toInt()
- tv_power_cos.text = "${bmsSoc.toInt()}%"
- }else{
- val currenPower = (bmsSoc * 100).toInt()
- progress.progress = currenPower
- tv_power_cos.text = "$currenPower%"
- }
-
+ progress.progress = bmsSoc.toInt()
+ tv_power_cos.text = "${bmsSoc.roundToInt()}%"
}
}
diff --git a/OCH/mogo-och-bus-passenger/src/test/java/com/mogo/och/bus/passenger/ExampleUnitTest.java b/OCH/mogo-och-bus-passenger/src/test/java/com/mogo/och/bus/passenger/ExampleUnitTest.java
index 7860f8cdb7..d940b2948f 100644
--- a/OCH/mogo-och-bus-passenger/src/test/java/com/mogo/och/bus/passenger/ExampleUnitTest.java
+++ b/OCH/mogo-och-bus-passenger/src/test/java/com/mogo/och/bus/passenger/ExampleUnitTest.java
@@ -1,17 +1,15 @@
-//package com.mogo.och.bus.passenger;
-//
-//import org.junit.Test;
-//
-//import static org.junit.Assert.*;
-//
-///**
-// * Example local unit test, which will execute on the development machine (host).
-// *
-// * @see Testing documentation
-// */
-//public class ExampleUnitTest {
-// @Test
-// public void addition_isCorrect() {
-// assertEquals(4, 2 + 2);
-// }
-//}
\ No newline at end of file
+package com.mogo.och.bus.passenger;
+
+import org.junit.Test;
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * @see Testing documentation
+ */
+public class ExampleUnitTest {
+ @Test
+ public void addition_isCorrect() {
+
+ }
+}
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt
index 4c43812fbe..93e8d1f7f2 100644
--- a/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt
+++ b/core/function-impl/mogo-core-function-datacenter/src/main/java/com/mogo/eagle/core/function/datacenter/location/MoGoLocationDispatcher.kt
@@ -17,6 +17,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84Lis
import com.mogo.eagle.core.function.call.obu.CallerObuLocationWGS84ListenerManager
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr
import com.mogo.eagle.core.utilcode.util.CoordinateTransform
+import com.mogo.eagle.core.utilcode.util.MultiDisplayUtils
import com.mogo.eagle.core.utilcode.util.TimeUtils
import com.mogo.eagle.core.utilcode.util.Utils
import com.mogo.support.obu.model.MogoObuHvBasicsData
@@ -124,6 +125,7 @@ object MoGoLocationDispatcher :
DataSourceType.TELEMATIC
)
}
+ MultiDisplayUtils.getOtherDisplay()
}
/**
diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/OverMapView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/OverMapView.kt
index 93f4bf6c84..f26b486ee8 100644
--- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/OverMapView.kt
+++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/OverMapView.kt
@@ -1,5 +1,6 @@
package com.mogo.eagle.core.function.view
+import android.annotation.SuppressLint
import android.content.Context
import android.graphics.Bitmap
import android.graphics.Canvas
@@ -12,6 +13,7 @@ import android.view.View
import android.widget.RelativeLayout
import android.widget.TextView
import androidx.annotation.MainThread
+import androidx.core.graphics.drawable.toBitmap
import ch.hsr.geohash.GeoHash
import com.amap.api.maps.AMap
import com.amap.api.maps.CameraUpdate
@@ -68,6 +70,7 @@ class OverMapView @JvmOverloads constructor(
private var resetDrawable: Int = -1
private var resetDrawableMarginRight: Int = -1
private var resetDrawableMarginBottom: Int = -1
+ private var isClearArrived: Boolean = false
private var mMapView: TextureMapView? = null
private var mAMap: AMap? = null
@@ -94,6 +97,7 @@ class OverMapView @JvmOverloads constructor(
// 计算索引并设置对应的Bitmap
var arrivedBitmap: BitmapDescriptor? = null
var unArrivedBitmap: BitmapDescriptor? = null
+ var transparentBitmap: BitmapDescriptor? = null
// 绘制轨迹线的集合
private val textureList: MutableList = ArrayList()
@@ -123,8 +127,15 @@ class OverMapView @JvmOverloads constructor(
unArrivedDrawable =
typedArray.getResourceId(R.styleable.OverMapView_unArrivedDrawable, -1)
resetDrawable = typedArray.getResourceId(R.styleable.OverMapView_resetDrawable, -1)
- resetDrawableMarginRight = typedArray.getResourceId(R.styleable.OverMapView_resetDrawableMarginRight, AutoSizeUtils.dp2px(context,40f))
- resetDrawableMarginBottom = typedArray.getResourceId(R.styleable.OverMapView_resetDrawableMarginBottom, AutoSizeUtils.dp2px(context,40f))
+ resetDrawableMarginRight = typedArray.getResourceId(
+ R.styleable.OverMapView_resetDrawableMarginRight,
+ AutoSizeUtils.dp2px(context, 40f)
+ )
+ resetDrawableMarginBottom = typedArray.getResourceId(
+ R.styleable.OverMapView_resetDrawableMarginBottom,
+ AutoSizeUtils.dp2px(context, 40f)
+ )
+ isClearArrived = typedArray.getBoolean(R.styleable.OverMapView_isClearArrived, false)
typedArray.recycle()
initView(context)
} catch (e: Exception) {
@@ -174,7 +185,12 @@ class OverMapView @JvmOverloads constructor(
* (anchorX,anchorY)为锚点坐标,各自取值范围为[0,1],默认值为(0.5,1)
*/
@MainThread
- fun drawSiteMarkers(siteLatLngs: List?, bitmap: Bitmap, anchorX: Float, anchorY: Float) {
+ fun drawSiteMarkers(
+ siteLatLngs: List?,
+ bitmap: Bitmap,
+ anchorX: Float,
+ anchorY: Float
+ ) {
if (siteLatLngs.isNullOrEmpty()) return
clearSiteMarkers()
val markerOptionsList = ArrayList()
@@ -214,31 +230,37 @@ class OverMapView @JvmOverloads constructor(
mEndMarker?.isVisible = false
}
+ @SuppressLint("UseCompatLoadingForDrawables")
private fun initView(context: Context) {
mContext = context
val smpView = LayoutInflater.from(context).inflate(R.layout.module_overview_map_view, this)
mMapView = smpView.findViewById(R.id.aMapView)
overLayerView = findViewById(R.id.overLayer)
- overLayerView?.let {
- it.background =
- resources.getDrawable(if (resetDrawable != -1) resetDrawable else R.drawable.amap_reset)
- val layoutParams = it.layoutParams
- layoutParams as RelativeLayout.LayoutParams
- layoutParams.rightMargin =resetDrawableMarginRight
- layoutParams.bottomMargin =resetDrawableMarginBottom
- it.layoutParams = layoutParams
- }
-
+ overLayerView?.background =
+ resources.getDrawable(if (resetDrawable != -1) resetDrawable else R.drawable.amap_reset)
arrivedBitmap =
BitmapDescriptorFactory.fromResource(if (arrivedDrawable != -1) arrivedDrawable else R.drawable.taxi_map_arrow_arrived)
unArrivedBitmap =
BitmapDescriptorFactory.fromResource(if (unArrivedDrawable != -1) unArrivedDrawable else R.drawable.taxi_map_arrow_un_arrive)
+ transparentBitmap = BitmapDescriptorFactory.fromBitmap(
+ resources.getDrawable(R.drawable.transparent_background, null)
+ .toBitmap(AutoSizeUtils.dp2px(context, 32f), AutoSizeUtils.dp2px(context, 230f))
+ )
CallerPlanningRottingListenerManager.addListener(TAG, this)
initAMapView(context)
// 注册定位监听
CallerChassisLocationGCJ02ListenerManager.addListener(TAG, this)
//设置全览模式
overLayerView?.setOnClickListener { displayCustomOverView() }
+ overLayerView?.let {
+ it.background =
+ resources.getDrawable(if (resetDrawable != -1) resetDrawable else R.drawable.amap_reset)
+ val layoutParams = it.layoutParams
+ layoutParams as RelativeLayout.LayoutParams
+ layoutParams.rightMargin = resetDrawableMarginRight
+ layoutParams.bottomMargin = resetDrawableMarginBottom
+ it.layoutParams = layoutParams
+ }
}
private fun initAMapView(context: Context) {
@@ -523,7 +545,7 @@ class OverMapView @JvmOverloads constructor(
*/
private fun displayCustomOverView() {
val linePointsLatLng = planningPoints
- if (linePointsLatLng.size > 1) {
+ if (linePointsLatLng.size > 1 && mLocation != null) {
//圈定地图显示范围
//存放经纬度
val boundsBuilder = LatLngBounds.Builder()
@@ -607,15 +629,15 @@ class OverMapView @JvmOverloads constructor(
}
for (i in coordinates.indices) {
if (i <= locIndex) {
- // 已走过的置灰
- arrivedBitmap?.let {
- textureList.add(it)
+ if (isClearArrived) {
+ textureList.add(transparentBitmap)
+ } else {
+ // 已走过的置灰
+ textureList.add(arrivedBitmap)
}
} else {
// 未走过的纹理
- unArrivedBitmap?.let {
- textureList.add(it)
- }
+ textureList.add(unArrivedBitmap)
}
texIndexList.add(i)
}
diff --git a/core/function-impl/mogo-core-function-map/src/main/res/values/attrs.xml b/core/function-impl/mogo-core-function-map/src/main/res/values/attrs.xml
index e9074e336c..0d3349fc35 100644
--- a/core/function-impl/mogo-core-function-map/src/main/res/values/attrs.xml
+++ b/core/function-impl/mogo-core-function-map/src/main/res/values/attrs.xml
@@ -22,5 +22,7 @@
+
+
\ No newline at end of file
diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/MultiDisplayUtils.kt b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/MultiDisplayUtils.kt
index e14d16cc03..4010261abe 100644
--- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/MultiDisplayUtils.kt
+++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/util/MultiDisplayUtils.kt
@@ -39,10 +39,11 @@ object MultiDisplayUtils {
// 获取除了内置屏幕(主屏幕)的其它屏幕
val displays = mDisplayManager.getDisplays(DisplayManager.DISPLAY_CATEGORY_PRESENTATION)
// 初始化新的集合进行接收排序后的屏幕信息
- val displaysList = arrayOfNulls(displays.size)
+ var displaysList = arrayOfNulls(displays.size)
// 判断副屏个数
if (displays.isNotEmpty()) {
+ displaysList = arrayOfNulls(displays.size)
// 循环出来副屏幕进行重新排序
for (i in displays.indices) {
// 这里如果需要固定某个屏幕, 使用 if( display.toString().indexOf("port=1")!=-1) ) 而不是使用 display[i]
@@ -62,6 +63,18 @@ object MultiDisplayUtils {
}
}
}
+ // 处理EB5副屏幕
+ else {
+ if (mDisplayManager.displays.isNotEmpty()) {
+ displaysList = arrayOfNulls(1)
+ // EB5目前副屏幕ID为固定4096
+ for (i in mDisplayManager.displays.indices) {
+ if (mDisplayManager.displays[i].displayId == 4096) {
+ displaysList[0] = mDisplayManager.displays[i]
+ }
+ }
+ }
+ }
return displaysList
}
@@ -83,11 +96,9 @@ object MultiDisplayUtils {
* @param activity 要在第二个屏幕启动的页面
*/
fun startActWithSecond(context: Context, activity: Class<*>) {
- val launchDisplayId: Int
if (isSupportMultiDisplay(context)) {
- if (getOtherDisplay().size > 1 && getOtherDisplay()[0] != null) {
- launchDisplayId = getOtherDisplay()[0]!!.displayId
-
+ if (getOtherDisplay().isNotEmpty() && getOtherDisplay()[0] != null) {
+ val launchDisplayId = getOtherDisplay()[0]!!.displayId
// 要加上Intent.FLAG_ACTIVITY_NEW_TASK
val options = ActivityOptions.makeBasic()
options.launchDisplayId = launchDisplayId
diff --git a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/AutopilotAbilityManager.java b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/AutopilotAbilityManager.java
index 733e87d82a..03ec76b745 100644
--- a/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/AutopilotAbilityManager.java
+++ b/libraries/mogo-adas/src/main/java/com/zhidao/support/adas/high/common/AutopilotAbilityManager.java
@@ -213,7 +213,7 @@ public class AutopilotAbilityManager {
if (!IDENTITY_MODE.BUS_DRIVER_VAN.equalsIgnoreCase(identityMode)) {
//金旅Bus和清扫车 档位不正常
if (IDENTITY_MODE.BUS_DRIVER_BASE.equalsIgnoreCase(identityMode) || IDENTITY_MODE.SWEEPER_DRIVER_FT.equalsIgnoreCase(identityMode)) {
- if (gear == Chassis.GearPosition.GEAR_N) {
+ if (gear == Chassis.GearPosition.GEAR_N || gear == Chassis.GearPosition.GEAR_R) {
isAutopilotAbility = false;
unableAutopilotReason = "挡位不正常";
}