diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java index c43f715dbe..7d06ba2d26 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java @@ -301,17 +301,17 @@ public class BusPassengerModel { @Override public void onAutopilotStatusResponse(@NotNull AutopilotStatusInfo autopilotStatusInfo) { - if (autopilotStatusInfo == null) return; - int state = autopilotStatusInfo.getState(); - CallerLogger.INSTANCE.d( M_BUS_P + TAG, "state = %s", state ); - if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { - //2022.7.20 自动驾驶更换成带档位的 -// if (mADASStatusCallback != null) mADASStatusCallback.onAutopilotRunning(); - } else if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE) { -// if (mADASStatusCallback != null) mADASStatusCallback.onAutopilotEnable(); - } else if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE) { -// if (mADASStatusCallback != null) mADASStatusCallback.onAutopilotDisable(); - } +// if (autopilotStatusInfo == null) return; +// int state = autopilotStatusInfo.getState(); +// CallerLogger.INSTANCE.d( M_BUS_P + TAG, "state = %s", state ); +// if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { +// //2022.7.20 自动驾驶更换成带档位的 +//// if (mADASStatusCallback != null) mADASStatusCallback.onAutopilotRunning(); +// } else if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE) { +//// if (mADASStatusCallback != null) mADASStatusCallback.onAutopilotEnable(); +// } else if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE) { +//// if (mADASStatusCallback != null) mADASStatusCallback.onAutopilotDisable(); +// } } @Override diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BaseBusPassengerPresenter.java b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BaseBusPassengerPresenter.java index 17adaf85d7..e3b32a6960 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BaseBusPassengerPresenter.java +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BaseBusPassengerPresenter.java @@ -137,7 +137,9 @@ public class BaseBusPassengerPresenter extends Presenter models, int haveArrivedIndex) { - runOnUIThread(() -> mView.routeResult(models,haveArrivedIndex)); + CallerLogger.INSTANCE.d(M_BUS_P + TAG, "routeResult:" + models.size() + + " haveArrivedIndex = "+haveArrivedIndex); + mView.routeResult(models,haveArrivedIndex); } @Override diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java index 193ddd3703..602792dfea 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java @@ -1,7 +1,6 @@ package com.mogo.och.bus.passenger.ui; import android.content.Context; -import android.graphics.Color; import android.os.Bundle; import android.util.AttributeSet; import android.view.LayoutInflater; @@ -71,6 +70,8 @@ public class BusPassengerMapDirectionView private List mLineMarkers = new ArrayList<>(); private IBusPassengerMapViewCallback mIBusPassengerMapViewCallback; + private BitmapDescriptor mArrivedRes; + private BitmapDescriptor mUnArrivedRes; public BusPassengerMapDirectionView(Context context) { this(context, null); @@ -133,6 +134,9 @@ public class BusPassengerMapDirectionView mEndMarker = mAMap.addMarker(new MarkerOptions() .icon(BitmapDescriptorFactory.fromResource(R.drawable.bus_p_map_view_dir_end_point))); + mArrivedRes = BitmapDescriptorFactory.fromResource(R.drawable.bus_p_map_arrow_arrived); + mUnArrivedRes = BitmapDescriptorFactory.fromResource(R.drawable.bus_p_map_arrow_un_arrive); + // 加载自定义样式 CustomMapStyleOptions customMapStyleOptions = new CustomMapStyleOptions() .setEnable(true) @@ -182,12 +186,12 @@ public class BusPassengerMapDirectionView if (location == null) { return; } - CallerLogger.INSTANCE.d(M_BUS_P + TAG, "onCarLocationChanged2 :" + location.getLatitude() + ":" + location.getLongitude()); +// CallerLogger.INSTANCE.d(M_BUS_P + TAG, "onCarLocationChanged2 :" + location.getLatitude() + ":" + location.getLongitude()); LatLng currentLatLng = new LatLng(location.getLatitude(), location.getLongitude()); //更新车辆位置 if (mCarMarker != null) { - CallerLogger.INSTANCE.d(M_BUS_P + TAG, "location.getBearing() = " + location.getBearing()); +// CallerLogger.INSTANCE.d(M_BUS_P + TAG, "location.getBearing() = " + location.getBearing()); mCarMarker.setRotateAngle(360 - location.getBearing()); mCarMarker.setPosition(currentLatLng); mCarMarker.setToTop(); @@ -202,7 +206,7 @@ public class BusPassengerMapDirectionView } boundsBuilder.include(currentLatLng); //第二个参数为四周留空宽度 - mAMap.moveCamera(CameraUpdateFactory.newLatLngBoundsRect(boundsBuilder.build(),50,50,50,50)); + mAMap.moveCamera(CameraUpdateFactory.newLatLngBoundsRect(boundsBuilder.build(),100,100,100,100)); }else { //设置希望展示的地图缩放级别 @@ -221,13 +225,15 @@ public class BusPassengerMapDirectionView } if (mAMap != null) { + addRouteColorList(); + if (mCoordinatesLatLng.size() > 2) { //设置线段纹理 PolylineOptions polylineOptions = new PolylineOptions(); polylineOptions.addAll(mCoordinatesLatLng); - polylineOptions.useGradient(true); - polylineOptions.width(10); //线段宽度 + polylineOptions.width(14); //线段宽度 + polylineOptions.setUseTexture(true); polylineOptions.lineCapType(PolylineOptions.LineCapType.LineCapRound); polylineOptions.setCustomTextureList(textureList); polylineOptions.setCustomTextureIndex(texIndexList); @@ -249,9 +255,9 @@ public class BusPassengerMapDirectionView texIndexList.clear(); for (int i = 0; i < mCoordinatesLatLng.size(); i++){ if (i <= mHaveArrivedIndex){ - textureList.add(BitmapDescriptorFactory.fromResource(R.drawable.bus_p_map_arrow_arrived)); + textureList.add(mArrivedRes); }else { - textureList.add(BitmapDescriptorFactory.fromResource(R.drawable.bus_p_map_arrow_un_arrive)); + textureList.add(mUnArrivedRes); } texIndexList.add(i); } @@ -330,7 +336,6 @@ public class BusPassengerMapDirectionView mCoordinatesLatLng.clear(); mCoordinatesLatLng.addAll(latLngs); mHaveArrivedIndex = haveArrivedIndex; - addRouteColorList(); } public void clearLineMarkers(){ diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java index 74357b47fd..a3ea8e9ebe 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java @@ -142,7 +142,6 @@ public class BusPassengerRouteFragment extends } public void routeResult(List latLngList,int haveArrivedIndex) { - CallerLogger.INSTANCE.d(M_BUS_P + TAG, "routeResult:" + latLngList.size()); if (latLngList.size() > 0) { drawablePolyline(latLngList,haveArrivedIndex); } else { diff --git a/OCH/mogo-och-bus-passenger/src/main/res/drawable/bus_p_route_bg.xml b/OCH/mogo-och-bus-passenger/src/main/res/drawable/bus_p_route_bg.xml index 73fbe1f005..94dd7c0007 100644 --- a/OCH/mogo-och-bus-passenger/src/main/res/drawable/bus_p_route_bg.xml +++ b/OCH/mogo-och-bus-passenger/src/main/res/drawable/bus_p_route_bg.xml @@ -4,8 +4,8 @@ diff --git a/OCH/mogo-och-bus-passenger/src/main/res/layout/bus_p_base_fragment.xml b/OCH/mogo-och-bus-passenger/src/main/res/layout/bus_p_base_fragment.xml index 177cea6b79..03e16a4146 100644 --- a/OCH/mogo-och-bus-passenger/src/main/res/layout/bus_p_base_fragment.xml +++ b/OCH/mogo-och-bus-passenger/src/main/res/layout/bus_p_base_fragment.xml @@ -8,7 +8,7 @@ android:id="@+id/steering_wheel" android:layout_width="@dimen/dp_490" android:layout_height="@dimen/dp_490" - android:layout_marginLeft="@dimen/dp_22" + android:layout_marginLeft="@dimen/dp_50" android:layout_marginTop="@dimen/dp_88" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -52,7 +52,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/dp_56" - android:layout_marginTop="@dimen/dp_28" + android:layout_marginTop="@dimen/dp_40" android:elevation="@dimen/dp_10" android:text="@string/bus_p_cur_station_title" android:textColor="@color/bus_p_panel_cur_txt_color" @@ -65,7 +65,7 @@ android:id="@+id/bus_p_cur_station_name" android:layout_width="@dimen/bus_p_curent_station_txt_width" android:layout_height="wrap_content" - android:layout_marginTop="@dimen/dp_10" + android:layout_marginTop="@dimen/dp_12" android:elevation="@dimen/dp_10" android:ellipsize="end" android:maxLines="1" diff --git a/OCH/mogo-och-bus-passenger/src/main/res/layout/bus_p_route_fragment.xml b/OCH/mogo-och-bus-passenger/src/main/res/layout/bus_p_route_fragment.xml index 01bff7f219..61e9d4acf9 100644 --- a/OCH/mogo-och-bus-passenger/src/main/res/layout/bus_p_route_fragment.xml +++ b/OCH/mogo-och-bus-passenger/src/main/res/layout/bus_p_route_fragment.xml @@ -7,7 +7,7 @@ stationList.size()-1){ + if (backgroundCurrentStationIndex +1 > stationList.size() - 1 ){ return; } - BusStationBean upcomingStation = stationList.get( backgroundCurrentStationIndex); + BusStationBean upcomingStation = stationList.get( backgroundCurrentStationIndex +1); double startLon = upcomingStation.getGcjLon(); double startLat = upcomingStation.getGcjLat(); diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java index d5cb01601e..fadc4ad8d1 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java @@ -165,7 +165,7 @@ public class BusPresenter extends Presenter public void onAutopilotStatusResponse(@NotNull AutopilotStatusInfo autopilotStatusInfo) { if (autopilotStatusInfo == null) return; int state = autopilotStatusInfo.getState(); - CallerLogger.INSTANCE.d(M_BUS + TAG, "onStateChange: " + state + "currentAutopilotStatus = " + currentAutopilotStatus); +// CallerLogger.INSTANCE.d(M_BUS + TAG, "onStateChange: " + state + "currentAutopilotStatus = " + currentAutopilotStatus); switch (state) { case IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE: if (currentAutopilotStatus != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE) { diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/view/SlidePanelView.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/view/SlidePanelView.java index 1433e8e88e..b9bb0b0c18 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/view/SlidePanelView.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/view/SlidePanelView.java @@ -239,10 +239,10 @@ public class SlidePanelView extends View { } private void startBlockBackAnim() { - ObjectAnimator animator = ObjectAnimator.ofInt(this, "blockOffset", blockOffset, 0); - animator.setInterpolator(new DecelerateInterpolator()); - animator.setDuration(1000 * blockOffset / getWidth()); - animator.start(); + ObjectAnimator blockBackanimator = ObjectAnimator.ofInt(this, "blockOffset", blockOffset, 0); + blockBackanimator.setInterpolator(new DecelerateInterpolator()); + blockBackanimator.setDuration(1000 * blockOffset / getWidth()); + blockBackanimator.start(); lastX = 0; } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java index 0a5042f633..06ce8ec0f4 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java @@ -194,7 +194,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback } /** - * 订单轮询 + * 订单轮询 初始化主Fragment的Presenter init 调用 */ public void startOrStopOrderLoop(){ if (NetworkUtils.isConnected(mContext)) { @@ -202,6 +202,9 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback } } + /** + * 关闭订单轮训 页面摧毁时 + */ public void release() { startOrStopOrderLoop(false); startOrStopQueryOrderRemaining(false); @@ -255,6 +258,11 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback CallLimitingVelocityListenerManager.INSTANCE.removeListener(limitingVelocityListener); } + /** + * 订单轮训 + * @param start true 开启订单轮训 + * false 关闭订单轮训 + */ private void startOrStopOrderLoop(boolean start) { CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "startOrStopOrderLoop() " + start); if (start) { @@ -505,7 +513,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback public void onAutopilotStatusResponse(@NotNull AutopilotStatusInfo autopilotStatusInfo) { if (autopilotStatusInfo == null) return; int state = autopilotStatusInfo.getState(); - CallerLogger.INSTANCE.d( M_TAXI_P + TAG, "state = %s", state ); +// CallerLogger.INSTANCE.d( M_TAXI_P + TAG, "state = %s", state ); if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) { if (mADASStatusCallback != null) mADASStatusCallback.onAutopilotRunning(); if (mCurrentOCHOrder != null @@ -671,6 +679,9 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback } } + /** + * 查询订单剩余里程和时间 + */ public void queryOrderRemaining(){ if (mCurrentOCHOrder == null) return; TaxiPassengerServiceManager.getInstance().queryOrderRemaining(mContext, mCurrentOCHOrder.orderNo, new TaxiPassengerServiceCallback() { diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModelLoopManager.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModelLoopManager.java index ee85371b35..1ce646c93c 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModelLoopManager.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModelLoopManager.java @@ -126,7 +126,9 @@ public class TaxiPassengerModelLoopManager { } } - + /** + * 轮训查下 查询订单剩余里程和时间 + */ public void startQueryOrderRemainingtLoop() { if (mQueryOrderRemainingDisposable != null && !mQueryOrderRemainingDisposable.isDisposed()) { return; diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java index fe32a0c5ca..056b46c0ff 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java @@ -119,7 +119,8 @@ public class BaseTaxiPassengerPresenter extends Presenter models, int haveArrivedIndex) { if (models == null) return; - runOnUIThread(() -> mView.routeResultByServer(models,haveArrivedIndex)); + CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "routeResultByServer:" + models.size() + + " haveArrivedIndex = " + haveArrivedIndex); + mView.routeResultByServer(models,haveArrivedIndex); } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerMapDirectionView.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerMapDirectionView.java index d7afe97db2..92c0bef6f0 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerMapDirectionView.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerMapDirectionView.java @@ -66,6 +66,9 @@ public class TaxiPassengerMapDirectionView List textureList = new ArrayList<>(); List texIndexList = new ArrayList<>(); + private BitmapDescriptor mArrivedRes; + private BitmapDescriptor mUnArrivedRes; + private ITaxiPassengerMapViewCallback mITaxiPassengerMapViewCallback; public TaxiPassengerMapDirectionView(Context context) { @@ -129,6 +132,9 @@ public class TaxiPassengerMapDirectionView mEndMarker = mAMap.addMarker(new MarkerOptions() .icon(BitmapDescriptorFactory.fromResource(R.drawable.taxi_p_map_view_dir_end))); + mArrivedRes = BitmapDescriptorFactory.fromResource(R.drawable.taxi_p_map_arrow_arrived); + mUnArrivedRes = BitmapDescriptorFactory.fromResource(R.drawable.taxi_p_map_arrow_un_arrive); + // 加载自定义样式 CustomMapStyleOptions customMapStyleOptions = new CustomMapStyleOptions() .setEnable(true) @@ -189,7 +195,7 @@ public class TaxiPassengerMapDirectionView boundsBuilder.include(endLatLng); //第二个参数为四周留空宽度 mAMap.moveCamera(CameraUpdateFactory.newLatLngBoundsRect(boundsBuilder.build(), 100,100,100,100)); - CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "onCarLocationChanged2--moveCamera :" + location.getLatitude()+", "+location.getLongitude()); +// CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "onCarLocationChanged2--moveCamera :" + location.getLatitude()+", "+location.getLongitude()); } else { //设置希望展示的地图缩放级别 @@ -234,15 +240,13 @@ public class TaxiPassengerMapDirectionView } if (mAMap != null) { -// addRouteColorList(); + addRouteColorList(); if (mCoordinatesLatLng.size() > 2) { //设置线段纹理 PolylineOptions polylineOptions = new PolylineOptions(); polylineOptions.addAll(mCoordinatesLatLng); - //polylineOptions.colorValues(colorList); // 1FC3FF -> 57ABFF - //加上这个属性,表示使用渐变线 - //polylineOptions.useGradient(true); + polylineOptions.setUseTexture(true); polylineOptions.width(15); polylineOptions.lineCapType(PolylineOptions.LineCapType.LineCapRound); polylineOptions.setCustomTextureList(textureList); @@ -263,15 +267,10 @@ public class TaxiPassengerMapDirectionView textureList.clear(); texIndexList.clear(); for (int i = 0; i < mCoordinatesLatLng.size(); i++){ -// if (i <= mCoordinatesLatLng.size()/2){ -// colorList.add(Color.argb(255, 31, 195, 255));//start -// }else { -// colorList.add(Color.argb(255, 87, 171, 255));//end -// } if (i <= mHaveArrivedIndex){ - textureList.add(BitmapDescriptorFactory.fromResource(R.drawable.taxi_p_map_arrow_arrived)); + textureList.add(mArrivedRes); }else { - textureList.add(BitmapDescriptorFactory.fromResource(R.drawable.taxi_p_map_arrow_un_arrive)); + textureList.add(mUnArrivedRes); } texIndexList.add(i); } @@ -360,7 +359,6 @@ public class TaxiPassengerMapDirectionView mCoordinatesLatLng.clear(); mCoordinatesLatLng.addAll(latLngs); mHaveArrivedIndex = haveArrivedIndex; - addRouteColorList(); } @Override diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerServingOrderFragment.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerServingOrderFragment.java index 1232fbaf33..e15ffbf4b0 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerServingOrderFragment.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerServingOrderFragment.java @@ -22,7 +22,6 @@ import androidx.fragment.app.FragmentTransaction; import com.amap.api.maps.model.LatLng; import com.mogo.commons.mvp.MvpFragment; -import com.mogo.eagle.core.data.map.MogoLatLng; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; @@ -229,7 +228,6 @@ public class TaxiPassengerServingOrderFragment extends } public void routeResultByServer(List latLngList,int haveArrivedIndex) { - CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "routeResultByServer:" + latLngList.size()); if (latLngList.size() > 0) { drawablePolylineByServerRoute(latLngList,haveArrivedIndex); } else { diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerStartAutopilotView.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerStartAutopilotView.java index 41146e5982..5d8aba7836 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerStartAutopilotView.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerStartAutopilotView.java @@ -37,8 +37,9 @@ public class TaxiPassengerStartAutopilotView extends RelativeLayout implements V private static final long TIMER_START_AUTOPILOT_INTERVAL = 20 * 1000L; private Context mContext; private View view; - private FrameSurfaceView svCarStartingFrame; private AnimatorDrawableUtil mAnimationDrawable ; + private AnimatorDrawableUtil mCarAnimationDrawable ; + private ImageView mCarIv; private Integer[] startingAnimIds = new Integer[]{ R.drawable.light_00000, R.drawable.light_00001, @@ -98,6 +99,7 @@ public class TaxiPassengerStartAutopilotView extends RelativeLayout implements V mCloseIV.setOnClickListener(this); mAutopilotBtnBg = view.findViewById(R.id.taxi_p_autopilot_btn_bg); + mCarIv = view.findViewById(R.id.taxi_p_autopilot_starting); initBtnAnimatonDrawable(); @@ -105,9 +107,8 @@ public class TaxiPassengerStartAutopilotView extends RelativeLayout implements V } private void initCarStartingFrame() { - svCarStartingFrame = view.findViewById(R.id.taxi_p_autopilot_starting); - svCarStartingFrame.setBitmapIds(Arrays.asList(startingAnimIds)); - svCarStartingFrame.setDuration(1300); + mCarAnimationDrawable = new AnimatorDrawableUtil(); + mCarAnimationDrawable.setAnimation(mCarIv,Arrays.asList(startingAnimIds)); } private void initBtnAnimatonDrawable() { @@ -143,8 +144,8 @@ public class TaxiPassengerStartAutopilotView extends RelativeLayout implements V @SuppressLint("UseCompatLoadingForDrawables") public void handleStartAutopilotBtnStatus(boolean isClickable){ - if (svCarStartingFrame != null){ - svCarStartingFrame.setBackgroundResource(R.drawable.light_00000); + if (mCarIv != null){ + mCarIv.setBackgroundResource(R.drawable.light_00000); } if (mStartAutopilotBtn == null) return; @@ -178,7 +179,7 @@ public class TaxiPassengerStartAutopilotView extends RelativeLayout implements V if (isStart){ if (mAnimationDrawable == null){ - + initBtnAnimatonDrawable(); } if (mAnimationDrawable != null){ mAnimationDrawable.start(true, 30, null); @@ -189,17 +190,18 @@ public class TaxiPassengerStartAutopilotView extends RelativeLayout implements V } private void startingCarBgAnimatorDrawable(boolean isStart){ - if (isStart && svCarStartingFrame != null){ - svCarStartingFrame.setRepeatTimes(-1); - svCarStartingFrame.setBackground(null); - svCarStartingFrame.start(); - }else { - if (svCarStartingFrame != null){ - svCarStartingFrame.reset(); - svCarStartingFrame.setBackgroundResource(R.drawable.light_00000); + if (isStart){ + if (mCarAnimationDrawable == null){ + initCarStartingFrame(); } + mCarIv.setBackgroundResource(0); + mCarAnimationDrawable.start(true,40, null); + }else { + if (mCarAnimationDrawable != null){ + mCarAnimationDrawable.stop(); + } + mCarIv.setBackgroundResource(R.drawable.light_00000); } - } public void startOrStopLoadingAnim(boolean start) { @@ -234,10 +236,9 @@ public class TaxiPassengerStartAutopilotView extends RelativeLayout implements V } public void clearStartingAnimFrame(){ - if (svCarStartingFrame != null){ - svCarStartingFrame.destroy(); + if (mCarAnimationDrawable != null){ + mCarAnimationDrawable.stop(); } - svCarStartingFrame = null; } public void onAutopilotStatusSuccess(){ startOrStopLoadingAnim(false); diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/LeftMenuOpen.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/LeftMenuOpen.kt index 42f4bfdf75..18e823eb47 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/LeftMenuOpen.kt +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/LeftMenuOpen.kt @@ -17,6 +17,9 @@ import com.mogo.och.taxi.passenger.mulprocess.BinderCursor import com.mogo.och.taxi.passenger.mulprocess.BinderProvider import com.mogo.och.taxi.passenger.mulprocess.ICallback import com.mogo.och.taxi.passenger.mulprocess.ILeftMenuService +import rx.Observable +import rx.Observer +import rx.schedulers.Schedulers @SuppressLint("StaticFieldLeak") @@ -38,6 +41,11 @@ object LeftMenuOpen { private var icallbacks: RemoteCallbackList = RemoteCallbackList() + var checkIndex = OverlayLeftViewUtils.LIVE + private var lastClickTime = 0L + private const val FAST_CLICK_DELAY_TIME = 1000 // 防止事件发送过快 + + fun setValue( windowView: View, wl: WindowManager.LayoutParams?, @@ -70,7 +78,8 @@ object LeftMenuOpen { val iterator = dragList.iterator() while (iterator.hasNext()) { val next = iterator.next() - unRegisterDragView(next) + unRegisterDragView(next,false) + iterator.remove() } } @@ -169,8 +178,10 @@ object LeftMenuOpen { } } - fun unRegisterDragView(view: View?) { - dragList.remove(view) + fun unRegisterDragView(view: View?,remove:Boolean) { + if(remove) { + dragList.remove(view) + } view?.let { it.setOnTouchListener(null) it.setOnClickListener(null) @@ -220,15 +231,29 @@ object LeftMenuOpen { } fun callCallBack(meters: Long,timeInSecond: Long,speed:Float){ - val len = icallbacks.beginBroadcast() - for (i in 0 until len) { - try { - icallbacks.getBroadcastItem(i).onResult(meters,timeInSecond,speed) - } catch (e: RemoteException) { - e.printStackTrace() + if(checkIndex == OverlayLeftViewUtils.CONSULT||checkIndex == OverlayLeftViewUtils.MOVIE) { + if (System.currentTimeMillis() - lastClickTime < FAST_CLICK_DELAY_TIME){ + return } + lastClickTime = System.currentTimeMillis() + + Observable.empty().subscribeOn(Schedulers.io()) + .subscribe(object : Observer { + override fun onCompleted() { + val len = icallbacks.beginBroadcast() + for (i in 0 until len) { + try { + icallbacks.getBroadcastItem(i).onResult(meters, timeInSecond, speed) + } catch (e: RemoteException) { + e.printStackTrace() + } + } + icallbacks.finishBroadcast() + } + override fun onError(e: Throwable?) {} + override fun onNext(t: String?) {} + }) } - icallbacks.finishBroadcast() } fun invoKeyByEventType(typeID:Int){ diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/OverlayLeftViewUtils.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/OverlayLeftViewUtils.kt index bb083da531..50a5e225b5 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/OverlayLeftViewUtils.kt +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/leftmenu/OverlayLeftViewUtils.kt @@ -105,6 +105,7 @@ object OverlayLeftViewUtils { val liveSelected = object :ListAdapter.OnTabSelectListener{ override fun onSelect(isCurrentProcess:Boolean) { + LeftMenuOpen.checkIndex = LIVE if(isCurrentProcess) { close(view, windowManager) }else { @@ -124,6 +125,7 @@ object OverlayLeftViewUtils { val overViewSelected = object :ListAdapter.OnTabSelectListener{ override fun onSelect(isCurrentProcess:Boolean) { + LeftMenuOpen.checkIndex = OVERVIEW if(isCurrentProcess) { close(view, windowManager) }else { @@ -143,6 +145,7 @@ object OverlayLeftViewUtils { val consultSelect = object :ListAdapter.OnTabSelectListener{ override fun onSelect(isCurrentProcess:Boolean) { + LeftMenuOpen.checkIndex = CONSULT if(isCurrentProcess) { close(view, windowManager) //计算订单起点和终点距离 @@ -154,6 +157,7 @@ object OverlayLeftViewUtils { val entertainmentSelect = object :ListAdapter.OnTabSelectListener{ override fun onSelect(isCurrentProcess:Boolean) { + LeftMenuOpen.checkIndex = MOVIE if(isCurrentProcess) { close(view, windowManager) val sumDis = SharedPrefsMgr.getInstance(context).getInt(TaxiPassengerConst.SP_KEY_ORDER_SUM_DIS, 0) @@ -178,6 +182,9 @@ object OverlayLeftViewUtils { windowManager!!.addView(overlayView, params) checkProcess() isShowing = true + } catch (e: WindowManager.BadTokenException) { + isShowing = true; + dismissOverlayView(false) } catch (e: Exception) { e.printStackTrace() } @@ -260,7 +267,7 @@ object OverlayLeftViewUtils { } fun removeDragTarget(view: View?){ - LeftMenuOpen.unRegisterDragView(view) + LeftMenuOpen.unRegisterDragView(view,true) } /** @@ -365,6 +372,10 @@ object OverlayLeftViewUtils { } } + fun getStatus():Boolean{ + return isShowing + } + /** * 移除覆盖View在Activity上面 */ @@ -387,7 +398,12 @@ object OverlayLeftViewUtils { try { if (windowManager != null && overlayView != null) { windowManager!!.removeViewImmediate(overlayView) + params = null + } + if(windowManager!=null){ windowManager = null + } + if(params!=null){ params = null } if (overlayView!=null) { diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/VideoActivity.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/VideoActivity.kt index 2863f1e589..d3da306254 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/VideoActivity.kt +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/video/VideoActivity.kt @@ -16,10 +16,10 @@ import com.mogo.och.common.module.utils.NumberFormatUtil import com.mogo.och.taxi.passenger.R import com.mogo.och.taxi.passenger.bean.TaxiPassengerVideoPlay import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst +import com.mogo.och.taxi.passenger.event.FinishActivity import com.mogo.och.taxi.passenger.mulprocess.ICallback import com.mogo.och.taxi.passenger.ui.leftmenu.LeftMenuOpen import com.mogo.och.taxi.passenger.ui.leftmenu.OverlayLeftViewUtils -import com.mogo.och.taxi.passenger.event.FinishActivity import com.mogo.och.taxi.passenger.ui.video.layoutmanage.CarouselLayoutManager import com.mogo.och.taxi.passenger.ui.video.layoutmanage.CarouselZoomPostLayoutListener import com.mogo.och.taxi.passenger.ui.video.layoutmanage.CenterScrollListener @@ -33,7 +33,14 @@ import com.shuyu.gsyvideoplayer.video.base.GSYVideoView import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode -import java.util.* +import rx.Observable +import rx.Observer +import rx.Subscription +import rx.android.schedulers.AndroidSchedulers +import rx.schedulers.Schedulers +import java.util.Calendar +import java.util.concurrent.TimeUnit +import kotlin.collections.ArrayList import kotlin.math.floor @@ -44,6 +51,7 @@ class VideoActivity : AppCompatActivity() { private lateinit var clContain: ConstraintLayout private lateinit var acivTitleIcon: AppCompatImageView private lateinit var tvTitle: TextView + private var subscribe: Subscription?=null private val arrayListOf = ArrayList() @@ -297,7 +305,7 @@ class VideoActivity : AppCompatActivity() { acivTitleIcon = findViewById(R.id.aciv_title_icon) tvTitle = findViewById(R.id.tv_mogo_consult) acivTitleIcon.setOnClickListener { - finish() + //finish() } } @@ -344,7 +352,25 @@ class VideoActivity : AppCompatActivity() { } } - + subscribe = Observable.interval(0, 8, TimeUnit.SECONDS) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(object : Observer { + override fun onCompleted() {} + override fun onError(e: Throwable?) {} + override fun onNext(t: Long?) { + if (!OverlayLeftViewUtils.getStatus()) { + when (videotype){ + VIDEOTYPE_CONSULT -> { + OverlayLeftViewUtils.showOverlayView(this@VideoActivity,isOpen = false, checkIndex = OverlayLeftViewUtils.CONSULT) + } + VIDEOTYPE_MOIES -> { + OverlayLeftViewUtils.showOverlayView(this@VideoActivity,isOpen = false, checkIndex = OverlayLeftViewUtils.MOVIE) + } + } + } + } + }) } override fun onPause() { @@ -361,6 +387,11 @@ class VideoActivity : AppCompatActivity() { } } } + subscribe?.let { + if(it.isUnsubscribed){ + it.unsubscribe() + } + } } @Subscribe(threadMode = ThreadMode.MAIN) diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-v29/taxi_video_order_process.xml b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-v29/taxi_video_order_process.xml new file mode 100644 index 0000000000..7575e2073b --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-v29/taxi_video_order_process.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-v29/taxi_video_seekbar_style.xml b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-v29/taxi_video_seekbar_style.xml new file mode 100644 index 0000000000..aa3e77ed6e --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-v29/taxi_video_seekbar_style.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_video_order_process.xml b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_video_order_process.xml index b3c6d5d088..44c6941d9c 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_video_order_process.xml +++ b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_video_order_process.xml @@ -17,7 +17,7 @@ - + diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_video_seekbar_style.xml b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_video_seekbar_style.xml index 597931f974..203d9a5332 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_video_seekbar_style.xml +++ b/OCH/mogo-och-taxi-passenger/src/main/res/drawable/taxi_video_seekbar_style.xml @@ -17,7 +17,7 @@ - + diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_start_autopilot_view.xml b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_start_autopilot_view.xml index aefbd0fe6d..3416786abb 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_start_autopilot_view.xml +++ b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_start_autopilot_view.xml @@ -7,7 +7,7 @@ android:background="@drawable/taxi_p_passenger_start_panel_bg" tools:ignore="MissingDefaultResource"> - "); //如果2分钟内频繁调,需要拦截,业务导致的会多次请求工控机信息 if (HmiBuildConfig.isShowSnBindingView) { if (currentHour - oldHour > 1) { @@ -108,7 +107,6 @@ public class BindingcarProvider implements IMoGoBindingcarProvider { private void passengerScreen(String macAddress, String widevineIDWithMd5) { long currentHour = System.currentTimeMillis() / (1000 * 60); long oldHour = SharedPrefsMgr.getInstance(mContext).getLong("typePassenger", 0); - Log.d("liyz", "passengerScreen --------> "); //如果2分钟内频繁调,需要拦截,业务导致的会多次请求工控机信息 if (HmiBuildConfig.isShowSnBindingView) { if (currentHour - oldHour > 1) { diff --git a/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/network/BindingcarNetWorkManager.java b/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/network/BindingcarNetWorkManager.java index d9ea6a223b..0a0fa8c38e 100644 --- a/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/network/BindingcarNetWorkManager.java +++ b/core/function-impl/mogo-core-function-bindingcar/src/main/java/com/mogo/eagle/core/function/bindingcar/network/BindingcarNetWorkManager.java @@ -62,7 +62,6 @@ public class BindingcarNetWorkManager { public void getBindingcarInfo(Context context, String macAddress, String widevineIDWithMd5, int screenType) { // String macAddress = "48:b0:2d:3a:bc:78"; // String sn = "X20202203105S688HZ"; - Log.d("liyz", "macAddress = " + macAddress + "----widevineIDWithMd5 = " + widevineIDWithMd5); BindingcarRequest request = new BindingcarRequest(macAddress, widevineIDWithMd5, screenType); RequestBody requestBody = RequestBody.create(MediaType.get("application/json;charset=UTF-8"), GsonUtil.jsonFromObject(request)); mBindingcarApiService.getBindingcarInfo(token, requestBody) @@ -77,7 +76,6 @@ public class BindingcarNetWorkManager { public void onNext(@NonNull BindingcarInfo info) { if (info != null && info.getData() != null) { CallerLogger.INSTANCE.d(TAG, "getBindingcarInfo onNext info.getData() =" + info.getData().toString()); - Log.d("liyz", "getBindingcarInfo onNext info.getData() =" + info.getData().toString()); if (info.getData().getCompare().equals("0")) { CallerHmiManager.INSTANCE.showBindingcarDialog(); } else if (info.getData().getCompare().equals("3")) { @@ -104,7 +102,6 @@ public class BindingcarNetWorkManager { @Override public void onError(@NonNull Throwable e) { CallerLogger.INSTANCE.e(TAG, "getBindingcarInfo onError e = " + e.toString() + "---e.getMessage = " + e.getMessage()); - Log.e("liyz", "getBindingcarInfo onError e = " + e.toString() + "---e.getMessage = " + e.getMessage()); } @Override diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt index 387f7212b8..f483cb7346 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt @@ -11,7 +11,6 @@ import com.mogo.eagle.core.data.deva.scene.SceneModule import com.mogo.eagle.core.data.deva.scene.SceneTAG import com.mogo.eagle.core.function.api.devatools.IDevaToolsProvider import com.zhjt.mogo_core_function_devatools.badcase.BadCaseManager -import com.zhjt.mogo_core_function_devatools.feedback.FeedbackManager import com.zhjt.mogo_core_function_devatools.logcatch.MogoLogCatchManager import com.zhjt.mogo_core_function_devatools.scene.SceneManager.Companion.sceneManager import com.zhjt.mogo_core_function_devatools.status.* @@ -103,8 +102,8 @@ class DevaToolsProvider : IDevaToolsProvider { upgradeManager.downLoadPackage(mContext!!, downloadKey,downloadUrl) } - override fun showStatusBar(ctx: Context) { - StatusManager.init(ctx) + override fun showStatusBar(ctx: Context, anchor: View) { + StatusManager.init(ctx, anchor) StatusManager.show() } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/InitiativeBadCaseWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/InitiativeBadCaseWindow.kt index 68670208ff..ef5e535cba 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/InitiativeBadCaseWindow.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/InitiativeBadCaseWindow.kt @@ -27,6 +27,7 @@ import com.mogo.eagle.core.utilcode.util.TimeUtils import com.mogo.eagle.core.utilcode.util.TimeUtils.millis2String import com.zhidao.loglib.call.LogInfoManagerFactory import com.zhidao.loglib.upload.OnUploadListener +import com.zhidao.loglib.upload.UploadManager import com.zhjt.mogo_core_function_devatools.R import com.zhjt.mogo_core_function_devatools.badcase.consts.BadCaseConfig import com.zhjt.mogo_core_function_devatools.badcase.record.RecordManager @@ -247,12 +248,16 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList object : OnUploadListener { override fun onUploadSuccess(filePath: String, downloadUrl: String) { CallerLogger.d("$M_DEVA$TAG", "语音文件上传成功:downloadUrl=$downloadUrl") + //将语音文件上传Cos监听移除 + removeUploadListener(singlePath) //上传到服务器 upload(downloadUrl) } override fun onUploadFail(filePath: String) { TipToast.shortTip("上传语音文件失败") + //将语音文件上传Cos监听移除 + removeUploadListener(singlePath) } }) }else{ @@ -261,6 +266,19 @@ class InitiativeBadCaseWindow constructor(activity: Activity) : View.OnTouchList } } + /** + * 将语音文件上传Cos监听移除 + * @param filePath 文件路径 + */ + private fun removeUploadListener(filePath: String){ + val pkgInfo: List = filePath.substring( + filePath.lastIndexOf("/") + 1, + filePath.lastIndexOf(".") + ).split("_") + val pkgName = if (pkgInfo.size == 3) pkgInfo[1] else "" + UploadManager.getInstance().removeUploadListener(pkgName) + } + /** * 将记录上传到服务器 * @param downloadUrl 语音文件下载地址 diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kt index 55693b0086..3a68cd603a 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/biz/PassiveBadCaseWindow.kt @@ -17,7 +17,6 @@ import com.google.android.flexbox.FlexboxLayout import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.eagle.core.data.app.AppConfigInfo import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotCarStateListener -import androidx.lifecycle.lifecycleScope import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotCarStatusListenerManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA @@ -35,7 +34,7 @@ import com.zhjt.mogo_core_function_devatools.badcase.record.RecordManager import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import mogo.telematics.pad.MessagePad -import com.mogo.eagle.core.utilcode.kotlin.* +import com.zhidao.loglib.upload.UploadManager import java.io.File import java.lang.reflect.Field @@ -198,12 +197,16 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene object : OnUploadListener { override fun onUploadSuccess(filePath: String, downloadUrl: String) { CallerLogger.d("$M_DEVA$TAG", "语音文件上传成功:downloadUrl=$downloadUrl") + //将语音文件上传Cos监听移除 + removeUploadListener(singlePath) //上传到服务器 upload(downloadUrl) } override fun onUploadFail(filePath: String) { TipToast.shortTip("上传语音文件失败") + //将语音文件上传Cos监听移除 + removeUploadListener(singlePath) } }) }else{ @@ -212,6 +215,19 @@ class PassiveBadCaseWindow constructor(activity: Activity) : View.OnTouchListene } } + /** + * 将语音文件上传Cos监听移除 + * @param filePath 文件路径 + */ + private fun removeUploadListener(filePath: String){ + val pkgInfo: List = filePath.substring( + filePath.lastIndexOf("/") + 1, + filePath.lastIndexOf(".") + ).split("_") + val pkgName = if (pkgInfo.size == 3) pkgInfo[1] else "" + UploadManager.getInstance().removeUploadListener(pkgName) + } + /** * 将记录上传到服务器 * @param downloadUrl 语音文件下载地址 diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/env/EnvChangeManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/env/EnvChangeManager.kt index ebbcc2ee06..a0058e016e 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/env/EnvChangeManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/env/EnvChangeManager.kt @@ -33,9 +33,7 @@ object EnvChangeManager { fun getCityName(): String { val cache = getConfig() return if (cache == null) { - val cityCode = CallerMapLocationListenerManager.getCurrentLocation()?.cityCode ?: SharedPrefsMgr.getInstance(Utils.getApp()).getString(SharedPrefsConstants.LOCATION_CITY_CODE) ?: "010" - updateCityCode(cityCode) - when(cityCode) { + when(CallerMapLocationListenerManager.getCurrentLocation()?.cityCode ?: SharedPrefsMgr.getInstance(Utils.getApp()).getString(SharedPrefsConstants.LOCATION_CITY_CODE) ?: "010") { "010" -> "北京" "0734" -> "衡阳" else -> "未知" @@ -51,17 +49,15 @@ object EnvChangeManager { fun getNetMode(): String { val cache = getConfig() - if (cache == null) { - val mode = DebugConfig.getNetMode() - updateNetMode(mode) - return when(mode) { + return if (cache == null) { + when(DebugConfig.getNetMode()) { DebugConfig.NET_MODE_RELEASE -> "生产" DebugConfig.NET_MODE_QA -> "测试" DebugConfig.NET_MODE_DEMO -> "演示" else -> "未知" } } else { - return when(cache.second) { + when(cache.second) { DebugConfig.NET_MODE_RELEASE -> "生产" DebugConfig.NET_MODE_QA -> "测试" DebugConfig.NET_MODE_DEMO -> "演示" diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/ext/Extentions.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/ext/Extentions.kt index 64e6279d23..3246a6f238 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/ext/Extentions.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/ext/Extentions.kt @@ -144,7 +144,7 @@ fun Context.enqueuePop(content: View, width: Int, height: Int, key: String = "", @SuppressLint("ClickableViewAccessibility") -fun Context.normalPop(content: View, width: Int, height: Int, startX: Int = 0, startY: Int = 0, gravity: Int = Gravity.START, onOuterViewClicked:((focus: View) -> Unit)? = null, isFocusable: Boolean = true): () -> Unit { +fun Context.normalPop(content: View, width: Int, height: Int, startX: Int = 0, startY: Int = 0, gravity: Int = Gravity.START, onOuterViewClicked:((focus: View) -> Unit)? = null, isFocusable: Boolean = true): PopupWindow? { val activity = (this as? FragmentActivity) ?: throw IllegalStateException("please use Activity to trigger pop show.") val isImmersiveMode = BarUtils.isImmersiveMode(activity) var tempPop: PopupWindow? = null @@ -192,7 +192,7 @@ fun Context.normalPop(content: View, width: Int, height: Int, startX: Int = 0, s it.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) } if (VERSION.SDK_INT >= VERSION_CODES.M) { - val transition = Slide(gravity).also { + val transition = Slide(if ((gravity and Gravity.START) != 0) Gravity.START else if ((gravity and Gravity.TOP) != 0) Gravity.TOP else if ((gravity and Gravity.END) != 0) Gravity.END else if ((gravity and Gravity.BOTTOM) != 0) Gravity.BOTTOM else throw AssertionError("gravity is not invalid.")).also { it.interpolator = AccelerateDecelerateInterpolator() it.duration = 200 } @@ -202,16 +202,14 @@ fun Context.normalPop(content: View, width: Int, height: Int, startX: Int = 0, s pop.contentView = content decorView.doOnAttach { try { - pop.showAtLocation(it, gravity, startX, if (isImmersiveMode) 0 else BarUtils.getStatusBarHeight() + startY) + pop.showAtLocation(it, gravity, startX, (if (isImmersiveMode) 0 else BarUtils.getStatusBarHeight()) + startY) tempPop = pop } catch (t: Throwable) { t.printStackTrace() } } } - return { - tempPop?.takeIf { it.isShowing }?.dismiss() - } + return tempPop } fun isVisibleOnPoint(content: View, x: Int, y: Int): Boolean { diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/scene/SceneManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/scene/SceneManager.kt index 4f2a447d0b..14f87bb3e6 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/scene/SceneManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/scene/SceneManager.kt @@ -9,6 +9,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.mogo.logger.scene.Scene.Companion.scene import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ADAS_IMPL import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_CHAT import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_MAP @@ -28,6 +29,7 @@ class SceneManager { companion object { private const val ADAS = "ADAS" + private const val CALLCHAT = "CALLCHAT" private const val DEVA = "DEVA" private const val HMI = "HMI" private const val OBU = "OBU" @@ -51,6 +53,7 @@ class SceneManager { init { //过滤所需条件 sceneModuleTAG.map[ADAS] = SceneModule(true, M_ADAS_IMPL) + sceneModuleTAG.map[CALLCHAT] = SceneModule(false, M_CHAT) sceneModuleTAG.map[DEVA] = SceneModule(false, M_DEVA) sceneModuleTAG.map[HMI] = SceneModule(false, M_HMI) sceneModuleTAG.map[OBU] = SceneModule(false, M_OBU) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt index 649715fb79..177854b555 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt @@ -3,6 +3,7 @@ package com.zhjt.mogo_core_function_devatools.status import android.content.* import android.view.* import android.view.WindowManager.LayoutParams +import android.widget.* import androidx.core.view.* import androidx.lifecycle.* import androidx.lifecycle.Lifecycle.Event @@ -11,8 +12,7 @@ import androidx.lifecycle.Lifecycle.Event.ON_DESTROY import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.* import com.mogo.eagle.core.utilcode.kotlin.* -import com.mogo.eagle.core.utilcode.util.AppStateManager -import com.mogo.eagle.core.utilcode.util.IAppStateListener +import com.mogo.eagle.core.utilcode.util.* import com.zhjt.mogo_core_function_devatools.ext.* import com.zhjt.mogo_core_function_devatools.status.entity.CanStatus import com.zhjt.mogo_core_function_devatools.status.entity.GpsStatus @@ -41,14 +41,19 @@ object StatusManager { private lateinit var model: StatusModel - private var hidePop: (() -> Unit)? = null + private var pop: PopupWindow? = null private var timer: Job? = null private var context: WeakReference? = null + private var anchor: WeakReference? = null + private var hasInit = false + private var oldX = 0 + private var oldY = 0 + private val listener = object : IMoGoAutopilotStatusListener { override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) { super.onAutopilotGuardian(guardianInfo) @@ -88,7 +93,7 @@ object StatusManager { } } - fun init(ctx: Context) { + fun init(ctx: Context, anchor: View) { if (hasInit) { return } @@ -106,6 +111,25 @@ object StatusManager { } }) context = WeakReference(ctx) + anchor.viewTreeObserver.addOnGlobalLayoutListener { + anchor.getLocationInWindow(IntArray(2).also { + val currentX = it[0] + val currentY = it[1] + var changed = false + if (oldX != currentX) { + oldX = currentX + changed = true + } + if (oldY != currentY) { + changed = true + oldY = currentY + } + if (changed && pop?.isShowing == true) { + pop?.update(getOffsetX(currentX), currentY + 130.PX, -1, -1) + } + }) + } + this.anchor = WeakReference(anchor) } private fun onCreate(ctx: Context) { @@ -133,20 +157,29 @@ object StatusManager { } fun show() { + val anchor = this.anchor?.get() ?: return context?.get()?.also { ctx -> - hidePop?.invoke() + pop?.takeIf { it.isShowing }?.dismiss() val content = StatusView(model, ctx) content.doOnAttach { for (f in flows) { f.onCreate() } } - ctx.normalPop(content, width = 665.PX, height = LayoutParams.WRAP_CONTENT, gravity = Gravity.END, startX = 55.PX, isFocusable = false).also { hidePop = it } + val out = IntArray(2) + anchor.getLocationInWindow(out) + ctx.normalPop(content, width = LayoutParams.WRAP_CONTENT, height = LayoutParams.WRAP_CONTENT, gravity = Gravity.END or Gravity.TOP, startX = getOffsetX(out[0]), startY = out[1] + 130.PX , isFocusable = false)?.also { + pop = it + } } } + private fun getOffsetX(anchorX: Int): Int { + return ScreenUtils.getScreenWidth() - anchorX + 40.PX + } + fun hide() { - hidePop?.invoke() + pop?.takeIf { it.isShowing }?.dismiss() } private fun onDestroy(ctx: Context) { @@ -158,6 +191,6 @@ object StatusManager { it.onDestroy() } flows.clear() - hidePop?.invoke() + pop?.takeIf { it.isShowing }?.dismiss() } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kt index 7c9013a2dd..0adf523bb6 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kt @@ -59,15 +59,14 @@ internal class StatusView(private val model: StatusModel, ctx: Context): Constra moveDuration = 0 removeDuration = 0 } - itx.layoutManager = GridLayoutManager(context, 3, GridLayoutManager.VERTICAL, false) + itx.layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false) itx.background = shape(solid = Color.parseColor("#80000000"), radius = 40.PX) itx.addItemDecoration( CommonDividerItemDecoration.Builder() - .horizontalExternalSpace(66.PX) - .verticalExternalSpace(60.PX) - .spanCountTBCare(false) - .verticalInnerSpace(50.PX) - .horizontalInnerSpace(116.PX) + .horizontalExternalSpace(38.PX) + .verticalExternalSpace(30.PX) + .spanCountLRCare(false) + .horizontalInnerSpace(50.PX) .build() ) val adapter = model.status.value?.let { data -> StatusAdapter(context, data.second) }?.also { adapter -> itx.adapter = adapter } @@ -92,7 +91,6 @@ internal class StatusView(private val model: StatusModel, ctx: Context): Constra } private fun animate(expand: Boolean) { - iv.animate().rotation(if (expand) 0f else -180f).setDuration(200).start() TransitionManager.beginDelayedTransition(this, AutoTransition().setDuration(200)) rv.visibility = if (expand) View.VISIBLE else View.INVISIBLE } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/adapter/StatusAdapter.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/adapter/StatusAdapter.kt index 4aa4d23e0b..c502a25195 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/adapter/StatusAdapter.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/adapter/StatusAdapter.kt @@ -5,7 +5,10 @@ import android.view.* import android.widget.* import androidx.core.content.* import androidx.recyclerview.widget.* +import com.mogo.eagle.core.utilcode.kotlin.* +import com.mogo.eagle.core.utilcode.util.* import com.zhjt.mogo_core_function_devatools.* +import com.zhjt.mogo_core_function_devatools.R import com.zhjt.mogo_core_function_devatools.R.drawable import com.zhjt.mogo_core_function_devatools.status.entity.* import com.zhjt.mogo_core_function_devatools.status.entity.IpcStatus @@ -30,11 +33,10 @@ internal class StatusAdapter(val ctx: Context, var data: ArrayList): Rec itemView.findViewById(R.id.iv) } - private val tv: TextView by lazy { - itemView.findViewById(R.id.tv) - } - fun bind(status: Status) { + itemView.onClick { + ToastUtils.showShort(getText(status)) + } when(status) { is IpcStatus -> { if (status.enabled) { @@ -42,7 +44,6 @@ internal class StatusAdapter(val ctx: Context, var data: ArrayList): Rec } else { iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_ipc_disable) } - tv.text = "工控机" } is CanStatus -> { if (status.enabled) { @@ -50,15 +51,12 @@ internal class StatusAdapter(val ctx: Context, var data: ArrayList): Rec } else { iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_can_disable) } - tv.text = "CAN" } is NetStatus -> { if (status.enabled) { iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_net_enable) - tv.text = status.name ?: "WI-FI" } else { iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_net_disable) - tv.text = "WI-FI" } } is GpsStatus -> { @@ -67,21 +65,17 @@ internal class StatusAdapter(val ctx: Context, var data: ArrayList): Rec } else { iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_gps_disable) } - tv.text = "GPS" } is TracingStatus -> { when(status.state) { ROUTE_FAILED, TRACK_LOAD_FAIL, TRACK_NOT_EXIST, TRACK_FINDED, UNKNOWN -> { iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_trace_unkown) - tv.text = "未知" } TRACK_LOADED -> { iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_track_enable) - tv.text = "T" } ROUTE_LOADED -> { iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_route_enable) - tv.text = "V" } } } @@ -91,9 +85,17 @@ internal class StatusAdapter(val ctx: Context, var data: ArrayList): Rec } else { iv.background = ContextCompat.getDrawable(itemView.context, drawable.icon_dev_status_rtk_disable) } - tv.text = status.desc } } } + + private fun getText(status: Status): String = when(status) { + is CanStatus -> "CAN:${ if (status.enabled) "状态正常" else "非正常连接" }" + is GpsStatus -> "GPS:${ if (status.enabled) "状态正常" else "非正常连接" }" + is IpcStatus -> "工控机:${ if (status.enabled) "状态正常" else "非正常连接" }" + is NetStatus -> "WIFI:${ if (status.enabled) "${status.name}" else "非正常连接" }" + is RTKStatus -> "${status.desc.uppercase()}:${ if (status.enabled) "状态正常" else "非正常连接" }" + is TracingStatus -> "轨迹类型:${ if (status.state == TRACK_LOADED) "循迹" else if (status.state == ROUTE_LOADED) "自主算路" else "暂无轨迹" }" + } } } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_un_fold.png b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_un_fold.png index 5bd76829ae..290ecce308 100644 Binary files a/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_un_fold.png and b/core/function-impl/mogo-core-function-devatools/src/main/res/drawable-xxhdpi/icon_dev_status_un_fold.png differ diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_status_bar.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_status_bar.xml index 4b6a95baf4..baecaea7f1 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_status_bar.xml +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_status_bar.xml @@ -8,22 +8,24 @@ + app:layout_constraintEnd_toStartOf="@+id/iv" + app:layout_constraintTop_toTopOf="parent" + android:layout_marginEnd="20px" + android:overScrollMode="never" + app:layout_constraintBottom_toBottomOf="parent"/> diff --git a/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_status_bar_item.xml b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_status_bar_item.xml index b9e7610987..ca92ba33fc 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_status_bar_item.xml +++ b/core/function-impl/mogo-core-function-devatools/src/main/res/layout/layout_status_bar_item.xml @@ -1,22 +1,5 @@ - - - - \ No newline at end of file + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index 7025a4af6c..aa21b0bfd5 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -205,11 +205,8 @@ import java.util.* setProxyTrafficLightView(viewTrafficLightVr) setProxyLimitingSpeedView(viewLimitingVelocity) setViewNotificationProvider(this) - context?.also { - if (!AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { - CallerDevaToolsManager.showStatusBar(it) - } + CallerDevaToolsManager.showStatusBar(it, vs_status_bar) } } @@ -1045,7 +1042,6 @@ import java.util.* */ override fun showTurnLight(light: Int) { if (HmiBuildConfig.isShowTurnLightView) { - Log.e("liyz", "showTurnLight light = $light") ThreadUtils.runOnUiThread { if (light == 1) { if (!isLeftLight) { @@ -1085,7 +1081,6 @@ import java.util.* */ override fun showBrakeLight(light: Int) { if (HmiBuildConfig.isShowBrakeLightView) { - Log.e("liyz", "showBrakeLight isBrake = $isBrake") ThreadUtils.runOnUiThread { if (light == 1) { //刹车灯亮 if (!isBrake) { @@ -1230,7 +1225,7 @@ import java.util.* } override fun hideSmallFragment() { - context?.let { CallerDevaToolsManager.showStatusBar(it) } + context?.let { CallerDevaToolsManager.showStatusBar(it, vs_status_bar) } val fragmentOverview = ARouter.getInstance().build(MoGoFragmentPaths.PATH_FRAGMENT_OVERVIEW) .navigation() as BaseFragment activity?.supportFragmentManager?.beginTransaction() diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index bd5242473c..f091f7776b 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -1065,8 +1065,10 @@ class DebugSettingView @JvmOverloads constructor( val name = map.value.name val log = map.value.log when (name) { - ////ADAS日志标签 + //ADAS日志标签 SceneConstant.M_ADAS_IMPL -> cbAdasLog.isChecked = log + //CALLCHAT日志标签 + SceneConstant.M_CHAT -> cbCallChatLog.isChecked = log //OBU日志标签 SceneConstant.M_OBU -> cbObuLog.isChecked = log //HMI日志标签 @@ -1151,6 +1153,12 @@ class DebugSettingView @JvmOverloads constructor( sceneMap[SceneConstant.M_ADAS_IMPL] = adasModule CallerDevaToolsManager.updateModuleTAG(sceneMap) } + //CALLCHAT日志标签 + cbCallChatLog.setOnCheckedChangeListener { _, isChecked -> + val callChatModule = SceneModule(isChecked, SceneConstant.M_CHAT) + sceneMap[SceneConstant.M_CHAT] = callChatModule + CallerDevaToolsManager.updateModuleTAG(sceneMap) + } //OBU日志标签 cbObuLog.setOnCheckedChangeListener { _, isChecked -> val obuModule = SceneModule(isChecked, SceneConstant.M_OBU) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportWindow.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportWindow.kt index 1c74fbaf9d..9ff5384823 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportWindow.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/IPCReportWindow.kt @@ -10,6 +10,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.mogo.eagle.core.data.report.ReportEntity import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.utilcode.mogo.toast.ResourcesHelper.getDrawable import java.lang.reflect.Field /** @@ -72,11 +73,15 @@ class IPCReportWindow constructor(activity: Activity) : View.OnTouchListener{ } //错误列表 tvIpcErrorTab.setOnClickListener { + tvIpcErrorTab.background = getDrawable(mActivity,R.drawable.ipc_error_tab_normal_bg) + tvIpcWarningTab.background = getDrawable(mActivity,R.drawable.ipc_warning_tab_normal_bg) ipcReportAdapter?.setData(ipcErrorReportList) ipcReportAdapter?.notifyDataSetChanged() } //预警列表 tvIpcWarningTab.setOnClickListener { + tvIpcErrorTab.background = getDrawable(mActivity,R.drawable.ipc_error_tab_select_bg) + tvIpcWarningTab.background = getDrawable(mActivity,R.drawable.ipc_warning_tab_select_bg) ipcReportAdapter?.setData(ipcWarningReportList) ipcReportAdapter?.notifyDataSetChanged() } 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..c8de687a2a 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,20 +35,21 @@ 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); tabN = findViewById(R.id.tap_n); tabD = findViewById(R.id.tap_d); typedArray = context.obtainStyledAttributes(attrs, R.styleable.TapPositionView); + if(AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)){ + tabP.setVisibility(View.GONE); + } } public void updateWithGear(@NotNull Chassis.GearPosition gear) { 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/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_error_tab_bg.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_error_tab_normal_bg.xml similarity index 100% rename from core/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_error_tab_bg.xml rename to core/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_error_tab_normal_bg.xml diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_error_tab_select_bg.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_error_tab_select_bg.xml new file mode 100644 index 0000000000..4b7aeeb7b9 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_error_tab_select_bg.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_warning_tab_normal_bg.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_warning_tab_normal_bg.xml new file mode 100644 index 0000000000..0e87378fad --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_warning_tab_normal_bg.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_warning_tab_select_bg.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_warning_tab_select_bg.xml new file mode 100644 index 0000000000..dec04a6624 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/ipc_warning_tab_select_bg.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml index e0bc4f03fd..ed3b74663e 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/fragment_hmi.xml @@ -112,23 +112,21 @@ android:id="@+id/ivBadCaseTools" android:layout_width="120px" android:layout_height="120px" - android:src="@drawable/bad_case_selector" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintStart_toEndOf="@id/ivToolsIcon" android:layout_marginStart="50px" android:layout_marginBottom="40px" - /> + android:src="@drawable/bad_case_selector" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toEndOf="@id/ivToolsIcon" /> + android:src="@drawable/ai_collect_selector" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toEndOf="@id/ivBadCaseTools" /> - + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" /> + diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_tap_position.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_tap_position.xml index a2a8beedd6..263bee811c 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_tap_position.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/hmi_tap_position.xml @@ -15,7 +15,6 @@ android:textColor="@color/p_default_txt_color" android:textSize="@dimen/dp_46" android:textStyle="bold" - android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/tap_r" diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml index 0478f29693..abd25fb7af 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml @@ -1845,6 +1845,14 @@ android:checked="false" android:text="ADAS日志" /> + + @@ -33,7 +33,7 @@ android:gravity="center" app:layout_constraintTop_toTopOf="parent" app:layout_constraintLeft_toRightOf="@id/tv_ipc_error_tab" - android:background="#3A57C5" + android:background="@drawable/ipc_warning_tab_normal_bg" /> currentTime = $currentTime ----- hvTime---> $hvTime ---hvMillTime = $hvMillTime ----hvSecondMillTime = $hvSecondMillTime ---delayTime---> $delayTime") // CallerObuListenerManager.invokeDelayTime(delayTime) // CallerLogger.e( // "$M_OBU${MogoObuConst.TAG_MOGO_OBU}", @@ -423,7 +422,6 @@ class MogoPrivateObuManager private constructor() { // val currentTime = TimeUtils.getNowMills() % 60000 // val delayTime = currentTime - hvTime -// Log.e("liyz", "onCvxPtcThreatIndInfo ---> currentTime = $currentTime ----- hvTime---> $hvTime ---hvMillTime = $hvMillTime ----hvSecondMillTime = $hvSecondMillTime ---delayTime---> $delayTime") // CallerObuListenerManager.invokeDelayTime(delayTime) // CallerLogger.d( // "$M_OBU${MogoObuConst.TAG_MOGO_OBU}", 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" diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt index df8eb59c45..fcbafafc21 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/IDevaToolsProvider.kt @@ -107,7 +107,7 @@ interface IDevaToolsProvider : IProvider { /** * 展示状态栏 */ - fun showStatusBar(ctx: Context) + fun showStatusBar(ctx: Context, anchor: View) /** * 隐藏状态栏 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt index 43004026ef..509a611781 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/devatools/CallerDevaToolsManager.kt @@ -2,13 +2,15 @@ package com.mogo.eagle.core.function.call.devatools import android.app.Activity import android.content.Context -import android.view.View +import android.view.* +import com.mogo.eagle.core.data.config.* import com.mogo.eagle.core.data.constants.MogoServicePaths import com.mogo.eagle.core.data.deva.chain.ChainLogParam import com.mogo.eagle.core.data.deva.scene.SceneModule import com.mogo.eagle.core.data.deva.scene.SceneTAG import com.mogo.eagle.core.function.api.devatools.IDevaToolsProvider import com.mogo.eagle.core.function.call.base.CallerBase +import com.mogo.eagle.core.utilcode.mogo.* import record_cache.RecordPanelOuterClass object CallerDevaToolsManager { @@ -148,14 +150,27 @@ object CallerDevaToolsManager { /** * 展示状态栏 */ - fun showStatusBar(ctx: Context) { - devaToolsProviderApi?.showStatusBar(ctx) + fun showStatusBar(ctx: Context, anchor: View) { + if (!AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { + if (anchor.isLaidOut) { + devaToolsProviderApi?.showStatusBar(ctx, anchor) + } else { + anchor.viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener { + override fun onGlobalLayout() { + devaToolsProviderApi?.showStatusBar(ctx, anchor) + anchor.viewTreeObserver.removeOnGlobalLayoutListener(this) + } + }) + } + } } /** * 隐藏状态栏 */ fun hideStatusBar() { - devaToolsProviderApi?.hideStatusBar() + if (!AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { + devaToolsProviderApi?.hideStatusBar() + } } } \ No newline at end of file diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/logger/scene/Scene.kt b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/logger/scene/Scene.kt index 7608b14962..6ed65bac39 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/logger/scene/Scene.kt +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/logger/scene/Scene.kt @@ -4,6 +4,7 @@ import android.util.ArrayMap import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ADAS_IMPL import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_CHAT import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_MAP @@ -37,6 +38,9 @@ class Scene { //初始化ADAS val adasMap = SceneLogCache(mutableMapOf(), true) sceneCache[M_ADAS_IMPL] = adasMap + //初始化CallChat + val callChatMap = SceneLogCache(mutableMapOf(), false) + sceneCache[M_CHAT] = callChatMap //初始化deva val devaMap = SceneLogCache(mutableMapOf(), false) sceneCache[M_DEVA] = devaMap diff --git a/gradle.properties b/gradle.properties index 8e90bc84c3..b5a4928f9d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -82,7 +82,7 @@ MOGO_LOCATION_VERSION=1.4.3.8 MOGO_TELEMATIC_VERSION=1.4.3.8 ######## MogoAiCloudSDK Version ######## # 自研地图 -MAP_SDK_VERSION=2.3.1.1 +MAP_SDK_VERSION=2.4.0.1 MAP_SDK_OPERATION_VERSION=1.0.13 # websocket WEBSOCKET_VERSION=1.1.7 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 0eeb26891a..340c7ff3fd 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(); } @@ -646,8 +648,9 @@ public class AMapViewWrapper implements IMogoMapView, */ @Override public void setCarLightsType(int type, int time) { - Log.d("liyz", "AMapViewWrapper setCarLightsType type = " + type + "---time = " + time); - mMapView.getMapAutoViewHelper().setTailLightsType(type, time); + if (checkAMapView()) { + mMapView.getMapAutoViewHelper().setTailLightsType(type, time); + } } @Override @@ -811,16 +814,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 @@ -995,7 +1000,7 @@ public class AMapViewWrapper implements IMogoMapView, bean.setAcceleration(gnssInfo.getAcceleration()); bean.setAlt(gnssInfo.getAltitude()); bean.setSystemTime(Double.valueOf(gnssInfo.getSystemTime()).longValue()); - bean.setSatelliteTime(Double.valueOf(gnssInfo.getSatelliteTime()).longValue()); + bean.setSatelliteTime(Double.valueOf(gnssInfo.getSatelliteTime()*1000).longValue()); bean.setLon(gnssInfo.getLongitude()); bean.setLat(gnssInfo.getLatitude()); bean.setGnss_speed(((float) gnssInfo.getGnssSpeed())); @@ -1037,7 +1042,9 @@ public class AMapViewWrapper implements IMogoMapView, @Override public void setMapDAngle(float angle) { - mMapView.getMapAutoViewHelper().setMapDAngle(angle); + if (checkAMapView()) { + mMapView.getMapAutoViewHelper().setMapDAngle(angle); + } } @Override diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java index f25d1a1d89..dfd5bc2d1a 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapUIController.java @@ -257,7 +257,6 @@ public class MogoMapUIController implements IMogoMapUIController { public void setCarLightsType(int type, int time) { initDelegate(); if (mDelegate != null) { -// Log.d("liyz", "MogoMapUIController type = " + type + "---time = " + time); mDelegate.setCarLightsType(type, time); } } diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java b/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java index ccc7018538..efba482a0e 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/uicontroller/AMapUIController.java @@ -223,7 +223,6 @@ public class AMapUIController implements IMogoMapUIController { @Override public void setCarLightsType(int type, int time) { -// Log.d("liyz", "AMapUIController type = " + type + "---time = " + time); if (mClient != null) { mClient.setCarLightsType(type, time); } diff --git a/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java b/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java index 6fb8c7974e..bd6da83424 100644 --- a/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java +++ b/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java @@ -63,7 +63,7 @@ public class ApmCrashReportProvider implements ITestCrashReportProvider { String cityCode = SharedPrefsMgr.getInstance(context).getString(SharedPrefsConstants.LOCATION_CITY_CODE); String lat = SharedPrefsMgr.getInstance(context).getString(SharedPrefsConstants.LOCATION_LATITUDE); String logt = SharedPrefsMgr.getInstance(context).getString(SharedPrefsConstants.LOCATION_LONGITUDE); - Log.d("liyz", "cityCode = " + cityCode + " --lat = " +lat + " --logt = " + logt); +// Log.d("liyz", "cityCode = " + cityCode + " --lat = " +lat + " --logt = " + logt); //地图版本 String mapSDKVersion = AppUtils.getCustomMapSDKVersion(context); map.put("MAP_SDK_VERSION", mapSDKVersion);