From e26b2522775143e45673c24c89cf16c6dee0d29f Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Mon, 3 Feb 2020 17:43:37 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=9F=B3=E4=B9=90?= =?UTF-8?q?=E5=92=8C=E8=BD=A6=E8=BE=86=E8=AE=BE=E7=BD=AE=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/apps/AppNavigatorFragment.java | 18 +++++++++--- .../java/com/mogo/module/apps/AppsConst.java | 9 ++++++ .../com/mogo/module/apps/AppsPresenter.java | 6 ++-- .../mogo/module/apps/utils/LaunchUtils.java | 28 +++++++++++++++++++ .../module/service/MogoServiceProvider.java | 2 +- 5 files changed, 54 insertions(+), 9 deletions(-) create mode 100644 modules/mogo-module-apps/src/main/java/com/mogo/module/apps/utils/LaunchUtils.java diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java index 249509325e..b967c5cdcc 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorFragment.java @@ -8,15 +8,15 @@ import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import com.alibaba.android.arouter.launcher.ARouter; -import com.mogo.commons.mvp.IView; import com.mogo.commons.mvp.MvpFragment; -import com.mogo.commons.mvp.Presenter; +import com.mogo.module.apps.utils.LaunchUtils; import com.mogo.module.common.MogoModulePaths; import com.mogo.service.MogoServicePaths; import com.mogo.service.analytics.IMogoAnalytics; import com.mogo.service.fragmentmanager.FragmentDescriptor; import com.mogo.service.fragmentmanager.IMogoFragmentManager; import com.mogo.service.module.IMogoModuleProvider; +import com.mogo.utils.TipToast; import java.util.HashMap; import java.util.Map; @@ -63,10 +63,20 @@ public class AppNavigatorFragment extends MvpFragment< AppNavigatorView, AppNavi trackNavigatorClickEvent( 1 ); } ); mMediaCenter.setOnClickListener( view -> { - trackNavigatorClickEvent( 2 ); + try { + LaunchUtils.launchByPkg( getContext(), AppsConst.APP_PKG_MUSIC ); + trackNavigatorClickEvent( 2 ); + } catch ( Exception e ) { + TipToast.shortTip( R.string.module_apps_str_no_app ); + } } ); mCarSettings.setOnClickListener( view -> { - trackNavigatorClickEvent( 3 ); + try { + LaunchUtils.launchByPkg( getContext(), AppsConst.APP_PKG_CAR_SETTINGS ); + trackNavigatorClickEvent( 3 ); + } catch ( Exception e ) { + TipToast.shortTip( R.string.module_apps_str_no_app ); + } } ); mApps.setOnClickListener( view -> { openAppsPanel(); diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsConst.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsConst.java index 48faee2f70..aea6b2cad4 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsConst.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsConst.java @@ -18,4 +18,13 @@ public class AppsConst { public static final String CMD_CLOSE_APPS_PANEL = "CMD_CLOSE_APPS_PANEL"; public static final String[] CMD_CLOSE_APPS_PANEL_UN_WAKEUP_WORDS = {"关闭全部应用"}; + + /** + * 媒体跳转 + */ + public static final String APP_PKG_MUSIC = "com.pvetec.musics"; + /** + * 车辆设置跳转 + */ + public static final String APP_PKG_CAR_SETTINGS = "com.zhidao.settings"; } diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsPresenter.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsPresenter.java index 088d3b7ac7..eada7ed782 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsPresenter.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsPresenter.java @@ -9,6 +9,7 @@ import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.mvp.Presenter; import com.mogo.module.apps.model.AppInfo; import com.mogo.module.apps.model.AppsModel; +import com.mogo.module.apps.utils.LaunchUtils; import com.mogo.service.MogoServicePaths; import com.mogo.service.analytics.IMogoAnalytics; import com.mogo.utils.ThreadPoolService; @@ -66,11 +67,8 @@ public class AppsPresenter extends Presenter< AppsView > { } trackAppClicked( appInfo ); - try { - Intent intent = getContext().getPackageManager().getLaunchIntentForPackage( appInfo.getPackageName() ); - intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); - getContext().startActivity( intent ); + LaunchUtils.launchByPkg( getContext(), appInfo.getPackageName() ); } catch ( Exception e ) { TipToast.shortTip( R.string.module_apps_str_no_app ); } diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/utils/LaunchUtils.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/utils/LaunchUtils.java new file mode 100644 index 0000000000..b328070501 --- /dev/null +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/utils/LaunchUtils.java @@ -0,0 +1,28 @@ +package com.mogo.module.apps.utils; + +import android.content.Context; +import android.content.Intent; + +import com.mogo.module.apps.R; +import com.mogo.utils.TipToast; + +/** + * @author congtaowang + * @since 2020-02-03 + *

+ * 描述 + */ +public class LaunchUtils { + + /** + * 通过包名启动app + * + * @param context + * @param pkg 包名 + */ + public static void launchByPkg( Context context, String pkg ) throws Exception{ + Intent intent = context.getPackageManager().getLaunchIntentForPackage( pkg ); + intent.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); + context.startActivity( intent ); + } +} diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java index 4d4af9c687..d2252c3916 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java @@ -513,7 +513,7 @@ public class MogoServiceProvider implements IMogoModuleProvider, @Override public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) { switch ( descriptor ) { - case USER_INTERACTED: + case USER_INTERACTED: if ( isTrue && !mRefreshRemainingTimeStatus ) { mRefreshRemainingTimeStatus = true; mRefreshRemainingTime += mAutoRefreshStrategy.getInterruptInterval(); From 671db3ad8e21f17571e947bb6c9b4d8a200dab67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Mon, 3 Feb 2020 17:46:24 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E5=90=8C=E6=AD=A5V2X=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=BA=86=E5=88=B7=E6=96=B0=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/module/service/MarkerServiceHandler.java | 8 ++++++-- .../java/com/mogo/module/service/MogoServiceProvider.java | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java index 5d23263783..a4737dd9b1 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java @@ -65,6 +65,9 @@ public class MarkerServiceHandler { private static Context mContext; + // 第一次请求到地图的Marker数据 + private static boolean isFirstMarker; + public static void init(final Context context) { mContext = context; mMapService = (IMogoMapService) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_MAP).navigation(context); @@ -91,7 +94,8 @@ public class MarkerServiceHandler { @Override public void onMsgReceived(MarkerResponse response) { Logger.e(TAG, "======MarkerResponse:" + response); - if (!getMogoStatusManager().isSearchUIShow()) { + if (!getMogoStatusManager().isSearchUIShow() && !getMogoStatusManager().isV2XShow()) { + isFirstMarker=true; drawMapMarker(response); } } @@ -279,7 +283,7 @@ public class MarkerServiceHandler { markerCardResult.getDataType().contains(ServiceConst.CARD_TYPE_USER_DATA)) { getMarkerManager().removeMarkers(ServiceConst.CARD_TYPE_USER_DATA); getMogoCardManager().switch2(ServiceConst.CARD_TYPE_USER_DATA); - + } else { // 清空所有地图上绘制的Marker getMarkerManager().removeMarkers(); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java index 4d4af9c687..877b30b30b 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java @@ -235,6 +235,7 @@ public class MogoServiceProvider implements IMogoModuleProvider, mStatusManager = ( IMogoStatusManager ) ARouter.getInstance().build( MogoServicePaths.PATH_STATUS_MANAGER ).navigation( context ); mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.USER_INTERACTED, this ); mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.SEARCH_UI, this ); + mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.V2X_UI, this ); //TODO 初始化地图地图绘制大而全的Marker MarkerServiceHandler.init( mContext ); @@ -521,6 +522,7 @@ public class MogoServiceProvider implements IMogoModuleProvider, } break; case SEARCH_UI: + case V2X_UI: if ( isTrue ) { // 搜索时,不在自动刷新打点策略 stopAutoRefreshStrategy(); From 0418ee0da4ef434b9acfea0bbbe3769aa709fe08 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Mon, 3 Feb 2020 19:44:25 +0800 Subject: [PATCH 3/9] add get navi infor --- .../module/tanlu/callback/NaviCallback.java | 13 ++++ .../tanlu/fragment/TanluCardViewFragment.java | 70 +++++++++++++++---- .../mogo/module/tanlu/model/Information.java | 3 + .../mogo/module/tanlu/model/NaviResult.java | 36 ++++++++++ .../module/tanlu/model/NaviRoadRequest.java | 18 +++++ .../module/tanlu/model/TanluModelData.java | 44 +++++++++++- .../module/tanlu/net/TanluApiService.java | 9 +++ 7 files changed, 178 insertions(+), 15 deletions(-) create mode 100644 modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/callback/NaviCallback.java create mode 100644 modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/NaviResult.java create mode 100644 modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/NaviRoadRequest.java diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/callback/NaviCallback.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/callback/NaviCallback.java new file mode 100644 index 0000000000..3eb098bb58 --- /dev/null +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/callback/NaviCallback.java @@ -0,0 +1,13 @@ +package com.mogo.module.tanlu.callback; + +import com.mogo.module.tanlu.model.NaviResult; + +/** + * @author lixiaopeng + * @description 导航沿途数据 + * @since 2020-01-09 + */ +public interface NaviCallback { + void onSuccess(NaviResult data); + void onFail(String message, int code); +} diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java index be7d370936..e4e82a6f85 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java @@ -59,6 +59,7 @@ import com.mogo.module.share.ShareControl; import com.mogo.module.share.constant.ShareConstants; import com.mogo.module.tanlu.R; import com.mogo.module.tanlu.callback.AlongTheWayCallback; +import com.mogo.module.tanlu.callback.NaviCallback; import com.mogo.module.tanlu.callback.RoadLineCallback; import com.mogo.module.tanlu.callback.UploadShareCallback; import com.mogo.module.tanlu.callback.VoiceSearchCallback; @@ -67,6 +68,7 @@ import com.mogo.module.tanlu.model.Center; import com.mogo.module.tanlu.model.Information; import com.mogo.module.tanlu.model.InformationAndLiveCarResult; import com.mogo.module.tanlu.model.Items; +import com.mogo.module.tanlu.model.NaviResult; import com.mogo.module.tanlu.model.PathLineResult; import com.mogo.module.tanlu.model.TanluModelData; import com.mogo.module.tanlu.model.VoiceSearchResult; @@ -335,9 +337,10 @@ public class TanluCardViewFragment extends MvpFragment> } @Override - public void onStartNavi() { //开始导航,这期先不做 -// initModelData(); -// getNavigationLineData(); + public void onStartNavi() { //开始导航 + Log.d(TAG, "onStartNavi -------> "); + initModelData(); + getNavigationData(); } @Override @@ -954,23 +957,64 @@ public class TanluCardViewFragment extends MvpFragment> /** * 导航路线数据事件 TODO */ - public void getNavigationLineData() { - Double lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude(); - Double lon = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLongitude(); - Logger.e(TAG, "getNavigationLineData lon = " + lon + ">>>>> lat= " + lat); - mTanluModelData.getNavigationLineData(lon, lat, new AlongTheWayCallback() { + public void getNavigationData() { +// Double lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude(); +// Double lon = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLongitude(); +// Logger.e(TAG, "getNavigationLine lon = " + lon + ">>>>> lat= " + lat); +// mTanluModelData.getNavigationLineData(lon, lat, new AlongTheWayCallback() { +// @Override +// public void onSuccess(InformationAndLiveCarResult data) { +// //不做任何处理,直接出发推送,重新请求接口,划线 +// } +// +// @Override +// public void onFail(String message, int code) { +// +// } +// }); + + mTanluModelData.getNaviInformation(new NaviCallback() { @Override - public void onSuccess(InformationAndLiveCarResult data) { - Logger.d(TAG, "getNavigationLineData onSuccess "); - //不做任何处理,直接出发推送,重新请求接口,划线 + public void onSuccess(NaviResult data) { + Log.d(TAG, "getNavigationData onSuccess ----->"); + List informationList = data.getResult().getInformations(); + //清除探路之前的数据 + mMarkerManager.removeMarkers(TanluConstants.MODEL_NAME); + + //打点 + ArrayList optionList = new ArrayList<>(); + for (int i = 0; i < informationList.size(); i++) { + //根据type确定添加的图片 + String trafficType = informationList.get(i).trafficInfoType; + if (trafficType.equals("traffic_jam")) { //拥堵 + multiMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_block_up); + } else if (trafficType.equals("car_checking")) { //查车 + multiMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_traffic_check); + } else if (trafficType.equals("0")) { + multiMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_block_up); + } else if (trafficType.equals("traffic_control")) { + multiMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_road_closure); + } + + MogoMarkerOptions options = new MogoMarkerOptions() + .icon(multiMarkerIcon) + .latitude(informationList.get(i).lat) + .owner(TanluConstants.MODEL_NAME) + .longitude(informationList.get(i).lon); + + optionList.add(options); + Log.d(TAG, "lat =" + informationList.get(i).lat + ">>>lon =" + informationList.get(i).lon); + } + Logger.d(TAG, "getNavigationData optionList.size() = " + optionList.size()); + mMarkerManager.addMarkers(TanluConstants.MODEL_NAME, optionList, true); } @Override public void onFail(String message, int code) { - Logger.e(TAG, "getNavigationLineData onFail message = " + message + ">>>code= " + code); - + Log.d(TAG, "getNavigationData message = " + message + ">>>code =" + code); } }); + } /** diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Information.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Information.java index fe996b025f..637a7bcf06 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Information.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Information.java @@ -23,6 +23,7 @@ public class Information extends BaseData implements Parcelable { public int distance; public String nickName; public String headImgUrl; + public String phone; public String trafficInfoType; @@ -43,6 +44,7 @@ public class Information extends BaseData implements Parcelable { dest.writeInt(this.distance); dest.writeString(this.nickName); dest.writeString(this.headImgUrl); + dest.writeString(this.phone); dest.writeString(this.trafficInfoType); } @@ -60,6 +62,7 @@ public class Information extends BaseData implements Parcelable { this.distance = in.readInt(); this.nickName = in.readString(); this.headImgUrl = in.readString(); + this.phone = in.readString(); this.trafficInfoType = in.readString(); } diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/NaviResult.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/NaviResult.java new file mode 100644 index 0000000000..3f25edee5c --- /dev/null +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/NaviResult.java @@ -0,0 +1,36 @@ +package com.mogo.module.tanlu.model; + +import com.mogo.commons.data.BaseData; + +import java.util.List; + +/** + * @author lixiaopeng + * @description 导航沿途数据 + * @since 2020-02-03 + */ +public class NaviResult extends BaseData { + + private Result result; + + public Result getResult() { + return result; + } + + public void setResult(Result result) { + this.result = result; + } + + public static class Result { + private List informations; + + public List getInformations() { + return informations; + } + + public void setInformations(List informations) { + this.informations = informations; + } + } + +} diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/NaviRoadRequest.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/NaviRoadRequest.java new file mode 100644 index 0000000000..456fc5225b --- /dev/null +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/NaviRoadRequest.java @@ -0,0 +1,18 @@ +package com.mogo.module.tanlu.model; + +import java.util.List; + +/** + * @author lixiaopeng + * @description + * @since 2020-02-03 + */ +public class NaviRoadRequest { + public List coordinates; + public int limit; + + public NaviRoadRequest(List coordinates, int limit) { + this.coordinates = coordinates; + this.limit = limit; + } +} diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/TanluModelData.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/TanluModelData.java index 1a34d8ad11..e460cdc528 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/TanluModelData.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/TanluModelData.java @@ -11,6 +11,7 @@ import com.mogo.commons.network.ParamsProvider; import com.mogo.commons.network.SubscribeImpl; import com.mogo.commons.network.Utils; import com.mogo.module.tanlu.callback.AlongTheWayCallback; +import com.mogo.module.tanlu.callback.NaviCallback; import com.mogo.module.tanlu.callback.RoadLineCallback; import com.mogo.module.tanlu.callback.UploadShareCallback; import com.mogo.module.tanlu.callback.VoiceSearchCallback; @@ -175,7 +176,7 @@ public class TanluModelData { /** - * 导航路线数据事件 + * 导航路线数据事件 TODO */ public void getNavigationLineData(Double lon, Double lat, final AlongTheWayCallback callback) { Gson gson = new Gson(); @@ -221,7 +222,9 @@ public class TanluModelData { } - //获取Location,如果没有location数据为空,则使用首次或者上次定位点,并且更新SP,需要抽取公共方法 + /** + * 获取Location,如果没有location数据为空,则使用首次或者上次定位点,并且更新SP,需要抽取公共方法 + */ public NaviLatLngInfo getNaviInfo(Double lon, Double lat) { String naviInfo = SharedPrefsMgr.getInstance(mContext).getString(TanluConstants.NAVI_INFO); Log.d(TAG, " getNaviInfo naviInfo =" + naviInfo); @@ -283,5 +286,42 @@ public class TanluModelData { } + /** + * 获取导航沿途情报 TODO + */ + public void getNaviInformation(final NaviCallback callback) { + Gson gson = new Gson(); + + final Map params = new ParamsProvider.Builder(mContext) + .append("sn", Utils.getSn()) +// .append("data", uploadShareStr) + .build(); + + mTanluApiService.getNaviInformation(params) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SubscribeImpl(RequestOptions.create(mContext)) { + @Override + public void onSuccess(NaviResult o) { + super.onSuccess(o); + callback.onSuccess(o); + Logger.d(TAG, "getNaviInformation onSuccess ------>"); + } + + @Override + public void onError(String message, int code) { + super.onError(message, code); + callback.onFail(message, code); + Logger.e(TAG, "getNaviInformation onError message= " + message + ">>code =" + code); + } + + @Override + public void onError(Throwable e) { + super.onError(e); + e.printStackTrace(); + Logger.d(TAG, "getNaviInformation onError ------> e= " + e.getMessage()); + } + }); + } } diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/net/TanluApiService.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/net/TanluApiService.java index 90760afe9c..3cd8b69a87 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/net/TanluApiService.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/net/TanluApiService.java @@ -2,6 +2,7 @@ package com.mogo.module.tanlu.net; import com.mogo.commons.data.BaseData; import com.mogo.module.tanlu.model.InformationAndLiveCarResult; +import com.mogo.module.tanlu.model.NaviResult; import com.mogo.module.tanlu.model.PathLineResult; import com.mogo.module.tanlu.model.VoiceSearchResult; @@ -55,4 +56,12 @@ public interface TanluApiService { @POST("deva/car/poi/no/addNovelty/v1") Observable uploadCheckTrafficInfor(@FieldMap Map infoBody); + /** + * 导航沿途情报 + */ + @FormUrlEncoded + @POST("deva/car/search/no/searchInforationByCoordinates/v1") + Observable getNaviInformation(@FieldMap Map infoBody); + + } From 67e25aef5128020dace73f47de4aae72d438c0b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Mon, 3 Feb 2020 19:58:52 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86Bug=20=E3=80=90?= =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E8=BD=A6=E8=BE=86=E3=80=91=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E6=94=BE=E7=BD=AE=E4=B8=80=E4=BC=9A=E5=84=BF=EF=BC=8C=E4=BC=9A?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E5=9C=B0=E5=9B=BE=E4=B8=8A=E8=BD=A6=E8=BE=86?= =?UTF-8?q?=E6=B6=88=E5=A4=B1=E7=9A=84=E6=83=85=E5=86=B5=20http://jira.zhi?= =?UTF-8?q?daohulian.com/projects/UI/issues/UI-11=3Ffilter=3Dallissues?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/mogo/module/service/MogoServiceProvider.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java index f18ddc211b..24b8774c8b 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java @@ -120,6 +120,8 @@ public class MogoServiceProvider implements IMogoModuleProvider, case ServiceConst.MSG_TYPE_REFRESH_DECREASE: mRefreshRemainingTime -= ServiceConst.DECREASE_INTERVAL; if ( mRefreshRemainingTime == 0 ) { + mStatusManager.setUserInteractionStatus(ServiceConst.TYPE, true, false ); + mUiController.moveToCenter(mLastAutoRefreshLocation); notifyRefreshData( mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback ); } else { mHandler.sendEmptyMessageDelayed( msg.what, ServiceConst.DECREASE_INTERVAL ); From 25d0fbb1ebc5413984cc62b9b93b74ed340e7efb Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Mon, 3 Feb 2020 21:35:11 +0800 Subject: [PATCH 5/9] opt code --- .../tanlu/fragment/TanluCardViewFragment.java | 73 ++++++++----------- 1 file changed, 29 insertions(+), 44 deletions(-) diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java index e4e82a6f85..9313ea55e5 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java @@ -198,13 +198,13 @@ public class TanluCardViewFragment extends MvpFragment> autoZoomInImageView.setVisibility(View.GONE); //视频点击 - simpleCoverVideoPlayer.getStartButton().setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Logger.d(TAG, "simpleCoverVideoPlayer onClick -------> "); - FullMediaActivity.Companion.launch(getActivity(), mVideoUrl, mImageUrl, mTitle, mGenerateTime); - } - }); +// simpleCoverVideoPlayer.getStartButton().setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View view) { +// Logger.d(TAG, "simpleCoverVideoPlayer onClick -------> "); +// FullMediaActivity.Companion.launch(getActivity(), mVideoUrl, mImageUrl, mTitle, mGenerateTime); +// } +// }); } @@ -283,7 +283,7 @@ public class TanluCardViewFragment extends MvpFragment> Logger.e(TAG, "poi == null"); } } else { - Logger.e(TAG, "poi search result code = $p1"); + Logger.e(TAG, "poi search result p1 = " + p1); } } @@ -338,7 +338,7 @@ public class TanluCardViewFragment extends MvpFragment> @Override public void onStartNavi() { //开始导航 - Log.d(TAG, "onStartNavi -------> "); + Logger.d(TAG, "onStartNavi -------> "); initModelData(); getNavigationData(); } @@ -401,19 +401,6 @@ public class TanluCardViewFragment extends MvpFragment> } - private void handleMarkerExploreWay(MarkerExploreWay markerExploreWay) { - if (markerExploreWay != null) { - Log.d(TAG, "markerExploreWay.getFileType() =" + markerExploreWay.getFileType()); - if (markerExploreWay.getFileType() == 0) { //图片 - refreshPhotoData(markerExploreWay); - } else if (markerExploreWay.getFileType() == 1) { //视频 - handleData(markerExploreWay); - } - } else { - Log.e(TAG, "handleMarkerExploreWay == null"); - } - } - /** * 处理关键词搜索 * @@ -581,7 +568,7 @@ public class TanluCardViewFragment extends MvpFragment> currentPosition--; Log.d(TAG, " tv_previous_res --2-> currentPosition = " + currentPosition + " >> size= " + markerExploreWayList.size()); if (markerExploreWayList.size() > currentPosition && currentPosition >= 0) { - handleData(markerExploreWayList.get(currentPosition)); + handleMarkerExploreWay(markerExploreWayList.get(currentPosition)); moveToMarcker(markerExploreWayList.get(currentPosition).getLocation().getLat(), markerExploreWayList.get(currentPosition).getLocation().getLon()); } } else if (id == R.id.tv_next_res) { //下一个 @@ -593,7 +580,7 @@ public class TanluCardViewFragment extends MvpFragment> currentPosition++; Log.d(TAG, " tv_next_res --2-> currentPosition = " + currentPosition + " >> size= " + markerExploreWayList.size()); if (markerExploreWayList.size() > currentPosition) { - handleData(markerExploreWayList.get(currentPosition)); + handleMarkerExploreWay(markerExploreWayList.get(currentPosition)); moveToMarcker(markerExploreWayList.get(currentPosition).getLocation().getLat(), markerExploreWayList.get(currentPosition).getLocation().getLon()); } @@ -608,7 +595,6 @@ public class TanluCardViewFragment extends MvpFragment> mMApUIController.moveToCenter(latLng); } - /** * 执行图片动画 */ @@ -638,17 +624,18 @@ public class TanluCardViewFragment extends MvpFragment> /** * 通用的处理数据逻辑 * - * @param exploreWay + * @param markerExploreWay */ - private void handleData(MarkerExploreWay exploreWay) { - if (exploreWay != null) { - if (exploreWay.getFileType() == 0) { //图片 - refreshPhotoData(exploreWay); - } else if (exploreWay.getFileType() == 1) { //视频 - refreshVideoData(exploreWay); + private void handleMarkerExploreWay(MarkerExploreWay markerExploreWay) { + if (markerExploreWay != null) { + Log.d(TAG, "markerExploreWay.getFileType() =" + markerExploreWay.getFileType()); + if (markerExploreWay.getFileType() == 0) { //图片 + refreshPhotoData(markerExploreWay); + } else if (markerExploreWay.getFileType() == 1) { //视频 + refreshVideoData(markerExploreWay); } } else { - Logger.e(TAG, "handleData exploreWay == null "); + Log.e(TAG, "handleMarkerExploreWay == null"); } } @@ -669,18 +656,23 @@ public class TanluCardViewFragment extends MvpFragment> mGenerateTime = markerExploreWay.getGenerateTime(); mTitle = markerExploreWay.getAddr(); mAddressTv.setText(markerExploreWay.getAddr()); + Log.d(TAG, "refreshVideoData addr = " + markerExploreWay.getAddr()); mDistanceTv.setText(handleDistance(markerExploreWay.getDistance())); mTimeTv.setText(formatDate(markerExploreWay.getGenerateTime())); //判断是图片还是视频,第一个时,上一个不可点击 + autoZoomInImageView.setVisibility(View.GONE); simpleCoverVideoPlayer.setVisibility(View.VISIBLE); //视频配置 mVideoUrl = videoUrl; + Log.d(TAG, "refreshVideoData mVideoUrl = " + mVideoUrl); simpleCoverVideoPlayer.loadCoverImage(mImageUrl, getContext()); gsyVideoOptionBuilder.setUrl(videoUrl).setCacheWithPlay(false).setPlayTag(TAG) .build(simpleCoverVideoPlayer); + simpleCoverVideoPlayer.getStartButton().performClick(); if (mImageUrl == null) { return; } + } /** @@ -700,8 +692,8 @@ public class TanluCardViewFragment extends MvpFragment> mTimeTv.setText(formatDate(markerExploreWay.getGenerateTime())); String thumbnailUrl = markerExploreWay.getItems().get(0).getUrl(); Logger.d(TAG, "refreshPhoto thumbnailUrl ------>" + thumbnailUrl); - autoZoomInImageView.setVisibility(View.VISIBLE); simpleCoverVideoPlayer.setVisibility(View.GONE); + autoZoomInImageView.setVisibility(View.VISIBLE); mogoImageloader.downloadImage(getActivity(), thumbnailUrl, new IMogoImageLoaderListener() { @Override public void onStart() { @@ -731,14 +723,13 @@ public class TanluCardViewFragment extends MvpFragment> } /** - * C位事件,如何获取数据,需要有默认数据 + * C位事件,如何获取数据,需要有默认数据 TODO * 如果只有一个数据,不显示上下切换按钮,没有数据显示空页面 */ @Override public void onPerform() { //免唤醒 AIAssist.getInstance(getActivity()).registerUnWakeupCommand(TanluConstants.PLAY_VIDEO, TanluConstants.CMD_PLAY_ROAD_CONDITION, mogoVoiceListener); - isCurrentPage = true; Logger.d(TAG, "tanlu卡片 onPerform 有效 ---->"); mMarkerManager = mMogoMapService.getMarkerManager(getActivity()); @@ -756,7 +747,7 @@ public class TanluCardViewFragment extends MvpFragment> markerExploreWayList.add(exploreWay); } - Log.e("TAG", "tanlu卡片 onPerform 有效 markerExploreWayList.size() =" + markerExploreWayList.size()); + Log.d("TAG", "tanlu卡片 onPerform 有效 markerExploreWayList.size() =" + markerExploreWayList.size()); if (markers.size() == 1) { mPreviousTv.setVisibility(View.GONE); mNextTv.setVisibility(View.GONE); @@ -767,13 +758,7 @@ public class TanluCardViewFragment extends MvpFragment> //展示第一个数据 MarkerExploreWay markerExploreWay = markerExploreWayList.get(0); - if (markerExploreWay != null) { - if (markerExploreWay.getFileType() == 0) { //图片 - refreshPhotoData(markerExploreWay); - } else if (markerExploreWay.getFileType() == 1) { //视频 - refreshVideoData(markerExploreWay); - } - } + handleMarkerExploreWay(markerExploreWay); } else { mEmptyLayout.setVisibility(View.VISIBLE); mRootLayout.setVisibility(View.GONE); From 2bc717af2ec3a8e0deb38132a6a7ac3a4d9c896e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Tue, 4 Feb 2020 09:19:27 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8DBug=20=E3=80=90=E5=9C=A8?= =?UTF-8?q?=E7=BA=BF=E8=BD=A6=E8=BE=86=E3=80=91=E5=8C=B9=E9=85=8D=E5=BA=A6?= =?UTF-8?q?=E4=B8=BA100%=E7=9A=84=E6=98=BE=E7=A4=BA=E4=B8=BA100%=EF=BC=8C?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E6=98=BE=E7=A4=BA100.0%=20http://jira.zhidao?= =?UTF-8?q?hulian.com/projects/UI/issues/UI-18=3Ffilter=3Dmyopenissues?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/module/common/entity/MarkerOnlineCar.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineCar.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineCar.java index a9f25f16b4..c296117458 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineCar.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineCar.java @@ -15,7 +15,7 @@ public class MarkerOnlineCar implements Serializable { private MarkerDynamicData dynamicData;//动态数据 private MarkerHobbyDatum hobbyData;//爱好数据集合 private List activitiesScope;//活动范围数据集合 - private double compatibility; + private int compatibility;//匹配度 public List getActivitiesScope() { return activitiesScope; @@ -33,11 +33,11 @@ public class MarkerOnlineCar implements Serializable { this.carInfo = carInfo; } - public double getCompatibility() { + public int getCompatibility() { return compatibility; } - public void setCompatibility(double compatibility) { + public void setCompatibility(int compatibility) { this.compatibility = compatibility; } From 9ec756c8e1e48468841e0614e745d29ad9199a34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Tue, 4 Feb 2020 09:20:11 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E5=85=B3=E9=97=AD=E4=BA=86=E6=97=A0?= =?UTF-8?q?=E9=99=90=E5=BE=AA=E7=8E=AF=E6=9D=A5=E8=A7=A3=E5=86=B3=E5=9C=A8?= =?UTF-8?q?=E7=BA=BF=E8=BD=A6=E8=BE=86=E9=87=8D=E5=A4=8D=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C=E5=BE=85=E4=BB=8E=E6=B6=9B?= =?UTF-8?q?=E5=90=8E=E7=BB=AD=E8=A7=A3=E5=86=B3=E6=96=B9=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/module/main/cards/CardModulesAdapter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardModulesAdapter.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardModulesAdapter.java index a44c518871..c86fb39297 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardModulesAdapter.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/CardModulesAdapter.java @@ -47,8 +47,8 @@ public class CardModulesAdapter extends FragmentStatePagerAdapter { @Override public int getCount() { -// return mProviders.size(); - return Integer.MAX_VALUE; + return mProviders.size(); +// return Integer.MAX_VALUE; } public IMogoModuleProvider getProvider( int position ) { From f5c6de147ea1b43c5f90baee9c5a9089cada8ad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Tue, 4 Feb 2020 14:30:22 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BA=86Acc=20on?= =?UTF-8?q?=E9=A6=96=E6=AC=A1=E9=80=89=E4=B8=AD=E6=9C=80=E8=BF=91=E7=9A=84?= =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E8=BD=A6=E8=BE=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/service/MarkerServiceHandler.java | 43 +++++++++++++++++-- .../java/com/mogo/module/service/Utils.java | 38 ++++++++++------ 2 files changed, 63 insertions(+), 18 deletions(-) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java index a4737dd9b1..c46d4e2aee 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java @@ -4,10 +4,13 @@ import android.content.Context; import android.view.View; import com.alibaba.android.arouter.launcher.ARouter; +import com.mogo.map.MogoLatLng; +import com.mogo.map.location.IMogoLocationClient; import com.mogo.map.marker.IMogoMarker; import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.marker.IMogoMarkerManager; import com.mogo.map.marker.MogoMarkerOptions; +import com.mogo.map.marker.MogoMarkersHandler; import com.mogo.map.navi.IMogoNavi; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.module.common.entity.MarkerCarChat; @@ -57,6 +60,8 @@ public class MarkerServiceHandler { private static IMogoNavi mNavi; private static IMogoMapUIController mMapUIController; + private static IMogoLocationClient mLocationClient; + private static IMogoStatusManager mMogoStatusManager; private static IMogoImageloader mImageloader; private static IMogoSocketManager mMogoSocketManager; @@ -66,7 +71,7 @@ public class MarkerServiceHandler { private static Context mContext; // 第一次请求到地图的Marker数据 - private static boolean isFirstMarker; + private static boolean isFirstMarker = true; public static void init(final Context context) { mContext = context; @@ -81,6 +86,7 @@ public class MarkerServiceHandler { mMarkerManager = mMapService.getMarkerManager(context); mNavi = mMapService.getNavi(context); mMapUIController = mMapService.getMapUIController(); + mLocationClient = mMapService.getLocationClient(context); mogoMarkerClickListener = new MoGoMarkerClickListener(); // 长连接 @@ -95,7 +101,7 @@ public class MarkerServiceHandler { public void onMsgReceived(MarkerResponse response) { Logger.e(TAG, "======MarkerResponse:" + response); if (!getMogoStatusManager().isSearchUIShow() && !getMogoStatusManager().isV2XShow()) { - isFirstMarker=true; + isFirstMarker = true; drawMapMarker(response); } } @@ -283,7 +289,7 @@ public class MarkerServiceHandler { markerCardResult.getDataType().contains(ServiceConst.CARD_TYPE_USER_DATA)) { getMarkerManager().removeMarkers(ServiceConst.CARD_TYPE_USER_DATA); getMogoCardManager().switch2(ServiceConst.CARD_TYPE_USER_DATA); - + isFirstMarker = true; } else { // 清空所有地图上绘制的Marker getMarkerManager().removeMarkers(); @@ -311,6 +317,8 @@ public class MarkerServiceHandler { } if (onlineCarList != null) { + IMogoMarker nearlyMogoMarker = null; + double nearlyDistance = Double.MAX_VALUE; for (MarkerOnlineCar markerOnlineCar : onlineCarList) { MarkerLocation markerLocation = markerOnlineCar.getLocation(); @@ -321,9 +329,36 @@ public class MarkerServiceHandler { markerShowEntity.setTextContent(markerOnlineCar.getUserInfo().getUserName()); markerShowEntity.setIconUrl(markerOnlineCar.getUserInfo().getUserHead()); - drawMapMarker(markerShowEntity); + IMogoMarker iMogoMarker = drawMapMarker(markerShowEntity); + // 计算在线车辆距离当前车辆的距离,每次都与最后一次距离最近的进行比较,保留距离最近的车辆,进行卡片展示 + try { + double calculateDistance = Utils.calculateLineDistance( + new MogoLatLng(markerLocation.getLat(), markerLocation.getLat()), + new MogoLatLng(mLocationClient.getLastKnowLocation().getLatitude(), mLocationClient.getLastKnowLocation().getLongitude()) + ); + + // 进行比较,保留最近的一个数据 + if (calculateDistance < nearlyDistance) { + nearlyMogoMarker = iMogoMarker; + } + + } catch (Exception e) { + e.printStackTrace(); + } } fillNumberTrackEventBody(array, 3, onlineCarList.size()); + + try { + // 在ACC on 之后第一次获取到了在线车辆数据,选中最近的一个Marker + if (isFirstMarker) { + if (nearlyMogoMarker != null) { + MogoMarkersHandler.getInstance().onMarkerClicked(nearlyMogoMarker); + isFirstMarker = false; + } + } + } catch (Exception e) { + e.printStackTrace(); + } } if (exploreWayList != null) { diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/Utils.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/Utils.java index cb47981c3f..3a3ebfded5 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/Utils.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/Utils.java @@ -1,7 +1,5 @@ package com.mogo.module.service; -import com.amap.api.maps.AMapException; -import com.amap.api.maps.model.LatLng; import com.mogo.map.MogoLatLng; /** @@ -12,8 +10,15 @@ import com.mogo.map.MogoLatLng; */ public class Utils { - public static float calculateLineDistance( MogoLatLng point1, MogoLatLng point2 ) { - if ( point1 != null && point2 != null ) { + /** + * 距离半径计算方式 + * + * @param point1 点一坐标 + * @param point2 点二坐标 + * @return 两坐标的距离 单位:米(M) + */ + public static float calculateLineDistance(MogoLatLng point1, MogoLatLng point2) { + if (point1 != null && point2 != null) { try { double var2 = point1.lng; double var4 = point1.lat; @@ -23,14 +28,14 @@ public class Utils { var4 *= 0.01745329251994329D; var6 *= 0.01745329251994329D; var8 *= 0.01745329251994329D; - double var10 = Math.sin( var2 ); - double var12 = Math.sin( var4 ); - double var14 = Math.cos( var2 ); - double var16 = Math.cos( var4 ); - double var18 = Math.sin( var6 ); - double var20 = Math.sin( var8 ); - double var22 = Math.cos( var6 ); - double var24 = Math.cos( var8 ); + double var10 = Math.sin(var2); + double var12 = Math.sin(var4); + double var14 = Math.cos(var2); + double var16 = Math.cos(var4); + double var18 = Math.sin(var6); + double var20 = Math.sin(var8); + double var22 = Math.cos(var6); + double var24 = Math.cos(var8); double[] var28 = new double[3]; double[] var29 = new double[3]; var28[0] = var16 * var14; @@ -39,8 +44,8 @@ public class Utils { var29[0] = var24 * var22; var29[1] = var24 * var18; var29[2] = var20; - return ( float ) ( Math.asin( Math.sqrt( ( var28[0] - var29[0] ) * ( var28[0] - var29[0] ) + ( var28[1] - var29[1] ) * ( var28[1] - var29[1] ) + ( var28[2] - var29[2] ) * ( var28[2] - var29[2] ) ) / 2.0D ) * 1.27420015798544E7D ); - } catch ( Throwable var26 ) { + return (float) (Math.asin(Math.sqrt((var28[0] - var29[0]) * (var28[0] - var29[0]) + (var28[1] - var29[1]) * (var28[1] - var29[1]) + (var28[2] - var29[2]) * (var28[2] - var29[2])) / 2.0D) * 1.27420015798544E7D); + } catch (Throwable var26) { var26.printStackTrace(); return 0.0F; } @@ -48,4 +53,9 @@ public class Utils { return 0.0F; } } + + public static void main(String[] args) { + double calculateLineDistance = calculateLineDistance(new MogoLatLng(39.955533, 116.423262), new MogoLatLng(39.955385, 116.414604)); + System.out.println("距离点 calculateLineDistance:" + calculateLineDistance); + } } From 270aa53c142acc181ed16a441379f5bf61360562 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Tue, 4 Feb 2020 14:51:13 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86V2X=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 1 + app/src/main/java/com/mogo/launcher/MogoApplication.java | 2 ++ config.gradle | 2 ++ gradle.properties | 1 + 4 files changed, 6 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index f25da83520..1b16d7e907 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,6 +76,7 @@ dependencies { implementation rootProject.ext.dependencies.moduleadcard implementation rootProject.ext.dependencies.moduleonlinecar + implementation rootProject.ext.dependencies.moduleV2x if (Boolean.valueOf(RELEASE)) { api rootProject.ext.dependencies.modulemain diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 845b79a310..3808bd13bc 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.module.media.MediaConstants; import com.mogo.module.onlinecar.OnLineCarConstants; import com.mogo.module.push.PushUIConstants; import com.mogo.module.tanlu.constant.TanluConstants; +import com.mogo.module.v2x.V2XConst; import com.mogo.service.MogoServicePaths; import com.mogo.service.connection.IMogoSocketManager; @@ -36,6 +37,7 @@ public class MogoApplication extends AbsMogoApplication { //运营位卡片,需要默认显示,放在第一个加载 // MogoModulePaths.addModule(new MogoModule(AdCardConstants.TAG, AdCardConstants.MODULE_NAME)); MogoModulePaths.addModule(new MogoModule(OnLineCarConstants.TAG, OnLineCarConstants.MODULE_NAME)); + MogoModulePaths.addModule(new MogoModule(V2XConst.PATH_V2X_UI, V2XConst.PATH_V2X_UI)); MogoModulePaths.addModule(new MogoModule(TanluConstants.TAG, TanluConstants.MODEL_NAME)); MogoModulePaths.addModule(new MogoModule(CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME)); MogoModulePaths.addModule(new MogoModule(MediaConstants.TAG, MediaConstants.MODULE_TYPE)); diff --git a/config.gradle b/config.gradle index 3ad2496be6..8d956ff938 100644 --- a/config.gradle +++ b/config.gradle @@ -100,6 +100,8 @@ ext { carcallprovider : "com.mogo.module.carchatting:module-carchatting-provider:${CARCHATTINGPROVIDER_VERSION}", // 在线车辆 moduleonlinecar : "com.mogo.module:module-onlinecar:${MOGO_MODULE_ONLINECAR_VERSION}", + // V2X + moduleV2x : "com.mogo.module:module-v2x:${MOGO_MODULE_V2X_VERSION}", modulemedia : "com.mogo.module:module-media:${MOGO_MODULE_MEDIA_VERSION}", modulesearch : "com.mogo.module:module-search:${MOGO_MODULE_SEARCH_VERSION}", modulepush : "com.mogo.module:module-push:${MOGO_MODULE_PUSH_VERSION}", diff --git a/gradle.properties b/gradle.properties index 193e485a23..fddb467c1d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -48,6 +48,7 @@ MOGO_MODULE_EXTENSIONS_VERSION=1.0.0-SNAPSHOT CARCHATTING_VERSION=1.0.0-SNAPSHOT CARCHATTINGPROVIDER_VERSION=1.0.0-SNAPSHOT MOGO_MODULE_ONLINECAR_VERSION=1.0.0-SNAPSHOT +MOGO_MODULE_V2X_VERSION=1.0.0-SNAPSHOT MOGO_MODULE_MEDIA_VERSION=1.0.0-SNAPSHOT MOGO_MODULE_PUSH_VERSION=1.0.0-SNAPSHOT MOGO_MODULE_SEARCH_VERSION=1.0.0-SNAPSHOT