diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java index bde6c18c30..1f81cc0f1b 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseBusTabFragment.java @@ -33,6 +33,7 @@ import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxBubbleView; import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxButtonView; import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxListView; import com.mogo.eagle.core.function.hmi.ui.widget.TrafficDataView; +import com.mogo.eagle.core.function.smp.view.SmallMapView; import com.mogo.eagle.core.function.view.MapBizView; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener; @@ -82,6 +83,8 @@ public abstract class BaseBusTabFragment private ImageView mSwitchMapModeImage; private LinearLayout mSwitchMapModeLayout; + protected SmallMapView smallMapView; + //消息盒子 private DriverMsgBoxButtonView viewDriverMsgBoxButton; private DriverMsgBoxListView viewDriverMsgBoxList; @@ -221,18 +224,22 @@ public abstract class BaseBusTabFragment viewDriverMsgBoxBubble.isShowData(true); } }); + + smallMapView = findViewById(R.id.smallMapView); } @Override protected void initViews(Bundle savedInstanceState) { super.initViews(savedInstanceState); mapBizView.onCreate(savedInstanceState); + smallMapView.onCreateView(savedInstanceState); } @Override public void onResume() { super.onResume(); mapBizView.onResume(); + smallMapView.onResume(); } @Nullable @@ -278,6 +285,7 @@ public abstract class BaseBusTabFragment public void onPause() { super.onPause(); mapBizView.onPause(); + smallMapView.onPause(); } @Override @@ -532,6 +540,7 @@ public abstract class BaseBusTabFragment @Override public void onDestroy() { super.onDestroy(); + smallMapView.onDestroy(); MogoMapListenerHandler.Companion.getMogoMapListenerHandler().unregisterHostMapListener(TAG); } diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java index 4ff307b81c..2c6ca43908 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java @@ -434,7 +434,7 @@ public class BusFragment extends BaseBusTabFragment } //清除鹰眼右下角小地图轨迹 - CallerSmpManager.clearPolyline(); + smallMapView.clearPolyline(); } /** diff --git a/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml b/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml index f140f6a4e2..92952c1214 100644 --- a/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml +++ b/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml @@ -406,4 +406,15 @@ ,btnAutopilotRunning,btnAutopilotRoute" tools:visibility="visible" /> + + \ No newline at end of file diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java index e74b7ebbf6..473ab89f04 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java @@ -32,6 +32,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListener import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager; import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager; +import com.mogo.eagle.core.function.smp.view.SmallMapView; import com.mogo.eagle.core.function.view.MapBizView; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener; @@ -85,6 +86,8 @@ public abstract class BaseSweeperTabFragment + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java index 1e2f7da9b3..d1ed187779 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseTaxiTabFragment.java @@ -32,11 +32,11 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListener import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager; import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager; -import com.mogo.eagle.core.function.call.map.CallerSmpManager; import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxBubbleView; import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxButtonView; import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxListView; import com.mogo.eagle.core.function.view.MapBizView; +import com.mogo.eagle.core.function.smp.view.SmallMapView; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener; import com.mogo.eagle.core.utilcode.util.ToastUtils; @@ -89,6 +89,8 @@ public abstract class BaseTaxiTabFragment + + \ 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/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 389ba58130..f6f661a829 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 @@ -1043,11 +1043,11 @@ internal class DebugSettingView @JvmOverloads constructor( * 隐藏、显示小地图 */ tbControlView.setOnCheckedChangeListener { _, isChecked -> - if (isChecked) { - CallerSmpManager.hidePanel() - } else { - CallerSmpManager.showPanel() - } +// if (isChecked) { +// CallerSmpManager.hidePanel() +// } else { +// CallerSmpManager.showPanel() +// } } /** diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt index 7a76ff7db7..8f73f73bd7 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainActivity.kt @@ -295,10 +295,6 @@ open class MainActivity : MvpActivity(), MainView, override fun loadFunctionFragment() { d(SceneConstant.M_HMI + TAG, "loadFunctionFragment……") - // 加载 小地图 图层 - val fragmentSmpMap = ARouter.getInstance().build(MoGoFragmentPaths.PATH_FRAGMENT_SMP) - .navigation() as BaseFragment - addFragment(fragmentSmpMap, fragmentSmpMap.tagName, R.id.module_main_id_smp_fragment) } override fun createPresenter(): MainPresenter { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/module_main_activity_main.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/module_main_activity_main.xml index e10b94bf58..96184c4e54 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/module_main_activity_main.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/module_main_activity_main.xml @@ -22,12 +22,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" /> - - - diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/AMapCustomView.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/AMapCustomView.java deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/OverviewMapFragment.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/OverviewMapFragment.java deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java deleted file mode 100644 index 0132c438bd..0000000000 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapDirectionView.java +++ /dev/null @@ -1,368 +0,0 @@ -package com.mogo.eagle.core.function.smp; - -import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_MAP; - -import android.content.Context; -import android.graphics.Color; -import android.location.Location; -import android.os.Bundle; -import android.util.AttributeSet; -import android.view.LayoutInflater; -import android.view.MotionEvent; -import android.view.View; -import android.widget.RelativeLayout; - -import androidx.annotation.Nullable; - -import com.amap.api.maps.AMap; -import com.amap.api.maps.CameraUpdate; -import com.amap.api.maps.CameraUpdateFactory; -import com.amap.api.maps.CoordinateConverter; -import com.amap.api.maps.TextureMapView; -import com.amap.api.maps.UiSettings; -import com.amap.api.maps.model.BitmapDescriptorFactory; -import com.amap.api.maps.model.CameraPosition; -import com.amap.api.maps.model.CustomMapStyleOptions; -import com.amap.api.maps.model.LatLng; -import com.amap.api.maps.model.LatLngBounds; -import com.amap.api.maps.model.Marker; -import com.amap.api.maps.model.MarkerOptions; -import com.amap.api.maps.model.Polyline; -import com.amap.api.maps.model.PolylineOptions; -import com.mogo.cloud.commons.utils.CoordinateUtils; -import com.mogo.eagle.core.data.config.FunctionBuildConfig; -import com.mogo.eagle.core.data.map.MogoLatLng; -import com.mogo.eagle.core.data.map.MogoLocation; -import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener; -import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; -import com.mogo.eagle.core.function.view.R; -import com.mogo.eagle.core.function.smp.view.ISmallMapDirectionView; -import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; -import com.mogo.eagle.core.utilcode.mogo.MapAssetStyleUtils; -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; -import com.mogo.eagle.core.utilcode.util.DrivingDirectionUtils; -import com.mogo.eagle.core.widget.RoundLayout; - -import java.util.ArrayList; -import java.util.List; -import java.util.Timer; -import java.util.TimerTask; - -/** - * 小地图的方向View - * - * @author donghongyu - * @date 12/14/20 4:40 PM - */ -public class SmallMapDirectionView - extends RelativeLayout - implements IMoGoChassisLocationGCJ02Listener, ISmallMapDirectionView { - - //小地图名称 - public static final String TAG = "SmallMapDirectionView"; - - private RoundLayout rlSmallMapBorder; - private TextureMapView mAMapNaviView; - private AMap mAMap; - private Marker mCarMarker; - private Marker mStartMarker; - private Marker mEndMarker; - - private int zoomLevel = 15; - private final List mCoordinatesLatLng = new ArrayList<>(); - private final List mCoordinatesLatLngCurrent = new ArrayList<>(); - private Polyline mPolyline; - private CameraUpdate mCameraUpdate; - private Context mContext; - private MogoLocation mLocation; - - public SmallMapDirectionView(Context context) { - this(context, null); - } - - public SmallMapDirectionView(Context context, @Nullable AttributeSet attrs) { - this(context, attrs, 0); - } - - public SmallMapDirectionView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - try { - initView(context); - } catch (Exception e) { - e.printStackTrace(); - } - } - - private void initView(Context context) { - mContext = context; - View smpView = LayoutInflater.from(context).inflate(R.layout.module_small_map_view, this); - - mAMapNaviView = smpView.findViewById(R.id.aMapNaviView); -// rlSmallMapBorder = findViewById(R.id.rlSmallMapBorder); -// rlSmallMapBorder.addView(mAMapNaviView); - - initAMapView(); - - // 注册定位监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG, this); - startTask(); - } - - private void startTask() { - Timer mTimer = new Timer(); - mTimer.schedule(new UpdateLocationTask(), 1000, 200); - } - - @Override - protected void onDetachedFromWindow() { - super.onDetachedFromWindow(); - // 注册定位监听 - CallerChassisLocationGCJ20ListenerManager.INSTANCE.removeListener(TAG); - } - - private void initAMapView() { - mCameraUpdate = CameraUpdateFactory.zoomTo(zoomLevel); - mAMap = mAMapNaviView.getMap(); - // 关闭地图文字标注 - mAMap.showMapText(false); - // 设置导航地图模式,aMap是地图控制器对象。 - mAMap.setMapType(AMap.MAP_TYPE_NIGHT); - // 关闭显示实时路况图层,aMap是地图控制器对象。 - mAMap.setTrafficEnabled(false); - // 设置 锚点 图标 - if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { - mCarMarker = mAMap.addMarker(new MarkerOptions() - .icon(BitmapDescriptorFactory.fromResource(R.drawable.map_bus_icon)) - .anchor(0.5f, 0.5f)); - } else { - mCarMarker = mAMap.addMarker(new MarkerOptions() - .icon(BitmapDescriptorFactory.fromResource(R.drawable.map_car_icon)) - .anchor(0.5f, 0.5f)); - } - mStartMarker = mAMap.addMarker(new MarkerOptions() - .icon(BitmapDescriptorFactory.fromResource(R.drawable.module_small_map_view_dir_start))); - mEndMarker = mAMap.addMarker(new MarkerOptions() - .icon(BitmapDescriptorFactory.fromResource(R.drawable.module_small_map_view_dir_end))); - // 加载自定义样式 - CustomMapStyleOptions customMapStyleOptions = new CustomMapStyleOptions() - .setEnable(true) - .setStyleData(MapAssetStyleUtils.getAssetsStyle(getContext(), "over_view_style.data")) - .setStyleExtraData(MapAssetStyleUtils.getAssetsExtraStyle(getContext(), "over_view_style_extra.data")); - // 设置自定义样式 - mAMap.setCustomMapStyle(customMapStyleOptions); - //设置希望展示的地图缩放级别 - mAMap.moveCamera(mCameraUpdate); - // 设置地图的样式 - UiSettings uiSettings = mAMap.getUiSettings(); - uiSettings.setZoomControlsEnabled(false);// 地图缩放级别的交换按钮 - uiSettings.setAllGesturesEnabled(false);// 所有手势 - uiSettings.setMyLocationButtonEnabled(false); // 显示默认的定位按钮 - uiSettings.setLogoBottomMargin(-150); //设置Logo下边界距离屏幕底部的边距,设置为负值即可 - mAMap.setOnMapLoadedListener(() -> { - CallerLogger.INSTANCE.d(M_MAP + TAG, "smp---onMapLoaded"); - // 加载自定义样式 - CustomMapStyleOptions customMapStyleOptions1 = new CustomMapStyleOptions() - .setEnable(true) - .setStyleData(MapAssetStyleUtils.getAssetsStyle(getContext(), "over_view_style.data")) - .setStyleExtraData(MapAssetStyleUtils.getAssetsExtraStyle(getContext(), "over_view_style_extra.data")); - // 设置自定义样式 - mAMap.setCustomMapStyle(customMapStyleOptions1); - mAMapNaviView.getMap().setPointToCenter(mAMapNaviView.getWidth() / 2, mAMapNaviView.getHeight() / 2); - }); - } - - - @Override - public boolean onInterceptTouchEvent(MotionEvent ev) { - return true; - } - - @Override - public void onChassisLocationGCJ02(@Nullable MogoLocation gnssInfo) { - if (gnssInfo == null) { - return; - } - mLocation = gnssInfo; - } - - private class UpdateLocationTask extends TimerTask { - @Override - public void run() { - if (mLocation != null) { - if (mCarMarker == null) { - mCarMarker = mAMap.addMarker(new MarkerOptions() - .icon(BitmapDescriptorFactory.fromResource(R.drawable.module_small_map_view_my_location_logo)) - .anchor(0.5f, 0.5f)); - } - if (mCarMarker == null) { - return; - } - LatLng currentLatLng = new LatLng(mLocation.getLatitude(), mLocation.getLongitude()); - float bearing = (float) Math.floor(mLocation.getHeading()); - //更新车辆位置 - mCarMarker.setPosition(currentLatLng); - - CameraPosition cameraPosition; - if (mCoordinatesLatLng.size() > 1) { - // 结束位置 - LatLng endLatLng = mCoordinatesLatLng.get(mCoordinatesLatLng.size() - 1); - - float calculateDistance = CoordinateUtils.calculateLineDistance( - endLatLng.latitude, endLatLng.longitude, - currentLatLng.latitude, currentLatLng.longitude - ); - - CallerLogger.INSTANCE.d(M_MAP + TAG, "calculateDistance=" + calculateDistance); - if (calculateDistance <= 5) { - clearPolyline(); - mCoordinatesLatLng.clear(); - } - } - cameraPosition = new CameraPosition.Builder().target(mCarMarker.getPosition()).tilt(0).bearing(bearing).zoom(zoomLevel).build(); - mAMap.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); - } - } - } - - private void removeLocation(Location latLng) { - for (LatLng l : mCoordinatesLatLng) { - if (!isPointOnCarFront(latLng, l)) { - mCoordinatesLatLng.remove(l); - } - } - } - - public static boolean isPointOnCarFront(Location carLocal, LatLng pointLocal) { - double carLon = carLocal.getLongitude(); - double carLat = carLocal.getLatitude(); - double poiLon = pointLocal.longitude; - double poiLat = pointLocal.latitude; - float carAngle = carLocal.getBearing(); - - // 计算车辆与点之间的夹角 - int diffAngle = DrivingDirectionUtils.getDegreeOfCar2Poi( - carLon, carLat, poiLon, poiLat, (int) carAngle); - - return diffAngle <= 90; - } - - - @Override - public void drawablePolyline() { - clearPolyline(); -// mCoordinatesLatLng.clear(); -// List latLngs = CoordinateConverterFrom84ForList(mContext,coordinates); -// mCoordinatesLatLng.addAll(latLngs); -// for (LatLng coordinate : mCoordinatesLatLng) { -// mCoordinatesLatLng.add(new LatLng(coordinate.getLat(), coordinate.getLon())); -// } - if (mAMap != null) { - if (mCoordinatesLatLng.size() > 2) { - // 设置开始结束Marker位置 - mStartMarker.setPosition(mCoordinatesLatLng.get(0)); - mEndMarker.setPosition(mCoordinatesLatLng.get(mCoordinatesLatLng.size() - 1)); - mStartMarker.setToTop(); - mStartMarker.setVisible(true); - mEndMarker.setVisible(true); - mEndMarker.setToTop(); - - - //存放所有点的经纬度 - LatLngBounds.Builder boundsBuilder = new LatLngBounds.Builder(); - - for (int i = 0; i < mCoordinatesLatLng.size(); i++) { - //把所有点都include进去(LatLng类型) - boundsBuilder.include(mCoordinatesLatLng.get(i)); - } - //第二个参数为四周留空宽度 - mAMap.animateCamera(CameraUpdateFactory.newLatLngBounds(boundsBuilder.build(), 30)); - // 绘制线 - mPolyline = mAMap.addPolyline( - new PolylineOptions() - .addAll(mCoordinatesLatLng) - .color(Color.argb(255, 31, 127, 255)) - .width(12)); - - } -// else { -// //设置希望展示的地图缩放级别 -// mAMap.moveCamera(CameraUpdateFactory.newLatLngZoom(mCoordinatesLatLng.get(0), zoomLevel)); -// } - } - } - - - public LatLng CoordinateConverterFrom84(Context mContext, MogoLatLng mogoLatLng) { - CoordinateConverter mCoordinateConverter = new CoordinateConverter(mContext); - mCoordinateConverter.from(CoordinateConverter.CoordType.GPS); - mCoordinateConverter.coord(new LatLng(mogoLatLng.lat, mogoLatLng.lon)); - return mCoordinateConverter.convert(); - } - - public List CoordinateConverterFrom84ForList(Context mContext, List mogoLatLngList) { - List list = new ArrayList<>(); - for (MogoLatLng m : mogoLatLngList) { - LatLng mogoLatLng = CoordinateConverterFrom84(mContext, m); - list.add(mogoLatLng); - } - return list; - } - - @Override - public void clearPolyline() { -// mCoordinatesLatLng.clear(); - if (mPolyline != null) { - mPolyline.remove(); - } - if (mStartMarker != null) { - mStartMarker.setVisible(false); - } - if (mEndMarker != null) { - mEndMarker.setVisible(false); - } - } - - public void resetPolyLine() { - mCoordinatesLatLng.clear(); - if (mPolyline != null) { - mPolyline.remove(); - } - if (mStartMarker != null) { - mStartMarker.setVisible(false); - } - if (mEndMarker != null) { - mEndMarker.setVisible(false); - } - } - - public void onCreateView(Bundle savedInstanceState) { - if (mAMapNaviView != null) { - mAMapNaviView.onCreate(savedInstanceState); - } - } - - public void onResume() { - if (mAMapNaviView != null) { - mAMapNaviView.onResume(); - } - } - - public void onPause() { - if (mAMapNaviView != null) { - mAMapNaviView.onPause(); - } - } - - public void onDestroy() { - if (mAMapNaviView != null) { - mAMapNaviView.onDestroy(); - } - } - - public void convert(List coordinates) { - mCoordinatesLatLng.clear(); - List latLngs = CoordinateConverterFrom84ForList(mContext, coordinates); - mCoordinatesLatLng.addAll(latLngs); - } - -} diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java deleted file mode 100644 index 7ded8a55c8..0000000000 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/SmallMapFragment.java +++ /dev/null @@ -1,195 +0,0 @@ -package com.mogo.eagle.core.function.smp; - -import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_MAP; - -import android.content.Context; -import android.os.Bundle; -import android.view.View; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.commons.mvp.BaseFragment; -import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo; -import com.mogo.eagle.core.data.constants.MoGoFragmentPaths; -import com.mogo.eagle.core.data.map.MogoLatLng; -import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; -import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener; -import com.mogo.eagle.core.function.api.map.smp.IMogoSmallMapProvider; -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager; -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; -import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager; -import com.mogo.eagle.core.function.view.R; -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; -import com.mogo.eagle.core.utilcode.util.UiThreadHandler; - -import org.jetbrains.annotations.NotNull; - -import java.util.ArrayList; -import java.util.List; - -import mogo.telematics.pad.MessagePad; -import mogo_msg.MogoReportMsg; -import system_master.SystemStatusInfo; - -/** - * @author donghongyu - * @date 2021/5/19 10:50 上午 - */ -@Route(path = MoGoFragmentPaths.PATH_FRAGMENT_SMP) -public class SmallMapFragment extends BaseFragment - implements IMogoSmallMapProvider, - IMoGoPlanningRottingListener, - IMoGoAutopilotStatusListener { - private final String TAG = "SmallMapFragment"; - protected SmallMapDirectionView mSmallMapDirectionView; - private int autoPilotStatus = 0; - - @Override - public void onAttach(Context context) { - super.onAttach(context); - } - - @Override - protected int getLayoutId() { - return R.layout.module_small_map_fragment; - } - - @Override - public String getTagName() { - return TAG; - } - - @Override - protected void initViews() { - } - - @Override - protected void initViews(Bundle savedInstanceState) { - super.initViews(savedInstanceState); - mSmallMapDirectionView = mRootView.findViewById(R.id.smallMapDirectionView); - mSmallMapDirectionView.onCreateView(savedInstanceState); - CallerPlanningRottingListenerManager.INSTANCE.addListener(TAG, this); - CallerAutoPilotStatusListenerManager.INSTANCE.addListener(TAG,this); - } - - @Override - public void showPanel() { - if (mSmallMapDirectionView != null) { - mSmallMapDirectionView.setVisibility(View.VISIBLE); - } - } - - @Override - public void hidePanel() { - if (mSmallMapDirectionView != null) { - mSmallMapDirectionView.setVisibility(View.GONE); - } - } - - @Override - public void drawablePolyline(List coordinates) { - if (mSmallMapDirectionView != null) { - UiThreadHandler.post(new Runnable() { - @Override - public void run() { - mSmallMapDirectionView.convert(coordinates); - mSmallMapDirectionView.drawablePolyline(); - } - }); - } - } - - @Override - public void clearPolyline() { - if (mSmallMapDirectionView != null) { - UiThreadHandler.post(() -> mSmallMapDirectionView.clearPolyline()); - } - } - - @Override - public void onResume() { - super.onResume(); - if (mSmallMapDirectionView != null) { - mSmallMapDirectionView.onResume(); - } - } - - @Override - public void onPause() { - super.onPause(); - if (mSmallMapDirectionView != null) { - mSmallMapDirectionView.onPause(); - } - - } - - @Override - public void onDestroy() { - super.onDestroy(); - if (mSmallMapDirectionView != null) { - mSmallMapDirectionView.onDestroy(); - } - CallerPlanningRottingListenerManager.INSTANCE.removeListener(TAG); - } - - @Override - public void onAutopilotStatusResponse(@NotNull AutopilotStatusInfo autoPilotStatusInfo) { - int tempStatus = autoPilotStatusInfo.getPilotmode(); - CallerLogger.INSTANCE.i(M_MAP + TAG, "onAutopilotStatusResponse:"+tempStatus+" autoPilotStatus:"+autoPilotStatus); - if (tempStatus != 1) { - CallerLogger.INSTANCE.i(M_MAP + TAG, "onAutopilotStatusResponse:"+tempStatus+" clearPolyline"); - clearPolyline(); - }else if (tempStatus == 1 && autoPilotStatus == 0){ - CallerLogger.INSTANCE.i(M_MAP + TAG, "onAutopilotStatusResponse:getGlobalPath"); - CallerAutoPilotControlManager.INSTANCE.getGlobalPath(); - } - autoPilotStatus = tempStatus; - } - - @Override - public void onAutopilotArriveAtStation(MessagePad.ArrivalNotification arrivalNotification) { - - } - - @Override - public void onAutopilotSNRequest() { - - } - - @Override - public void onAutopilotGuardian(MogoReportMsg.MogoReportMessage guardianInfo) { - - } - - @Override - public void onAutopilotIpcConnectStatusChanged(int status, @Nullable String reason) { - } - - @Override - public void onAutopilotRotting(MessagePad.GlobalPathResp globalPathResp) { - CallerLogger.INSTANCE.i(M_MAP + TAG, "onAutopilotRotting"); - if (globalPathResp == null || globalPathResp.getWayPointsList().size() == 0) { - return; - } - CallerLogger.INSTANCE.i(M_MAP + TAG, "onAutopilotRotting:"+globalPathResp.getWayPointsList().size()); - - List latLngList = new ArrayList<>(); - for (MessagePad.Location routeModel : globalPathResp.getWayPointsList()) { - latLngList.add(new MogoLatLng(routeModel.getLatitude(), routeModel.getLongitude())); - } - if (latLngList.size() > 0) { - CallerLogger.INSTANCE.i(M_MAP + TAG, "onAutopilotRotting:"+"drawablePolyline"); - drawablePolyline(latLngList); - } else { - CallerLogger.INSTANCE.i(M_MAP + TAG, "onAutopilotRotting:"+"clearPolyline"); - clearPolyline(); - } - } - - @Override - public void onAutopilotStatusRespByQuery(@NonNull SystemStatusInfo.StatusInfo status) { - - } -} diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/view/SmallMapView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/view/SmallMapView.kt index 5584e19d4e..ddffe0e965 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/view/SmallMapView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/view/SmallMapView.kt @@ -5,6 +5,7 @@ import android.graphics.Color import android.os.Bundle import android.util.AttributeSet import android.view.LayoutInflater +import android.view.MotionEvent import android.widget.RelativeLayout import androidx.annotation.UiThread import com.amap.api.maps.* @@ -340,6 +341,10 @@ class SmallMapView @JvmOverloads constructor( } } + override fun onInterceptTouchEvent(ev: MotionEvent?): Boolean { + return true + } + override fun onDetachedFromWindow() { super.onDetachedFromWindow() // 注册定位监听 diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/test/TestV2XReceiver.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/test/TestV2XReceiver.java index 2c5e50edc7..6e24080849 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/test/TestV2XReceiver.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/test/TestV2XReceiver.java @@ -82,9 +82,9 @@ public class TestV2XReceiver extends BroadcastReceiver { LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent); } else if (sceneType == 20) {// 小地图绘制线 List coordinates = TestOnLineCarUtils.getTestCoordinates(); - CallerSmpManager.drawablePolyline(coordinates); +// CallerSmpManager.drawablePolyline(coordinates); } else if (sceneType == 21) {// 小地图清除绘制线 - CallerSmpManager.clearPolyline(); +// CallerSmpManager.clearPolyline(); } } diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerSmpManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerSmpManager.kt index 77198d5fa6..8a30c3b6f3 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerSmpManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerSmpManager.kt @@ -2,10 +2,8 @@ package com.mogo.eagle.core.function.call.map import android.os.Looper import com.alibaba.android.arouter.launcher.ARouter -import com.mogo.eagle.core.data.constants.MoGoFragmentPaths import com.mogo.eagle.core.data.constants.MogoServicePaths import com.mogo.eagle.core.data.map.MogoLatLng -import com.mogo.eagle.core.function.api.map.smp.IMogoSmallMapProvider import com.mogo.eagle.core.function.api.v2x.IV2XEventProvider import com.mogo.eagle.core.function.call.base.CallerBase import com.mogo.eagle.core.utilcode.util.UiThreadHandler @@ -16,9 +14,9 @@ import com.mogo.eagle.core.utilcode.util.UiThreadHandler * 小地图调用者管理,这里对外及其他模块提供小地图功能的调用,用啥写啥,不要过度设计,不允许直接将Provider暴露出去 */ object CallerSmpManager : CallerBase() { - private val mogoSmallMapProvider: IMogoSmallMapProvider - get() = ARouter.getInstance().build(MoGoFragmentPaths.PATH_FRAGMENT_SMP) - .navigation() as IMogoSmallMapProvider +// private val mogoSmallMapProvider: IMogoSmallMapProvider +// get() = ARouter.getInstance().build(MoGoFragmentPaths.PATH_FRAGMENT_SMP) +// .navigation() as IMogoSmallMapProvider // private val mogoOverViewMapProvider: IMogoSmallMapProvider // get() = ARouter.getInstance().build(MoGoFragmentPaths.PATH_FRAGMENT_OVERVIEW) @@ -33,7 +31,7 @@ object CallerSmpManager : CallerBase() { */ @JvmStatic fun drawablePolyline(coordinates: List?) { - mogoSmallMapProvider.drawablePolyline(coordinates) +// mogoSmallMapProvider.drawablePolyline(coordinates) } /** @@ -41,7 +39,7 @@ object CallerSmpManager : CallerBase() { */ @JvmStatic fun clearPolyline() { - mogoSmallMapProvider.clearPolyline() +// mogoSmallMapProvider.clearPolyline() } /** @@ -49,7 +47,7 @@ object CallerSmpManager : CallerBase() { */ @JvmStatic fun showPanel() { - mogoSmallMapProvider.showPanel() +// mogoSmallMapProvider.showPanel() } /** @@ -57,7 +55,7 @@ object CallerSmpManager : CallerBase() { */ @JvmStatic fun hidePanel() { - mogoSmallMapProvider.hidePanel() +// mogoSmallMapProvider.hidePanel() } @JvmStatic