diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java
index de53733b66..7b39a6b5a3 100644
--- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java
+++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppNavigatorPresenter.java
@@ -40,7 +40,7 @@ public class AppNavigatorPresenter extends Presenter< AppNavigatorView > impleme
AppServiceHandler.getApis().getRegisterCenterApi().registerMogoNaviListener( TAG, this );
if ( DebugConfig.isLauncher() ) {
// 预加载应用列表,空间换时间
-// AppsModel.getInstance( getContext() ).load( null );
+ AppsModel.getInstance( getContext() ).load( null );
}
}
diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsListActivity.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsListActivity.java
index 80ad419ea4..34a738ac9e 100644
--- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsListActivity.java
+++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsListActivity.java
@@ -113,7 +113,6 @@ public class AppsListActivity extends MvpActivity< AppsListView, AppsListPresent
@Override
protected void onDestroy() {
super.onDestroy();
- AppsModel.getInstance( this ).release();
AppServiceHandler.getApis().getStatusManagerApi().setAppListUIShow( TAG, false );
mMogoFragmentManager.removeMainFragmentStackTransactionListener( this );
mMogoFragmentManager = null;
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 ee047a2bb7..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
@@ -63,16 +63,15 @@ public class AppsModel {
}
public void load( AppLoadCallback callback ) {
-// if ( !mPagedApps.isEmpty() ) {
-// if ( callback != null ) {
-// callback.onLoaded( mPagedApps );
-// }
-// return;
-// }
+ if ( !mPagedApps.isEmpty() ) {
+ if ( callback != null ) {
+ callback.onLoaded( mPagedApps );
+ }
+ return;
+ }
if ( mAppFilter == null ) {
mAppFilter = new AppFilterImpl( mContext );
}
- mPagedApps.clear();
final PackageManager packageManager = mContext.getPackageManager();
List< PackageInfo > packages = packageManager.getInstalledPackages( 0 );
int counter = 0;
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