diff --git a/gradle.properties b/gradle.properties index c0166e672c..4d966cd509 100644 --- a/gradle.properties +++ b/gradle.properties @@ -39,7 +39,7 @@ MOGO_SERVICE_API_VERSION=1.2.1.9 MOGO_CONNECTION_VERSION=1.2.1.9 MOGO_MODULE_APPS_VERSION=1.2.1.9 MOGO_MODULE_NAVI_VERSION=1.2.1.9 -MOGO_MODULE_SHARE_VERSION=1.2.1.9 +MOGO_MODULE_SHARE_VERSION=1.2.1.18 MOGO_MODULE_COMMON_VERSION=1.2.1.9 MOGO_MODULE_MAIN_VERSION=1.2.1.9 MOGO_MODULE_MAP_VERSION=1.2.1.9 @@ -60,11 +60,11 @@ MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.2.1.9 ## 工程外部模块 # 探路 -MOGO_MODULE_TANLU_VERSION=1.2.1.5 +MOGO_MODULE_TANLU_VERSION=1.2.1.9 # 车聊聊 -CARCHATTING_VERSION=1.1.9 +CARCHATTING_VERSION=1.2.0 # 车聊聊接口 -CARCHATTINGPROVIDER_VERSION=1.1.9 +CARCHATTINGPROVIDER_VERSION=1.2.0 # 视频引导 MOGO_MODULE_GUIDESHOW_VERSION=1.0.2-SNAPSHOT # 视频引导接口 @@ -72,13 +72,13 @@ MOGO_MODULE_GUIDESHOW_PROVIDER_VERSION=1.0.2-SNAPSHOT # 在线车辆F MOGO_MODULE_ONLINECAR_VERSION=1.0.3.2 # v2x -MOGO_MODULE_V2X_VERSION=1.1.36 +MOGO_MODULE_V2X_VERSION=1.1.49 # 推送 MOGO_MODULE_PUSH_VERSION=1.0.1 # 广告资源位 MOGO_MODULE_AD_CARD_VERSION=1.0.1 # 探路上报和分享模块 -TANLULIB_VERSION=1.2.1.7 +TANLULIB_VERSION=1.2.1.9 # Boost分包 diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppFilterImpl.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppFilterImpl.java index 1d0437d956..beb26f4b71 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppFilterImpl.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppFilterImpl.java @@ -6,7 +6,9 @@ import android.content.pm.PackageInfo; import com.mogo.module.apps.model.AppEnum; import com.mogo.module.apps.model.AppEnumHelper; +import com.mogo.module.common.utils.CarSeries; +import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -26,9 +28,16 @@ public class AppFilterImpl implements AppFilter { public AppFilterImpl( Context context ) { mContext = context; - final String[] values = context.getResources().getStringArray( R.array.module_apps_array_filter_packages ); - if ( values != null ) { - mFilterPackages = Arrays.asList( values ); + if ( CarSeries.getSeries() != CarSeries.CAR_SERIES_F80X ) { + final String[] values = context.getResources().getStringArray( R.array.module_apps_array_filter_packages ); + if ( values != null ) { + mFilterPackages = new ArrayList( Arrays.asList( values ) ); + } + } else { + final String[] values = context.getResources().getStringArray( R.array.module_apps_array_filter_packages_f ); + if ( values != null ) { + mFilterPackages = new ArrayList( Arrays.asList( values ) ); + } } } 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 942568fc7f..87d43203e1 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 @@ -80,6 +80,11 @@ public class AppsPresenter extends Presenter< AppsView > { Logger.d( TAG, "apps: %s", appInfoList ); final Map< Integer, List< AppInfo > > result = addOthersEntrances( appInfoList ); + try { + filterSamePackage( result ); + } catch ( Exception e ) { + Logger.e( TAG, e, "error." ); + } UiThreadHandler.post( () -> { if ( mView != null ) { mView.renderApps( result ); @@ -143,7 +148,7 @@ public class AppsPresenter extends Presenter< AppsView > { } } } -// growthCapacity( result ); +// growthCapacity( result ) // // 添加介绍入口 // result.get( result.size() - 1 ).add( new AppInfo( GuideShowLauncher.APP_INFO_NAME_GUIDE_SHOW, getContext().getPackageName(), null, 0, null, R.drawable.module_apps_ic_guide_show ) ); if ( DebugConfig.isDebug() ) { @@ -154,6 +159,30 @@ public class AppsPresenter extends Presenter< AppsView > { return result; } + private void filterSamePackage( Map< Integer, List< AppInfo > > appInfoMap ) { + if ( appInfoMap == null || appInfoMap.isEmpty() ) { + return; + } + for ( Map.Entry< Integer, List< AppInfo > > integerListEntry : appInfoMap.entrySet() ) { + if ( integerListEntry == null ) { + continue; + } + List< AppInfo > oldList = integerListEntry.getValue(); + if ( oldList == null + || oldList.size() > AppsConst.TOTAL_SIZE_EACH_PAGE ) { + return; + } + List< AppInfo > appInfos = new ArrayList<>(); + for ( AppInfo appInfo : oldList ) { + if ( appInfos.contains( appInfo ) ) { + continue; + } + appInfos.add( appInfo ); + } + integerListEntry.setValue( appInfos ); + } + } + /** * 扩容 * diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppInfo.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppInfo.java index d9fddafb98..dae51ba27d 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppInfo.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppInfo.java @@ -1,6 +1,9 @@ package com.mogo.module.apps.model; import android.graphics.drawable.Drawable; +import android.text.TextUtils; + +import java.util.Objects; /** * @author congtaowang @@ -29,7 +32,7 @@ public class AppInfo { } public AppInfo( String mName, String mPackageName, String mVersionName, int mVersionCode, Drawable mIcon, int mIconResId ) { - this(mName, mPackageName, mVersionName, mVersionCode, mIcon, mIconResId, 0); + this( mName, mPackageName, mVersionName, mVersionCode, mIcon, mIconResId, 0 ); } public int getIconResId() { @@ -60,6 +63,19 @@ public class AppInfo { return mTrackType; } + @Override + public boolean equals( Object o ) { + if ( this == o ) return true; + if ( o == null || getClass() != o.getClass() ) return false; + AppInfo appInfo = ( AppInfo ) o; + return TextUtils.equals( mPackageName, appInfo.mPackageName ); + } + + @Override + public int hashCode() { + return Objects.hash( mPackageName ); + } + @Override public String toString() { return "AppInfo{" + diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppsModel.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppsModel.java index 7235c69ed9..61c55a981d 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppsModel.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/model/AppsModel.java @@ -56,6 +56,7 @@ public class AppsModel { if ( mPagedApps != null ) { mPagedApps.clear(); } + mPagedApps = null; mContext = null; mAppFilter = null; sInstance = null; diff --git a/modules/mogo-module-apps/src/main/res/values/strings.xml b/modules/mogo-module-apps/src/main/res/values/strings.xml index bf172403d9..93d46e9929 100644 --- a/modules/mogo-module-apps/src/main/res/values/strings.xml +++ b/modules/mogo-module-apps/src/main/res/values/strings.xml @@ -3,7 +3,7 @@ APP 未安装 新手引导服务未加载 为了您的安全,导航中不可播放视频 - + com.mogo.launcher com.mogo.launcher.app com.zhidao.launcher @@ -13,7 +13,23 @@ com.android.browser com.android.providers.downloads.ui com.zhidao.guide.lock + com.android.calculator2 + com.nwd.guidebookskin + com.iflytek.inputmethod.pad + com.nwd.tools.reboot + com.android.car.setting + + + com.mogo.launcher + com.mogo.launcher.app + com.zhidao.launcher + com.nwd.android.toolsmanager + com.nwd.filemanager + com.zhidao.autopilot + com.android.browser com.android.settings + com.android.providers.downloads.ui + com.zhidao.guide.lock com.android.calculator2 com.nwd.guidebookskin com.iflytek.inputmethod.pad diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/map/MapCenterPointStrategy.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/map/MapCenterPointStrategy.java index 42426edf27..b2065a807c 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/map/MapCenterPointStrategy.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/map/MapCenterPointStrategy.java @@ -22,7 +22,7 @@ public class MapCenterPointStrategy { public static final MapCenterPoint DEFAULT = new MapCenterPoint( 0.677734D, 0.5733333D ); - static { + public static void init() { // 普通场景,使用高德内部值 { Map< Integer, MapCenterPoint > common = new HashMap<>(); diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java index 5553aeab37..245453af4a 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java @@ -135,16 +135,18 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme EventDispatchCenter.getInstance().setMapLoadedCallback( () -> { Logger.d( TAG, "map loaded." + Thread.currentThread().getName() ); + + // 右移地图中心点 + mMogoMapUIController = mMogoMapService.getMapUIController(); + MapCenterPointStrategy.init(); + MapCenterPointStrategy.setMapCenterPointByScene( mMogoMapUIController, Scene.AIMLESS ); + // 加载地图,触发地图加载完毕回调,在初始化其他卡片模块,保证卡片模块可以正确获取地图相关服务。 addModule(); loadContainerModules(); MogoModulesManager.getInstance().loadModules(); mPresenter.delayOperations(); - // 右移地图中心点 - mMogoMapUIController = mMogoMapService.getMapUIController(); - MapCenterPointStrategy.setMapCenterPointByScene( mMogoMapUIController, Scene.AIMLESS ); - // 启动一些基本的服务:定位等 startBaseService(); diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/manager/AddressManager.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/manager/AddressManager.kt index 3713ed1c1d..18a7b0aaf0 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/manager/AddressManager.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/manager/AddressManager.kt @@ -44,7 +44,7 @@ object AddressManager { fun init(context: Context) { poiDao = AppDataBase.getDatabase(context).poiDao() - WorkThreadHandler.getInstance().post { + WorkThreadHandler.getInstance().postDelayed({ try { var zdCompany = SearchApisHolder.getPersonalInfoManager().company companyAddress = EntityConvertUtils.zd2Mogo(zdCompany, DataConstants.TYPE_COMPANY_ADDRESS) @@ -53,7 +53,7 @@ object AddressManager { } catch (e: Exception) { Logger.d(TAG, Log.getStackTraceString(e)) } - } + }, 1000) SearchApisHolder.getPersonalInfoManager().addListener(object : PersonalInfoManager.InfoListener { override fun onCompanyChanged(company: ZDPoi?) { diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index 9d6c450152..82ee63cc63 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -703,6 +703,11 @@ public class MogoServices implements IMogoMapListener, CarIconDisplayStrategy.getInstance().changeCarIconStatus( isTrue ); notifySeekHelpingStatusChanged( isTrue ); break; + case ACC_STATUS: + if ( isTrue ) { + mADASController.showADAS(); + } + break; } } diff --git a/modules/mogo-module-service/src/main/res/layout/view_map_marker.xml b/modules/mogo-module-service/src/main/res/layout/view_map_marker.xml index 3ba8e4a5cf..7651639cf3 100644 --- a/modules/mogo-module-service/src/main/res/layout/view_map_marker.xml +++ b/modules/mogo-module-service/src/main/res/layout/view_map_marker.xml @@ -17,11 +17,11 @@ + tools:src="@drawable/icon_map_marker_road_block_up2" /> diff --git a/modules/mogo-module-service/src/main/res/layout/view_map_marker_info.xml b/modules/mogo-module-service/src/main/res/layout/view_map_marker_info.xml index 028892962e..444e398c97 100644 --- a/modules/mogo-module-service/src/main/res/layout/view_map_marker_info.xml +++ b/modules/mogo-module-service/src/main/res/layout/view_map_marker_info.xml @@ -32,8 +32,8 @@ 8dp 100px 117px - 50px - 50px + 60px + 60px 8px diff --git a/modules/mogo-module-service/src/main/res/values/dimens.xml b/modules/mogo-module-service/src/main/res/values/dimens.xml index 03b1e6650a..6faf47f1e0 100644 --- a/modules/mogo-module-service/src/main/res/values/dimens.xml +++ b/modules/mogo-module-service/src/main/res/values/dimens.xml @@ -4,8 +4,8 @@ 4dp 56px 65px - 27px - 27px + 35px + 35px 4px 550px diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java index fabec3de0d..813a7e9252 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java @@ -295,7 +295,7 @@ public class ShareControl implements IMogoShareManager, IMogoIntentListener, IMo private void trackVoiceWithType(String type){ Map properties = new HashMap<>(); properties.put("type",type); - properties.put("from","2"); + properties.put("from","1"); AnalyticsUtils.track("v2x_share_type",properties); } diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java index 30154abf9e..0a2e936abb 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java @@ -144,6 +144,7 @@ public class LaucherShareDialog extends BaseFloatDialog implements View.OnClickL // 事故 Logger.d(TAG,"点击事故"); sendShareReceiver(ShareConstants.TYPE_ACCIDENT); + trackWithType(ShareConstants.TYPE_ACCIDENT); dismiss(); } else if (id == R.id.tvConstruction) { // 道路施工 @@ -155,6 +156,7 @@ public class LaucherShareDialog extends BaseFloatDialog implements View.OnClickL // 实时路况 Logger.d(TAG,"点击实时路况"); sendShareReceiver(ShareConstants.TYPE_REAL_TIME_TRAFFIC); + trackWithType(ShareConstants.TYPE_REAL_TIME_TRAFFIC); dismiss(); } else if (id == R.id.tvStagnantWater) { // 道路积水