[feature]

[3.4.0]
[删除获取路名的功能]
This commit is contained in:
yangyakun
2023-07-07 10:48:43 +08:00
parent 50c0d1f36f
commit 09fcca106c
6 changed files with 1 additions and 176 deletions

View File

@@ -15,9 +15,6 @@ public interface IOCHTaxiPassengerOrderStatusCallback {
// 当前位置距离上车点的距离(米)、预估时间(秒)
void onCurrentOrderDistToEndChanged(long meters, long timeInSecond);
//当前路名字
void onCurrentRoadName(String currentRoadName);
// 司机已确认开启自动驾驶环境
void onDriverHasCheckedPilotCondition(boolean isBoarded);
}

View File

@@ -1,125 +0,0 @@
package com.mogo.och.taxi.passenger.model;
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P;
import android.content.Context;
import com.amap.api.services.core.AMapException;
import com.amap.api.services.core.LatLonPoint;
import com.amap.api.services.geocoder.GeocodeResult;
import com.amap.api.services.geocoder.GeocodeSearch;
import com.amap.api.services.geocoder.RegeocodeQuery;
import com.amap.api.services.geocoder.RegeocodeResult;
import com.amap.api.services.geocoder.RegeocodeRoad;
import com.mogo.eagle.core.network.utils.GsonUtil;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerNaviChangedCallback;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
/**
* @author: wangmingjun
* @date: 2021/12/6
*/
public class TaxiPassengerGeocodeSearchModel implements GeocodeSearch.OnGeocodeSearchListener {
private final String TAG = TaxiPassengerGeocodeSearchModel.class.getSimpleName();
private static Context mContext;
private IOCHTaxiPassengerNaviChangedCallback mNaviChangedCallback;
GeocodeSearch mGeocodeSearch = null;
private String roadName = "";
private Timer timer ;
TimerTask timerTask;
public static TaxiPassengerGeocodeSearchModel getInstance(Context context) {
mContext = context;
return SingletonHolder.INSTANCE;
}
private static final class SingletonHolder {
private static final TaxiPassengerGeocodeSearchModel INSTANCE = new TaxiPassengerGeocodeSearchModel();
}
private TaxiPassengerGeocodeSearchModel(){
}
public void initGeocodeSearch(){
//通过经纬度逆地理编码得到位置
try {
mGeocodeSearch = new GeocodeSearch(mContext);
mGeocodeSearch.setOnGeocodeSearchListener(this);
} catch (AMapException e) {
e.printStackTrace();
}
timer = new Timer();
timerTask = new TimerTask() {
@Override
public void run() {
if (mNaviChangedCallback != null){
CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "roadName道路名称: " + roadName);
mNaviChangedCallback.onCurrentRoadName(roadName);
}
}
};
try{
timer.schedule(timerTask,500,2000);
}catch (Exception e){
e.printStackTrace();
}
}
public void searchLocationInfo(double lat, double lon){
if (null != mGeocodeSearch){
LatLonPoint latLng = new LatLonPoint(lat, lon);
//第一个参数表示一个Latlng第二参数表示范围多少米第三个参数表示是火系坐标系还是GPS原生坐标系
RegeocodeQuery query = new RegeocodeQuery(latLng, 200, GeocodeSearch.AMAP);
mGeocodeSearch.getFromLocationAsyn(query);
}
}
public void destroyGeocodeSearch(){
CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "destroyGeocodeSearch");
if (mGeocodeSearch != null){
mGeocodeSearch = null;
}
if (mNaviChangedCallback != null){
mNaviChangedCallback = null;
}
if (null != timer){
timer.cancel();
}
if (null != timerTask){
timerTask = null;
}
roadName = "";
}
public void setOCHTaciNaviChangedCallback(IOCHTaxiPassengerNaviChangedCallback callback){
this.mNaviChangedCallback = callback;
}
@Override
public void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i) {//更新频率几十 ms, 暂定更新UI为2s一次
if (regeocodeResult != null) {
List<RegeocodeRoad> roads = regeocodeResult.getRegeocodeAddress().getRoads();
CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "位置roads" + GsonUtil.jsonFromObject(roads));
if (roads != null && roads.size() > 0){
roadName = roads.get(0).getName();//当前路的名字
// mNaviChangedCallback.onCurrentRoadName(roads.get(0).getName());
}
}
}
@Override
public void onGeocodeSearched(GeocodeResult geocodeResult, int i) {
}
}

View File

