From 42d3c94894984931c23165006fd612f37fb69728 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Fri, 29 Jul 2022 11:40:05 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=AF=E8=83=BD?= =?UTF-8?q?=E7=9A=84=E7=A9=BA=E6=8C=87=E9=92=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/map/AMapViewWrapper.java | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java index a9cfa407f8..fb7cb4b3d4 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/AMapViewWrapper.java @@ -506,7 +506,9 @@ public class AMapViewWrapper implements IMogoMapView, @Override public MogoLatLng getWindowCenterLocation() { try { - return ObjectUtils.fromAMap(mMapView.getMapAutoViewHelper().getCenter()); + if (checkAMapView()) { + return ObjectUtils.fromAMap(mMapView.getMapAutoViewHelper().getCenter()); + } } catch (Exception e) { e.printStackTrace(); } @@ -813,16 +815,18 @@ public class AMapViewWrapper implements IMogoMapView, public void onMapLoaded() { CallerLogger.INSTANCE.i(M_MAP + TAG, "autoop--onMapLoaded: "); mMapLoaded = true; - CameraPosition cameraPosition = mMapView.getMapAutoViewHelper().getCameraPosition(); - Trace.beginSection("timer.onCameraChangeFinish"); - MogoMapListenerHandler.getInstance().onMapChanged(ObjectUtils.fromAMap(cameraPosition.getTarget()), - cameraPosition.getZoom(), - cameraPosition.getTilt(), - cameraPosition.getBearing()); - Trace.endSection(); - initMapView(); - initMyLocation(); - loadPreVehicleModel(); + if (checkAMapView()) { + CameraPosition cameraPosition = mMapView.getMapAutoViewHelper().getCameraPosition(); + Trace.beginSection("timer.onCameraChangeFinish"); + MogoMapListenerHandler.getInstance().onMapChanged(ObjectUtils.fromAMap(cameraPosition.getTarget()), + cameraPosition.getZoom(), + cameraPosition.getTilt(), + cameraPosition.getBearing()); + Trace.endSection(); + initMapView(); + initMyLocation(); + loadPreVehicleModel(); + } } @Override @@ -1039,7 +1043,9 @@ public class AMapViewWrapper implements IMogoMapView, @Override public void setMapDAngle(float angle) { - mMapView.getMapAutoViewHelper().setMapDAngle(angle); + if (checkAMapView()) { + mMapView.getMapAutoViewHelper().setMapDAngle(angle); + } } @Override From 6386fbbf5d6c9ef3bea65440f1394873283b9800 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Fri, 29 Jul 2022 12:14:02 +0800 Subject: [PATCH 2/2] fix bug of ui causing anr --- .../autopilot/adapter/MoGoAdasListenerImpl.kt | 14 ++-- .../hmi/ui/widget/TapPositionView.java | 2 - .../hmi/ui/widget/TrafficDataView.java | 68 +++++++++---------- .../core/data/deva/chain/ChainConstant.kt | 1 + 4 files changed, 44 insertions(+), 41 deletions(-) diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasListenerImpl.kt b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasListenerImpl.kt index 83dbe41e04..4e0ed275d8 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasListenerImpl.kt +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAdasListenerImpl.kt @@ -16,6 +16,7 @@ import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_C import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_CAR_STATE import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_PLANNING_OBJECTS import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_MESSAGE_RECT_DATA +import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_ALIAS_CODE_ADAS_STATUS_QUERY_RESP import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_ADAS import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_CONNECT_STATUS import com.mogo.eagle.core.data.deva.chain.ChainConstant.Companion.CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT @@ -374,14 +375,19 @@ class MoGoAdasListenerImpl : OnAdasListener { } } + //状态查询应答 +// @ChainLog( +// linkChainLog = CHAIN_LINK_LOG_WEB_SOCKET_AUTOPILOT, +// linkCode = CHAIN_LINK_ADAS, +// endpoint = PAD, +// nodeAliasCode = CHAIN_ALIAS_CODE_ADAS_STATUS_QUERY_RESP, +// paramIndexes = [0, 1], +// clientPkFileName = "sn" +// ) override fun onStatusQueryResp( header: MessagePad.Header?, statusInfo: SystemStatusInfo.StatusInfo? ) { - //状态查询应答 - statusInfo?.let { - Log.d(TAG, GsonUtil.jsonFromObject(it)) - } invokeAutopilotStatusRespByQuery(statusInfo) } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/TapPositionView.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/TapPositionView.java index 246cd5bcb2..1aa4b012c2 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/TapPositionView.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/TapPositionView.java @@ -35,7 +35,6 @@ public class TapPositionView extends ConstraintLayout { public TapPositionView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); - Log.d(TAG, "2"); LayoutInflater.from(context).inflate(R.layout.hmi_tap_position, this); tabP = findViewById(R.id.tap_p); tabR = findViewById(R.id.tap_r); @@ -48,7 +47,6 @@ public class TapPositionView extends ConstraintLayout { if (tabP != null && tabR != null && tabN != null && tabD != null) { int defaultColor = typedArray.getColor(R.styleable.TapPositionView_defaultColor, -1); int selectColor = typedArray.getColor(R.styleable.TapPositionView_selectColor, -1); - Log.d(TAG, "gear:" + gear); switch (gear) { case GEAR_NONE: tabP.setTextColor(defaultColor); diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/TrafficDataView.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/TrafficDataView.java index f1ad3626c2..c79c9a0ae2 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/TrafficDataView.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/TrafficDataView.java @@ -16,6 +16,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotVehicleStateList import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotVehicleStateListenerManager; import com.mogo.eagle.core.function.hmi.R; import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.ThreadUtils; import org.jetbrains.annotations.NotNull; @@ -76,7 +77,9 @@ public class TrafficDataView extends ConstraintLayout { */ @Override public void onAutopilotLightSwitchData(@org.jetbrains.annotations.Nullable Chassis.LightSwitch lightSwitch) { - Log.d(TAG, "车辆转向灯:" + lightSwitch.toString()); + if(lightSwitch != null){ + CallerLogger.INSTANCE.d(TAG, "车辆转向灯:" + lightSwitch.toString()); + } } /** @@ -85,7 +88,7 @@ public class TrafficDataView extends ConstraintLayout { */ @Override public void onAutopilotBrakeLightData(boolean brakeLight) { - Log.d(TAG, "刹车灯:" + String.valueOf(brakeLight)); + CallerLogger.INSTANCE.d(TAG, "刹车灯:" + brakeLight); } /** @@ -94,18 +97,11 @@ public class TrafficDataView extends ConstraintLayout { */ @Override public void onAutopilotSteeringData(float steering) { - Log.d(TAG, "steering原始值====" + String.valueOf(steering)); + CallerLogger.INSTANCE.d(TAG, "steering原始值====" + steering); if (Math.abs(steering) < 1) { steering = 0; } - float steeringValue = steering; - ThreadUtils.runOnUiThread(new Runnable() { - @Override - public void run() { - Log.d(TAG, "steering忽略小数点后====" + String.valueOf((int) steeringValue)); - } - }); - + CallerLogger.INSTANCE.d(TAG, "steering忽略小数点后====" + (int) steering); } /** @@ -114,16 +110,12 @@ public class TrafficDataView extends ConstraintLayout { */ @Override public void onAutopilotGearData(@NotNull Chassis.GearPosition gear) { - ThreadUtils.runOnUiThread(new Runnable() { - @Override - public void run() { - Log.d(TAG, "司机屏档位" + gear.toString()); - if (tapPositionView != null) { - tapPositionView.updateWithGear(gear); - } + CallerLogger.INSTANCE.d(TAG, "司机屏档位" + gear.toString()); + ThreadUtils.runOnUiThread(() -> { + if (tapPositionView != null) { + tapPositionView.updateWithGear(gear); } }); - } @Override @@ -133,30 +125,36 @@ public class TrafficDataView extends ConstraintLayout { @Override public void onAutopilotAcc(float carAcc) { - Log.d(TAG, "司机屏加速度:" + carAcc); - java.text.DecimalFormat myformat = new java.text.DecimalFormat("0.00"); - String accStr = myformat.format(carAcc); - accTextView.setText("a: " + String.valueOf(accStr)); + CallerLogger.INSTANCE.d(TAG, "司机屏加速度:" + carAcc); + ThreadUtils.runOnUiThread(() -> { + java.text.DecimalFormat mFormat = new java.text.DecimalFormat("0.00"); + String accStr = mFormat.format(carAcc); + accTextView.setText("a: " + accStr); + }); } @Override public void onAutopilotBrake(float brake) { - Log.d(TAG, "刹车:" + String.valueOf(brake)); - if (brake > 0){ - brakeStatus.setImageResource(R.drawable.traffic_data_brake); - }else { - brakeStatus.setImageResource(R.drawable.traffic_data_empty); - } + CallerLogger.INSTANCE.d(TAG, "刹车:" + brake); + ThreadUtils.runOnUiThread(() -> { + if (brake > 0) { + brakeStatus.setImageResource(R.drawable.traffic_data_brake); + } else { + brakeStatus.setImageResource(R.drawable.traffic_data_empty); + } + }); } @Override public void onAutopilotThrottle(float throttle) { - Log.d(TAG, "油门:" + String.valueOf(throttle)); - if (throttle > 0){ - brakeStatus.setImageResource(R.drawable.traffic_data_accelerator); - }else { - brakeStatus.setImageResource(R.drawable.traffic_data_empty); - } + CallerLogger.INSTANCE.d(TAG, "油门:" + throttle); + ThreadUtils.runOnUiThread(() -> { + if (throttle > 0) { + brakeStatus.setImageResource(R.drawable.traffic_data_accelerator); + } else { + brakeStatus.setImageResource(R.drawable.traffic_data_empty); + } + }); } }; diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt index d08ccfb392..7d18003de7 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/chain/ChainConstant.kt @@ -42,6 +42,7 @@ class ChainConstant { const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_VEHICLE = "PAD_ADAS_MESSAGE_AUTOPILOT_VEHICLE" const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_TRAFFIC_LIGHT = "PAD_ADAS_MESSAGE_AUTOPILOT_TRAFFIC_LIGHT" const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_PLANNING_OBJECTS = "CHAIN_ALIAS_CODE_ADAS_MESSAGE_PLANNING_OBJECTS" + const val CHAIN_ALIAS_CODE_ADAS_STATUS_QUERY_RESP = "CHAIN_ALIAS_CODE_ADAS_STATUS_QUERY_RESP" const val CHAIN_ALIAS_CODE_ADAS_MESSAGE_AUTOPILOT_WARN = "PAD_ADAS_MESSAGE_AUTOPILOT_WARN" const val CHAIN_ALIAS_CODE_CLOUD_CONNECT_FAIL = "CHAIN_ALIAS_CODE_CLOUD_CONNECT_FAIL"