From 4c6d452c2dfe07ddd894347bf7909a405cc7c814 Mon Sep 17 00:00:00 2001 From: lianglihui Date: Wed, 23 Jun 2021 14:47:27 +0800 Subject: [PATCH 01/10] =?UTF-8?q?fix=20MAP=5FSDK=5FVERSION=20release?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E4=B8=8B=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index e453b51bc8..d01ba26b11 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -56,6 +56,9 @@ android { shrinkResources false signingConfig signingConfigs.release proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + manifestPlaceholders =[ + MAP_SDK_VERSION : properties.getProperty("MAP_SDK_VERSION") + ] } } compileOptions { From f1cb99c0609b2f8b42774e1447f27e50c88570f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Wed, 23 Jun 2021 17:08:22 +0800 Subject: [PATCH 02/10] Fix mock data --- OCH/mogo-och/src/main/java/com/mogo/och/BaseOchFragment.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OCH/mogo-och/src/main/java/com/mogo/och/BaseOchFragment.java b/OCH/mogo-och/src/main/java/com/mogo/och/BaseOchFragment.java index 8c1fab5ea4..4e3c4f0083 100644 --- a/OCH/mogo-och/src/main/java/com/mogo/och/BaseOchFragment.java +++ b/OCH/mogo-och/src/main/java/com/mogo/och/BaseOchFragment.java @@ -123,9 +123,9 @@ public abstract class BaseOchFragment> e RemoteControlAutoPilotParameters currentAutopilot = new RemoteControlAutoPilotParameters(); currentAutopilot.isSpeakVoice = true; // 万集东门站 - currentAutopilot.startLatLon = new RemoteControlAutoPilotParameters.AutoPilotLonLat(116.74157277,40.19885549); + currentAutopilot.startLatLon = new RemoteControlAutoPilotParameters.AutoPilotLonLat(40.19885549,116.74157277); // 市政府前街18号 - currentAutopilot.endLatLon = new RemoteControlAutoPilotParameters.AutoPilotLonLat(116.729134342,40.1953113732); + currentAutopilot.endLatLon = new RemoteControlAutoPilotParameters.AutoPilotLonLat(40.1953113732,116.729134342); // 订单运营类型 (9出租车,10小巴) currentAutopilot.vehicleType = 10; Logger.d(TAG, "模拟 订单站点下发:" + currentAutopilot); From 507619ce19fa9b2b63bf080be95c64ed34410235 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Wed, 23 Jun 2021 17:31:55 +0800 Subject: [PATCH 03/10] Fix mock gps data --- OCH/mogo-och/src/main/java/com/mogo/och/BaseOchFragment.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OCH/mogo-och/src/main/java/com/mogo/och/BaseOchFragment.java b/OCH/mogo-och/src/main/java/com/mogo/och/BaseOchFragment.java index 4e3c4f0083..dd59c7c84a 100644 --- a/OCH/mogo-och/src/main/java/com/mogo/och/BaseOchFragment.java +++ b/OCH/mogo-och/src/main/java/com/mogo/och/BaseOchFragment.java @@ -123,9 +123,9 @@ public abstract class BaseOchFragment> e RemoteControlAutoPilotParameters currentAutopilot = new RemoteControlAutoPilotParameters(); currentAutopilot.isSpeakVoice = true; // 万集东门站 - currentAutopilot.startLatLon = new RemoteControlAutoPilotParameters.AutoPilotLonLat(40.19885549,116.74157277); + currentAutopilot.startLatLon = new RemoteControlAutoPilotParameters.AutoPilotLonLat(40.194795425,116.724476409); // 市政府前街18号 - currentAutopilot.endLatLon = new RemoteControlAutoPilotParameters.AutoPilotLonLat(40.1953113732,116.729134342); + currentAutopilot.endLatLon = new RemoteControlAutoPilotParameters.AutoPilotLonLat(40.1939540844,116.720067); // 订单运营类型 (9出租车,10小巴) currentAutopilot.vehicleType = 10; Logger.d(TAG, "模拟 订单站点下发:" + currentAutopilot); From 552ed03732b928fb3be92c289bc2d1c387472d61 Mon Sep 17 00:00:00 2001 From: wujifei Date: Wed, 23 Jun 2021 17:55:59 +0800 Subject: [PATCH 04/10] =?UTF-8?q?fix#=E4=BF=AE=E6=94=B9=E8=87=AA=E8=BD=A6?= =?UTF-8?q?=E5=AE=9A=E4=BD=8D=E8=8E=B7=E5=8F=96=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/module/service/strategy/CarIconDisplayStrategy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/strategy/CarIconDisplayStrategy.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/strategy/CarIconDisplayStrategy.java index b181e95105..6b3a9399e8 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/strategy/CarIconDisplayStrategy.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/strategy/CarIconDisplayStrategy.java @@ -239,7 +239,7 @@ public class CarIconDisplayStrategy { .scale(MarkerServiceHandler.getMogoStatusManager().isVrMode() ? 0.4f : 1.0f) .autoManager(false) .anchor(0.5f, 0.5f) - .position(MarkerServiceHandler.getMapService().getNavi(AbsMogoApplication.getApp()).getCarLocation2())); + .position(MarkerServiceHandler.getMapService().getMapUIController().getWindowCenterLocation())); } catch (Exception e) { e.printStackTrace(); mSeekHelpingMarker = MarkerServiceHandler.getMarkerManager().addMarker( From a55759fa0001378577b57a287be322baf6d7f925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Wed, 23 Jun 2021 21:13:45 +0800 Subject: [PATCH 05/10] Fix small map location follow bug --- .../main/launcher/MainLauncherActivity.java | 2 +- .../small/map/SmallMapDirectionView.java | 12 +++++++++++- .../module/small/map/SmallMapFragment.java | 2 -- .../module/small/map/SmallMapProvider.java | 19 +++++++++++++++---- .../com/mogo/service/IMogoServiceApis.java | 2 +- .../{map => smp}/IMogoSmallMapProvider.java | 19 ++++++++++++++++--- .../mogo/service/impl/MogoServiceApis.java | 3 +-- 7 files changed, 45 insertions(+), 14 deletions(-) rename services/mogo-service-api/src/main/java/com/mogo/service/{map => smp}/IMogoSmallMapProvider.java (65%) diff --git a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java index 9691975a38..d629165e9e 100644 --- a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java +++ b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java @@ -20,7 +20,7 @@ import com.mogo.module.main.cards.MogoModulesManager; import com.mogo.module.service.receiver.MogoReceiver; import com.mogo.och.IMogoOCH; import com.mogo.service.intent.IMogoIntentListener; -import com.mogo.service.map.IMogoSmallMapProvider; +import com.mogo.service.smp.IMogoSmallMapProvider; import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.service.v2x.IV2XWarningListener; import com.mogo.utils.logger.Logger; diff --git a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapDirectionView.java b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapDirectionView.java index 0141fd5a96..635cffebd5 100644 --- a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapDirectionView.java +++ b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapDirectionView.java @@ -90,6 +90,15 @@ public class SmallMapDirectionView extends RelativeLayout implements IMogoCarLoc }); } + @Override + protected void onDetachedFromWindow() { + super.onDetachedFromWindow(); + // 注册定位监听 + SmpServiceManager.getMogoRegisterCenter() + .unregisterCarLocationChangedListener(MODULE_NAME, this); + + } + private void initAMapView() { // 车头朝上 mAMapNaviView.setNaviMode(AMapNaviView.CAR_UP_MODE); @@ -104,7 +113,8 @@ public class SmallMapDirectionView extends RelativeLayout implements IMogoCarLoc mAMap.setTrafficEnabled(false); mAMapNavi = AMapNavi.getInstance(getContext()); - mAMapNavi.setIsUseExtraGPSData(false); + //使用外部GPS数据 + mAMapNavi.setIsUseExtraGPSData(true); new Thread(() -> { try { diff --git a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapFragment.java b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapFragment.java index 1aecd0d01f..196f4fb605 100644 --- a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapFragment.java +++ b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapFragment.java @@ -17,13 +17,11 @@ import com.mogo.commons.AbsMogoApplication; * @date 2021/5/19 10:50 上午 */ public class SmallMapFragment extends Fragment { - private Context mContext; protected View mRootView; @Override public void onAttach(Context context) { super.onAttach(context); - mContext = context; } @Nullable diff --git a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapProvider.java b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapProvider.java index 0dac09d276..b50fc012cd 100644 --- a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapProvider.java +++ b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapProvider.java @@ -6,13 +6,16 @@ import android.util.Log; import androidx.fragment.app.FragmentActivity; import com.alibaba.android.arouter.facade.annotation.Route; +import com.mogo.map.MogoLatLng; import com.mogo.module.common.MogoApisHandler; import com.mogo.service.MogoServicePaths; -import com.mogo.service.map.IMogoSmallMapProvider; +import com.mogo.service.smp.IMogoSmallMapProvider; import com.mogo.service.statusmanager.IMogoStatusChangedListener; import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.utils.logger.Logger; +import java.util.List; + /** * @author donghongyu * @date 12/10/20 1:34 PM @@ -32,9 +35,7 @@ public class SmallMapProvider implements IMogoSmallMapProvider, IMogoStatusChang Log.d(TAG, "小地图模块初始化……init(FragmentActivity activity, int containerId)"); mActivity = activity; mContainerId = containerId; - - Logger.d(TAG, "addSmallMapView"); - + SmpServiceManager.init(mActivity); } @Override @@ -86,6 +87,16 @@ public class SmallMapProvider implements IMogoSmallMapProvider, IMogoStatusChang } + @Override + public void drawablePolyline(List coordinates) { + + } + + @Override + public void clearPolyline() { + + } + @Override public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) { Log.d(TAG, "onStatusChanged……descriptor=" + descriptor + ",isTrue=" + isTrue); diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/IMogoServiceApis.java b/services/mogo-service-api/src/main/java/com/mogo/service/IMogoServiceApis.java index 9b94367304..b14ea8527f 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/IMogoServiceApis.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/IMogoServiceApis.java @@ -19,7 +19,7 @@ import com.mogo.service.launcher.IMogoLauncher; import com.mogo.service.locationinfo.IMogoLocationInfoService; import com.mogo.service.map.IMogoMapFrameController; import com.mogo.service.map.IMogoMapService; -import com.mogo.service.map.IMogoSmallMapProvider; +import com.mogo.service.smp.IMogoSmallMapProvider; import com.mogo.service.module.IMogoActionManager; import com.mogo.service.module.IMogoAddressManager; import com.mogo.service.module.IMogoMarkerService; diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/map/IMogoSmallMapProvider.java b/services/mogo-service-api/src/main/java/com/mogo/service/smp/IMogoSmallMapProvider.java similarity index 65% rename from services/mogo-service-api/src/main/java/com/mogo/service/map/IMogoSmallMapProvider.java rename to services/mogo-service-api/src/main/java/com/mogo/service/smp/IMogoSmallMapProvider.java index 61aa1e5b35..74a2c81174 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/map/IMogoSmallMapProvider.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/smp/IMogoSmallMapProvider.java @@ -1,10 +1,12 @@ -package com.mogo.service.map; +package com.mogo.service.smp; import androidx.annotation.IdRes; import androidx.fragment.app.FragmentActivity; import com.alibaba.android.arouter.facade.template.IProvider; -import com.mogo.service.module.IMogoModuleProvider; +import com.mogo.map.MogoLatLng; + +import java.util.List; /** * @author donghongyu @@ -18,7 +20,7 @@ public interface IMogoSmallMapProvider extends IProvider { * @param activity * @param containerId 容器ID */ - void init(FragmentActivity activity, @IdRes int containerId ); + void init(FragmentActivity activity, @IdRes int containerId); /** * 显示面板 @@ -32,7 +34,18 @@ public interface IMogoSmallMapProvider extends IProvider { /** * 修改轮盘角度 + * * @param angle 角度值 0-359 */ void changeAngle(double angle); + + /** + * 绘制路径线 + */ + void drawablePolyline(List coordinates); + + /** + * 清除路径线 + */ + void clearPolyline(); } diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java b/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java index b7b9906439..63eaede692 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java @@ -1,7 +1,6 @@ package com.mogo.service.impl; import android.content.Context; -import android.util.Log; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.facade.template.IProvider; @@ -28,7 +27,7 @@ import com.mogo.service.launcher.IMogoLauncher; import com.mogo.service.locationinfo.IMogoLocationInfoService; import com.mogo.service.map.IMogoMapFrameController; import com.mogo.service.map.IMogoMapService; -import com.mogo.service.map.IMogoSmallMapProvider; +import com.mogo.service.smp.IMogoSmallMapProvider; import com.mogo.service.module.IMogoActionManager; import com.mogo.service.module.IMogoAddressManager; import com.mogo.service.module.IMogoMarkerService; From ba02e6a82fc0eceadb31ebcea34aa86fa3f4f6ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Thu, 24 Jun 2021 15:01:47 +0800 Subject: [PATCH 06/10] Fix first load http-dns is beijing --- .../src/main/java/com/mogo/och/bus/fragment/OchBusFragment.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/OchBusFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/OchBusFragment.java index 5bc22f3044..2e7387d844 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/OchBusFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/OchBusFragment.java @@ -212,6 +212,8 @@ public class OchBusFragment extends BaseOchFragment< OchBusFragment, OchBusPrese protected void onChangeOperationStatus() { super.onChangeOperationStatus(); mPresenter.onChangeOperationStatus(); + // TODO 临时解决因为首次请求Http-DNS是北京的bug,后续需要考虑Http-DNS状态变化后向外同步的逻辑 + mPresenter.queryBusRoutes(); } /** From a868c5122e4df3b6f662e1cdd7bd4d93de440442 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Thu, 24 Jun 2021 15:27:43 +0800 Subject: [PATCH 07/10] Update auto map version 1.0.0-vr-8.5.53 fix crash bug --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 626d6cf917..329e09eb91 100644 --- a/gradle.properties +++ b/gradle.properties @@ -187,4 +187,4 @@ applicationId=com.mogo.launcer applicationName=IntelligentPilot versionCode=80007 versionName=8.0.7 -MAP_SDK_VERSION=1.0.0-vr-8.5.52 \ No newline at end of file +MAP_SDK_VERSION=1.0.0-vr-8.5.53 \ No newline at end of file From d871b31954830a40df1e6372a2b5380eb978f0d5 Mon Sep 17 00:00:00 2001 From: lianglihui Date: Thu, 24 Jun 2021 16:15:04 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E7=BD=91=E7=BA=A6=E8=BD=A6=20Cancel=20Co?= =?UTF-8?q?mpleted=E7=8A=B6=E6=80=81=E4=B8=8B=20UI=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/och/taxi/MogoOCHTaxiModel.java | 3 ++- .../src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/MogoOCHTaxiModel.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/MogoOCHTaxiModel.java index 8c0d302ec0..1a59d6bc6b 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/MogoOCHTaxiModel.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/MogoOCHTaxiModel.java @@ -620,7 +620,8 @@ class MogoOCHTaxiModel { switch ( status ) { case Cancel: clearCurrentOCHOrder(); - OCHTaxiUiController.getInstance().removeFragment(); +// OCHTaxiUiController.getInstance().removeFragment(); + OCHTaxiUiController.getInstance().onOrderStatusChanged(status.getCode()); break; case UserArriveAtStartStation: mIsArriveAtStartStation = true; diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java index ad814460dd..8c919f046e 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java @@ -407,7 +407,11 @@ class OCHTaxiFragment extends BaseOchFragment< OCHTaxiView, OCHTaxiPresenter > i @Override public void onOrderStatusChanged(int status) { getActivity().runOnUiThread(() -> { - getPanelView().setVisibility(status != 0 ? View.VISIBLE : View.INVISIBLE); + if (status == OCHOrderStatus.None.getCode() || status == OCHOrderStatus.Cancel.getCode() || status == OCHOrderStatus.Completed.getCode() ){ + getPanelView().setVisibility(View.INVISIBLE); + }else { + getPanelView().setVisibility(View.VISIBLE); + } updateOrderStatus(); }); } From f2589150e9747b761f21d72293492d0dd5304072 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Thu, 24 Jun 2021 18:02:52 +0800 Subject: [PATCH 09/10] Fix first app request http dns is wrong --- .../com/mogo/launcher/MogoApplication.java | 29 ++++++++++-- .../com/mogo/httpdns/mogo/MogoHttpDns.java | 44 +++++++++++++++---- .../constants/SharedPrefsConstants.java | 17 +++++++ .../mogo/map/impl/custom/AMapViewWrapper.java | 11 +++++ 4 files changed, 89 insertions(+), 12 deletions(-) create mode 100644 foudations/mogo-commons/src/main/java/com/mogo/commons/constants/SharedPrefsConstants.java diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index a9f0f172b1..453037681a 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -16,6 +16,7 @@ import com.mogo.cloud.passport.IMoGoTokenCallback; import com.mogo.cloud.passport.MoGoAiCloudClient; import com.mogo.cloud.passport.MoGoAiCloudClientConfig; import com.mogo.commons.AbsMogoApplication; +import com.mogo.commons.constants.SharedPrefsConstants; import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.network.Utils; import com.mogo.map.location.MogoLocation; @@ -192,14 +193,34 @@ public class MogoApplication extends AbsMogoApplication { .getApis().getMapServiceApi() .getSingletonLocationClient(getApp()) .getLastKnowLocation(); - //Logger.i(TAG, "刷新DNS" + mogoLocation); - if (mogoLocation != null) { - return new HttpDnsSimpleLocation( + HttpDnsSimpleLocation httpDnsSimpleLocation; + if (mogoLocation != null + && mogoLocation.getLatitude() != 0 + && mogoLocation.getLongitude() != 0) { + httpDnsSimpleLocation = new HttpDnsSimpleLocation( mogoLocation.getCityCode(), mogoLocation.getLatitude(), mogoLocation.getLongitude()); + Logger.i(TAG, "使用实时GPS信息:" + httpDnsSimpleLocation); + } else { + String ciyCode = SharedPrefsMgr.getInstance(getApp()) + .getString(SharedPrefsConstants.LOCATION_CITY_CODE); + String latitude = SharedPrefsMgr.getInstance(getApp()) + .getString(SharedPrefsConstants.LOCATION_LATITUDE); + String longitude = SharedPrefsMgr.getInstance(getApp()) + .getString(SharedPrefsConstants.LOCATION_LONGITUDE); + try { + httpDnsSimpleLocation = new HttpDnsSimpleLocation( + ciyCode, + Double.parseDouble(latitude), + Double.parseDouble(longitude)); + } catch (NumberFormatException e) { + e.printStackTrace(); + httpDnsSimpleLocation = new HttpDnsSimpleLocation("010", 1, 1); + } + Logger.i(TAG, "使用缓存GPS信息:" + httpDnsSimpleLocation); } - return new HttpDnsSimpleLocation("010", 0, 0); + return httpDnsSimpleLocation; } }); diff --git a/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java b/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java index 3d068539e3..76dc9a700b 100644 --- a/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java +++ b/foudations/httpdns-mogo/src/main/java/com/mogo/httpdns/mogo/MogoHttpDns.java @@ -9,6 +9,7 @@ import androidx.annotation.Nullable; import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.cloud.passport.MoGoAiCloudClientConfig; +import com.mogo.commons.constants.SharedPrefsConstants; import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.network.Utils; import com.mogo.httpdns.HttpDnsConst; @@ -23,6 +24,7 @@ import com.mogo.httpdnshelper.sdk.listener.OnAddressChangedListener; import com.mogo.utils.httpdns.HttpSimpleLocation; import com.mogo.utils.logger.Logger; import com.mogo.utils.network.HttpDns; +import com.mogo.utils.storage.SharedPrefsMgr; import java.net.InetAddress; import java.net.UnknownHostException; @@ -37,6 +39,7 @@ import static com.mogo.httpdns.HttpDnsConst.HTTP_DNS_ADDRESS_TYPE_HTTP; @Keep @Route(path = HttpDnsConst.PATH) public class MogoHttpDns implements IMogoHttpDns, HttpDns, OnAddressChangedListener { + private static final String TAG = "MogoHttpDns"; private HttpDnsHelper httpDnsHelper; @Nullable @@ -52,7 +55,7 @@ public class MogoHttpDns implements IMogoHttpDns, HttpDns, OnAddressChangedListe @Override public String syncGetHttpDns(String host, int type, boolean useCache) { - Logger.d("MogoHttpDns", "getHttpDnsIp host: " + host + " type: " + type); + Logger.d(TAG, "getHttpDnsIp host: " + host + " type: " + type); Map map = httpDnsHelper.getAllAddress(); if (useCache) { String address = httpDnsHelper.getHttpDnsCachedAddress(type, host); @@ -68,7 +71,7 @@ public class MogoHttpDns implements IMogoHttpDns, HttpDns, OnAddressChangedListe @Override public void getHttpDnsIp(String host, int type, boolean useCache, IHttpDnsCallback callback) { - Logger.d("MogoHttpDns", "getHttpDnsIp host: " + host + " type: " + type); + Logger.d(TAG, "getHttpDnsIp host: " + host + " type: " + type); Map map = httpDnsHelper.getAllAddress(); if (useCache) { String address = httpDnsHelper.getHttpDnsCachedAddress(type, host); @@ -86,7 +89,7 @@ public class MogoHttpDns implements IMogoHttpDns, HttpDns, OnAddressChangedListe @Override public void addHttpDnsTtlCallback(String host, int type, IHttpDnsTtlCallback callback) { - Logger.d("MogoHttpDns", "addHttpDnsTtlCallback: host: " + host + " type: " + type); + Logger.d(TAG, "addHttpDnsTtlCallback: host: " + host + " type: " + type); if (ttlCallbackMap.get(type + "-" + host) == null) { ttlCallbackMap.put(type + "-" + host, new ArrayList()); } @@ -105,17 +108,42 @@ public class MogoHttpDns implements IMogoHttpDns, HttpDns, OnAddressChangedListe } @Override - public void init(Context context, final IHttpDnsLocationChanged locationChanged) { - // .setDefaultUrl("dzt.zhidaozhixing.com") + public void init(final Context context, final IHttpDnsLocationChanged locationChanged) { httpDnsHelper = new HttpDnsHelper.Builder().setContext(context).setEnv(DebugConfig.getNetMode()).setSn(MoGoAiCloudClientConfig.getInstance().getSn()).setShowDebugLog(true).setLoopCheckDelay(15 * 60 * 1000).setCurrentLocation(new IHttpDnsCurrentLocation() { @org.jetbrains.annotations.Nullable @Override public HttpDnsSimpleLocation getCurrentLocation() { HttpSimpleLocation simpleLocation = locationChanged.getLocation(); - if (simpleLocation != null) { - return new HttpDnsSimpleLocation("010", simpleLocation.getLat(), simpleLocation.getLon()); + + + HttpDnsSimpleLocation httpDnsSimpleLocation; + if (simpleLocation != null + && simpleLocation.getLat() != 0 + && simpleLocation.getLon() != 0) { + httpDnsSimpleLocation = new HttpDnsSimpleLocation( + simpleLocation.getCityCode(), + simpleLocation.getLat(), + simpleLocation.getLon()); + Logger.i(TAG, "使用实时GPS信息:" + httpDnsSimpleLocation); + } else { + String ciyCode = SharedPrefsMgr.getInstance(context) + .getString(SharedPrefsConstants.LOCATION_CITY_CODE); + String latitude = SharedPrefsMgr.getInstance(context) + .getString(SharedPrefsConstants.LOCATION_LATITUDE); + String longitude = SharedPrefsMgr.getInstance(context) + .getString(SharedPrefsConstants.LOCATION_LONGITUDE); + try { + httpDnsSimpleLocation = new HttpDnsSimpleLocation( + ciyCode, + Double.parseDouble(latitude), + Double.parseDouble(longitude)); + } catch (NumberFormatException e) { + e.printStackTrace(); + httpDnsSimpleLocation = new HttpDnsSimpleLocation("010", 1, 1); + } + Logger.i(TAG, "使用缓存GPS信息:" + httpDnsSimpleLocation); } - return null; + return httpDnsSimpleLocation; } }).build(); httpDnsHelper.setAddressChangedListener(this); diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/constants/SharedPrefsConstants.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/constants/SharedPrefsConstants.java new file mode 100644 index 0000000000..1ead72700c --- /dev/null +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/constants/SharedPrefsConstants.java @@ -0,0 +1,17 @@ +package com.mogo.commons.constants; + +/** + * @author xiaoyuzhou + * @date 2021/6/24 5:09 下午 + *

+ * 本地存储使用的常量 + */ +public class SharedPrefsConstants { + + // 当前城市编码 + public static final String LOCATION_CITY_CODE = "location_city_code"; + // 当前城市经纬度 + public static final String LOCATION_LATITUDE = "location_latitude"; + public static final String LOCATION_LONGITUDE = "location_longitude"; + +} diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java index fa50c2e6bf..ace1c26a15 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java @@ -16,6 +16,7 @@ import android.view.ViewGroup; import android.view.animation.Interpolator; import android.widget.TextView; +import com.mogo.commons.constants.SharedPrefsConstants; import com.mogo.commons.debug.DebugConfig; import com.mogo.map.IMogoMap; import com.mogo.map.IMogoMapView; @@ -37,6 +38,7 @@ import com.mogo.map.uicontroller.VisualAngleMode; import com.mogo.utils.TipToast; import com.mogo.utils.UiThreadHandler; import com.mogo.utils.logger.Logger; +import com.mogo.utils.storage.SharedPrefsMgr; import com.zhidaoauto.map.sdk.open.MapAutoApi; import com.zhidaoauto.map.sdk.open.abs.MapStatusListener; import com.zhidaoauto.map.sdk.open.abs.OnCameraChangeListener; @@ -769,6 +771,15 @@ public class AMapViewWrapper implements IMogoMapView, sysLocation.setBearing(location.getHeading()); sysLocation.setSpeed(location.getSpeed()); + // 暂存本地,提供给下一次的Http-DNS使用,防止首次请求位置获取不到 + SharedPrefsMgr.getInstance(mMapView.getContext()) + .putString(SharedPrefsConstants.LOCATION_CITY_CODE, location.getCityCode()); + SharedPrefsMgr.getInstance(mMapView.getContext()) + .putString(SharedPrefsConstants.LOCATION_LATITUDE, String.valueOf(location.getLat())); + SharedPrefsMgr.getInstance(mMapView.getContext()) + .putString(SharedPrefsConstants.LOCATION_LONGITUDE, String.valueOf(location.getLon())); + + NaviClient.getInstance(getContext()).syncCarLocation(sysLocation); if (checkAMapView() && mMapLoaded) { // 地图初始化完成后,每隔5s自动判断当前地图的模式 From 2fb900ef069755223d0da1a7c90aedc3c0e2eb2e Mon Sep 17 00:00:00 2001 From: lianglihui Date: Fri, 25 Jun 2021 14:36:50 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E7=BD=91=E7=BA=A6=E8=BD=A6=20=E8=B0=83?= =?UTF-8?q?=E8=AF=95=20cancel=E5=9C=BA=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java index 8c919f046e..80f6fe0319 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java @@ -394,7 +394,7 @@ class OCHTaxiFragment extends BaseOchFragment< OCHTaxiView, OCHTaxiPresenter > i } else { AIAssist.getInstance(getContext()).speakTTSVoice("已收车"); tvOperationStatus.setText("出车"); -// hideSlidePanel(); + hideSlidePanel(); // hidPanel(); } // changeLayoutViewStatus(launch); @@ -409,6 +409,7 @@ class OCHTaxiFragment extends BaseOchFragment< OCHTaxiView, OCHTaxiPresenter > i getActivity().runOnUiThread(() -> { if (status == OCHOrderStatus.None.getCode() || status == OCHOrderStatus.Cancel.getCode() || status == OCHOrderStatus.Completed.getCode() ){ getPanelView().setVisibility(View.INVISIBLE); + hideSlidePanel(); }else { getPanelView().setVisibility(View.VISIBLE); }