diff --git a/.idea/misc.xml b/.idea/misc.xml
index 21e99e2dc0..cd77a1f062 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -4,7 +4,7 @@
-
+
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
index 2cc9bfbac8..f44f8e20cc 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -73,7 +73,7 @@ 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.47
# 推送
MOGO_MODULE_PUSH_VERSION=1.0.1
# 广告资源位
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..0043bcab25 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,6 +6,7 @@ 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.Arrays;
import java.util.HashMap;
@@ -29,6 +30,9 @@ public class AppFilterImpl implements AppFilter {
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 ) {
+ mFilterPackages.add( "com.android.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 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..822303fed7 100644
--- a/modules/mogo-module-apps/src/main/res/values/strings.xml
+++ b/modules/mogo-module-apps/src/main/res/values/strings.xml
@@ -13,7 +13,6 @@
- com.android.browser
- com.android.providers.downloads.ui
- com.zhidao.guide.lock
- - com.android.settings
- com.android.calculator2
- com.nwd.guidebookskin
- com.iflytek.inputmethod.pad
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 3e5b77643a..02586d686b 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
@@ -315,7 +315,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) {
// 道路积水