diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingTaskFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingTaskFragment.kt index a50d6f300d..346eaac0c9 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingTaskFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/TaxiBeingTaskFragment.kt @@ -49,6 +49,7 @@ import com.mogo.och.taxi.model.TaxiUnmannedViewModel import com.mogo.och.taxi.ui.base.TaxiFragment import com.mogo.och.taxi.ui.unmanned.TaskAndOrderUiState import com.mogo.och.taxi.ui.unmanned.UnmannedIntent +import com.mogo.och.taxi.utils.MapMakerManager import kotlinx.android.synthetic.main.taxi_no_data_common_view.noOrderDataTv import kotlinx.android.synthetic.main.unmanned_being_order.cancelOrder import kotlinx.android.synthetic.main.unmanned_being_order.endPoint @@ -83,6 +84,25 @@ class TaxiBeingTaskFragment : BaseFragment(), private var mCurrentTaskAndOrder: QueryCurrentTaskRespBean.Result? = null private var mCurrentUntruthTask: StartServiceRespBean.Result? = null + companion object { + const val TAG = "TaxiBeingTaskFragment" + @SuppressLint("StaticFieldLeak") + private var mActivity: Activity? = null + @SuppressLint("StaticFieldLeak") + private var mTaxiFragment: TaxiFragment? = null + fun newInstance( + activity: Activity?, + taxiFragment: TaxiFragment? + ): TaxiBeingTaskFragment { + mActivity = activity + mTaxiFragment = taxiFragment + val args = Bundle() + val fragment = TaxiBeingTaskFragment() + fragment.arguments = args + return fragment + } + } + override fun getLayoutId(): Int { return R.layout.unmanned_being_order } @@ -670,7 +690,7 @@ class TaxiBeingTaskFragment : BaseFragment(), */ private fun isHaveBeingOrder(being: Boolean) { d( - SceneConstant.M_TAXI + TAG, + M_TAXI + TAG, "isHaveBeingOrder = $being" ) try { @@ -689,7 +709,7 @@ class TaxiBeingTaskFragment : BaseFragment(), override fun onClick(v: View) { if (v.id == taskClickBtn.id) { - d(SceneConstant.M_TAXI + TAG, taskStatus.text.toString()) + d(M_TAXI + TAG, taskStatus.text.toString()) startOrEndService() } else if (v.id == cancelOrder.id) { if (mCurrentTaskAndOrder!!.order != null){ @@ -805,80 +825,17 @@ class TaxiBeingTaskFragment : BaseFragment(), * @param uuid * @param station */ - private fun setOrRemoveMapMaker( - isAdd: Boolean, - uuid: String, - lat: Double, - lon: Double, - resourceId: Int - ) { + private fun setOrRemoveMapMaker(isAdd: Boolean, uuid: String, + lat: Double, lon: Double, resourceId: Int) { if (isAdd) { - //开启线程执行起终点marker设置 - val setMapMarkerRunnable = Runnable { - d( - SceneConstant.M_TAXI + "setMapMaker= " + Thread.currentThread() - .name, - "$uuid=latitude=$lat,longitude=$lon" - ) - val builder = - Point.Options.Builder( - TYPE_MARKER_TAXI_ORDER, - Level.MAP_MARKER - ) - .setId(uuid) - .anchor(0.5f, 0.5f) - .set3DMode(true) - .isUseGps(true) - .controlAngle(true) - .icon3DRes(resourceId) - .latitude(lat) - .longitude(lon) - val mapUIController = - getMapUIController() - if (mapUIController != null) { - val centerLine = - mapUIController.getCenterLineInfo( - lon, lat, -1f - ) - if (null != centerLine) { // 有可能鹰眼map为空没有角度。判空使用后可能造成maker角度跟道路角度不一致 - val angle = centerLine.angle - if (angle != null) { - builder.rotate(angle.toFloat()) - } - } - } - val overlayManager = - getOverlayManager() - overlayManager?.showOrUpdatePoint(builder.build()) - } - OCHThreadPoolManager.getsInstance().execute(setMapMarkerRunnable) + MapMakerManager.addMapMaker(TYPE_MARKER_TAXI_ORDER,uuid,lat, lon, resourceId) } else { - //开启线程移除起终点marker设置 - val removeMapMarkerRunnable = Runnable { - d( - SceneConstant.M_TAXI + "RemoveMapMaker=" + Thread.currentThread() - .name, - "$uuid=latitude=$lat,longitude=$lon" - ) - val overlayManager = - getOverlayManager() - overlayManager?.removePoint(uuid) - } - OCHThreadPoolManager.getsInstance().execute(removeMapMarkerRunnable) + MapMakerManager.removeMapMaker(uuid,lat,lon) } } private fun removeAllMapMarker() { - //开启线程移除起终点marker设置 - val removeAllMapMarkerRunnable = Runnable { - d( - SceneConstant.M_TAXI + "removeAllMapMarkerRunnable=" + Thread.currentThread() - ) - val overlayManager = - getOverlayManager() - overlayManager?.removeAllLinesInOwner(TYPE_MARKER_TAXI_ORDER) - } - OCHThreadPoolManager.getsInstance().execute(removeAllMapMarkerRunnable) + MapMakerManager.removeAllMapMarkerByOwner(TYPE_MARKER_TAXI_ORDER) } private fun updateOrderBottomBtn(txt: String?, txtColorId: Int, bgColorId: Int, isClickable: Boolean) { @@ -894,26 +851,4 @@ class TaxiBeingTaskFragment : BaseFragment(), mViewModel.startOrStopOrderLoop(false) super.onDestroy() } - - /** - * END - */ - companion object { - const val TAG = "TaxiBeingTaskFragment" - @SuppressLint("StaticFieldLeak") - private var mActivity: Activity? = null - @SuppressLint("StaticFieldLeak") - private var mTaxiFragment: TaxiFragment? = null - fun newInstance( - activity: Activity?, - taxiFragment: TaxiFragment? - ): TaxiBeingTaskFragment { - mActivity = activity - mTaxiFragment = taxiFragment - val args = Bundle() - val fragment = TaxiBeingTaskFragment() - fragment.arguments = args - return fragment - } - } } \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/DimenUtil.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/DimenUtil.kt deleted file mode 100644 index 0ef16d740a..0000000000 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/DimenUtil.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.mogo.och.taxi.utils - -import android.content.res.Resources - -/** - * @author: wangmingjun - * @date: 2022/1/21 - */ -object DimenUtil{ - fun dp2px(value:Float):Float{ - return (0.5f + value * Resources.getSystem().displayMetrics.density) - } -} \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/MapMakerManager.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/MapMakerManager.kt new file mode 100644 index 0000000000..ffd8b423bd --- /dev/null +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/MapMakerManager.kt @@ -0,0 +1,85 @@ +package com.mogo.och.taxi.utils + +import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.map.overlay.core.Level +import com.mogo.map.overlay.point.Point +import com.mogo.och.common.module.utils.OCHThreadPoolManager + +/** + * @author: wangmingjun + * @date: 2023/8/23 + */ +object MapMakerManager { + + fun addMapMaker(owner: String, uuid: String, lat: Double, lon: Double, resourceId: Int){ + + val setMapMarkerRunnable = Runnable { + CallerLogger.d( + SceneConstant.M_TAXI + "setMapMaker= " + Thread.currentThread() + .name, + "$uuid=latitude=$lat,longitude=$lon" + ) + val builder = + Point.Options.Builder( + owner, + Level.MAP_MARKER + ) + .setId(uuid) + .anchor(0.5f, 0.5f) + .set3DMode(true) + .isUseGps(true) + .controlAngle(true) + .icon3DRes(resourceId) + .latitude(lat) + .longitude(lon) + val mapUIController = + CallerMapUIServiceManager.getMapUIController() + if (mapUIController != null) { + val centerLine = + mapUIController.getCenterLineInfo( + lon, lat, -1f + ) + if (null != centerLine) { // 有可能鹰眼map为空没有角度。判空使用后可能造成maker角度跟道路角度不一致 + val angle = centerLine.angle + if (angle != null) { + builder.rotate(angle.toFloat()) + } + } + } + val overlayManager = + CallerMapUIServiceManager.getOverlayManager() + overlayManager?.showOrUpdatePoint(builder.build()) + } + OCHThreadPoolManager.getsInstance().execute(setMapMarkerRunnable) + } + + fun removeMapMaker(uuid: String, lat: Double, lon: Double){ + //开启线程移除起终点marker设置 + val removeMapMarkerRunnable = Runnable { + CallerLogger.d( + SceneConstant.M_TAXI + "RemoveMapMaker=" + Thread.currentThread() + .name, + "$uuid=latitude=$lat,longitude=$lon" + ) + val overlayManager = + CallerMapUIServiceManager.getOverlayManager() + overlayManager?.removePoint(uuid) + } + OCHThreadPoolManager.getsInstance().execute(removeMapMarkerRunnable) + } + + fun removeAllMapMarkerByOwner(owner: String){ + //开启线程移除起终点marker设置 + val removeAllMapMarkerRunnable = Runnable { + CallerLogger.d( + SceneConstant.M_TAXI + "removeAllMapMarkerRunnable=" + Thread.currentThread() + ) + val overlayManager = + CallerMapUIServiceManager.getOverlayManager() + overlayManager?.removeAllLinesInOwner(owner) + } + OCHThreadPoolManager.getsInstance().execute(removeAllMapMarkerRunnable) + } +} \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/OrderUtil.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/OrderUtil.java deleted file mode 100644 index ff17be437f..0000000000 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/OrderUtil.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.mogo.och.taxi.utils; - -import java.util.Arrays; - -/** - * Created on 2021/9/11 - */ -public class OrderUtil { - - // 判断两个list中的订单是否相同:依据orderId -// public static boolean haveSameOrders(List list1, -// List list2) { -// OrderQueryRespBean.Result[] arr1 = list1.toArray(new OrderQueryRespBean.Result[]{}); -// OrderQueryRespBean.Result[] arr2 = list2.toArray(new OrderQueryRespBean.Result[]{}); -// Arrays.sort(arr1); -// Arrays.sort(arr1); -// return Arrays.equals(arr1,arr2); -// } -} diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/PermissionUtil.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/PermissionUtil.java deleted file mode 100644 index 121533db99..0000000000 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/utils/PermissionUtil.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.mogo.och.taxi.utils; - -import android.app.AppOpsManager; -import android.content.Context; -import android.content.pm.PackageManager; -import android.location.LocationManager; -import android.os.Build; - -import androidx.core.content.ContextCompat; - -/** - * @author: wangmingjun - * @date: 2021/12/7 - */ -public class PermissionUtil { - - public static boolean checkPermission(Context context,String... permissons) { - - for (String permisson : permissons) { - if ((ContextCompat.checkSelfPermission(context, - permisson) != PackageManager.PERMISSION_GRANTED)) { - return false; - } - } - return true; - } - - public static boolean isLocServiceEnable(Context context) { - LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); - boolean gps = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); - boolean network = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); - if (gps || network) { - return true; - } - return false; - } -}