@@ -86,7 +86,7 @@ import java.util.concurrent.ConcurrentHashMap
* 网约车 - 出租车业务逻辑处理
*/
@SuppressLint("StaticFieldLeak")
object TaxiPassengerModel : IOCHTaxiPassengerNaviChangedCallback {
object TaxiPassengerModel {
private var mContext: Context? = null
@@ -528,21 +528,6 @@ object TaxiPassengerModel : IOCHTaxiPassengerNaviChangedCallback {
}
}
/**
* 导航订单起点到终点 获得剩余时间,里程,预计到达时间
*/
fun initGeocodeSearch() {
if (currentOCHOrder != null) {
TaxiPassengerGeocodeSearchModel.getInstance(mContext).initGeocodeSearch()
TaxiPassengerGeocodeSearchModel.getInstance(mContext)
.setOCHTaciNaviChangedCallback(this)
}
}
fun destoryGeocodeSearch() {
TaxiPassengerGeocodeSearchModel.getInstance(mContext).destroyGeocodeSearch()
}
fun startOrStopQueryOrderRemaining(isStart: Boolean) {
if (isStart) {
BizLoopManager.setLoopFunction(MQUERYORDERREMAINING,LoopInfo(2, TaxiPassengerModel::queryOrderRemaining))
@@ -606,12 +591,6 @@ object TaxiPassengerModel : IOCHTaxiPassengerNaviChangedCallback {
})
}
override fun onCurrentRoadName(currentRoadName: String) {
for (callback in mOrderStatusCallbackMap.values) {
callback.onCurrentRoadName(currentRoadName)
}
}
/**
* 订单结束或者取消的时候, 刷新导航标识位以及缓存的数据
*/

View File

@@ -21,7 +21,6 @@ import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerADASStatusCallback;
import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback;
import com.mogo.och.taxi.passenger.callback.ITaxiPassengerCommonCallback;
import com.mogo.och.taxi.passenger.constant.TaxiPassengerOrderStatusEnum;
import com.mogo.och.taxi.passenger.model.TaxiPassengerGeocodeSearchModel;
import com.mogo.och.taxi.passenger.model.TaxiPassengerModel;
import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment;
import com.mogo.och.taxi.passenger.ui.leftmenu.LeftMenuOpen;
@@ -130,11 +129,6 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
LeftMenuOpen.INSTANCE.callCallBack(meters,timeInSecond,-1);
}
@Override
public void onCurrentRoadName(String currentRoadName) {
}
@Override
public void onDriverHasCheckedPilotCondition(boolean isBoarded) {
CallerLogger.INSTANCE.d(M_TAXI_P+TAG,"isBoarded = "+isBoarded);
@@ -156,7 +150,6 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
mView.showOrHideArrivedEndLayout(false,"","");
});
TaxiPassengerModel.INSTANCE.recoverNaviInfo();
TaxiPassengerGeocodeSearchModel.getInstance(getContext()).destroyGeocodeSearch();
TaxiPassengerModel.INSTANCE.startOrStopReadyToAutopilotLoop(false);
clearV2XMarkers();
TaxiPassengerModel.INSTANCE.cleanStation();
@@ -209,7 +202,6 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
// 50 到达终点 乘客可以评价
if (TaxiPassengerOrderStatusEnum.ArriveAtEnd.getCode() == order.orderStatus){
TaxiPassengerModel.INSTANCE.recoverNaviInfo();
TaxiPassengerGeocodeSearchModel.getInstance(getContext()).destroyGeocodeSearch();
mView.showOrHideOverMapViewFragment(false);
runOnUIThread(() -> {
mView.showOrHideServingOrderFragment(false,true);
@@ -222,7 +214,6 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
}
// 60 服务完成 页面
if (TaxiPassengerOrderStatusEnum.JourneyCompleted.getCode() == order.orderStatus){
TaxiPassengerGeocodeSearchModel.getInstance(getContext()).destroyGeocodeSearch();
mCurrentPassengerOrder = null;
clearV2XMarkers();
TaxiPassengerModel.INSTANCE.cleanStation();

View File

@@ -109,11 +109,6 @@ public class TaxiPassengerServingOrderPresenter extends Presenter<TaxiPassengerS
runOnUIThread(() -> mView.onCurrentOrderDistToEndChanged(meters, timeInSecond));
}
@Override
public void onCurrentRoadName(String currentRoadName) {
runOnUIThread(() -> mView.onCurrentRoadName(currentRoadName));
}
@Override
public void onDriverHasCheckedPilotCondition(boolean isBoarded) {

View File

@@ -144,25 +144,18 @@ class TaxiPassengerServingOrderFragment :
mProgressSeekBar?.jumpDrawablesToCurrentState()
}
private fun updateDriveRoadName(currentRoadName: String) {
mProgessDes?.text = currentRoadName
}
override fun onResume() {
super.onResume()
mMapRottingView?.onResume()
mAmapNaviVIew?.onResume()
TaxiPassengerModel.initGeocodeSearch()
}
override fun onHiddenChanged(hidden: Boolean) {
super.onHiddenChanged(hidden)
if (hidden) { //fragment 隐藏, 导航取消c
clearPolyline()
TaxiPassengerModel.destoryGeocodeSearch()
} else { //fragment 显示, 导航开始
e(SceneConstant.M_TAXI_P + "TaxiPassengerNaviTo", "initGeocodeSearch")
TaxiPassengerModel.initGeocodeSearch()
}
}
@@ -177,7 +170,6 @@ class TaxiPassengerServingOrderFragment :
mMapRottingView?.onDestroy()
mAmapNaviVIew?.onDestroy()
AmapNaviToDestinationModel.getInstance(context).destroyAmaNavi()
TaxiPassengerModel.destoryGeocodeSearch()
}
fun showRottingMapView() {
@@ -264,10 +256,6 @@ class TaxiPassengerServingOrderFragment :
updateDriveProcessLoading(meters.toInt())
}
fun onCurrentRoadName(roadName: String) {
updateDriveRoadName(roadName)
}
private fun updateOrderDisAndTimeView(
remainDis: String,
remainDisUnit: String,