[6.0.0] 1、删除无用类 2、设置地图marker
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
@@ -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<OrderQueryRespBean.Result> list1,
|
||||
// List<OrderQueryRespBean.Result> 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);
|
||||
// }
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user