diff --git a/app/build.gradle b/app/build.gradle
index b004bd9771..19f74dadbe 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -59,8 +59,8 @@ dependencies {
releaseImplementation rootProject.ext.dependencies.leakcanarynoop
releaseImplementation rootProject.ext.dependencies.androidxmultidex
- implementation rootProject.ext.dependencies.moduledemo
- implementation rootProject.ext.dependencies.moduledemo2
+// implementation rootProject.ext.dependencies.moduledemo
+// implementation rootProject.ext.dependencies.moduledemo2
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 c2d61ae99d..87f83e0486 100644
--- a/app/src/main/java/com/mogo/launcher/MogoApplication.java
+++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java
@@ -5,9 +5,6 @@ import android.content.Context;
import androidx.multidex.MultiDex;
import com.mogo.commons.AbsMogoApplication;
-import com.mogo.demo.module.map.DemoConstants;
-import com.mogo.demo.module.map2.Demo2Constants;
-import com.mogo.module.common.ModuleType;
import com.mogo.module.common.MogoModule;
import com.mogo.module.common.MogoModulePaths;
import com.mogo.tanlu.constant.TanluConstants;
@@ -23,8 +20,8 @@ public class MogoApplication extends AbsMogoApplication {
@Override
public void onCreate() {
super.onCreate();
- MogoModulePaths.addModule( new MogoModule( DemoConstants.TAG, "CARD_DEMO" ) );
- MogoModulePaths.addModule( new MogoModule( Demo2Constants.TAG, "CARD_DEMO2" ) );
+// MogoModulePaths.addModule( new MogoModule( DemoConstants.TAG, "CARD_DEMO" ) );
+// MogoModulePaths.addModule( new MogoModule( Demo2Constants.TAG, "CARD_DEMO2" ) );
MogoModulePaths.addModule( new MogoModule( TanluConstants.TAG, "CARD_TYPE_ROAD_CODITION" ) );
}
diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java
index 829c6338e5..6815b5ec0d 100644
--- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java
+++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java
@@ -408,7 +408,7 @@ public class AMapNaviViewWrapper implements IMogoMapView,
style.strokeColor( Color.TRANSPARENT );
style.strokeWidth( 0 );
style.radiusFillColor( Color.TRANSPARENT );
- style.myLocationIcon( BitmapDescriptorFactory.fromResource( R.drawable.ic_current_location_cursor ) );
+ style.myLocationIcon( BitmapDescriptorFactory.fromResource( R.drawable.map_api_ic_current_location ) );
mMapView.getMap().setMyLocationStyle( style );
}
}
diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/marker/IMogoMarker.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/marker/IMogoMarker.java
index 5589a8c39a..3e6928da2d 100644
--- a/libraries/mogo-map-api/src/main/java/com/mogo/map/marker/IMogoMarker.java
+++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/marker/IMogoMarker.java
@@ -80,8 +80,16 @@ public interface IMogoMarker {
*/
void setMarkerOptions( MogoMarkerOptions opt );
+ /**
+ * 可以存储业务相关的数据
+ *
+ * @param object
+ */
void setObject( Object object );
+ /**
+ * @return 用户设置的 object 对象
+ */
Object getObject();
/**
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_amap_app_main_current_location_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_amap_app_main_current_location_bkg.png
deleted file mode 100755
index ae6a30532c..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_amap_app_main_current_location_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_amap_app_main_exit_navi_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_amap_app_main_exit_navi_bkg.png
deleted file mode 100755
index 3f2cde9f94..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_amap_app_main_exit_navi_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_amap_app_main_search_bar_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_amap_app_main_search_bar_bkg.png
deleted file mode 100755
index ea21518567..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_amap_app_main_search_bar_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_amap_navi_cursor.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_amap_navi_cursor.png
deleted file mode 100755
index 1f731b0db3..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_amap_navi_cursor.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_back.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_back.png
deleted file mode 100755
index 4b51fc8060..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_back.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_back_dark.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_back_dark.png
deleted file mode 100755
index bad7f51e3d..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_back_dark.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_current_location.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_current_location.png
deleted file mode 100755
index 2d5ff8d4c9..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_current_location.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_current_location_cursor.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_current_location_cursor.png
deleted file mode 100755
index 3f08bc021f..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_current_location_cursor.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_delete.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_delete.png
deleted file mode 100755
index c9b34a4fe6..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_delete.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_main_setting.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_main_setting.png
deleted file mode 100755
index 472d9b702e..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_main_setting.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_navi_info_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_navi_info_bkg.png
deleted file mode 100755
index d20b9596bc..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_navi_info_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search.png
deleted file mode 100755
index 4d668580a3..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search_choice_point.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search_choice_point.png
deleted file mode 100755
index 8ca4538285..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search_choice_point.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search_company.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search_company.png
deleted file mode 100755
index 9697f060f0..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search_company.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search_home.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search_home.png
deleted file mode 100755
index 3452e4e433..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search_home.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search_poi_location.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search_poi_location.png
deleted file mode 100755
index 25940d02c6..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search_poi_location.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search_unshadow.png b/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search_unshadow.png
deleted file mode 100755
index 7e8bf2b9c5..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-hdpi/ic_search_unshadow.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_amap_app_main_current_location_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_amap_app_main_current_location_bkg.png
deleted file mode 100755
index 6ae8cdd6df..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_amap_app_main_current_location_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_amap_app_main_exit_navi_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_amap_app_main_exit_navi_bkg.png
deleted file mode 100755
index a26b1c41c3..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_amap_app_main_exit_navi_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_amap_app_main_search_bar_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_amap_app_main_search_bar_bkg.png
deleted file mode 100755
index 6cb2857bbe..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_amap_app_main_search_bar_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_amap_navi_cursor.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_amap_navi_cursor.png
deleted file mode 100755
index d9056dc066..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_amap_navi_cursor.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_back.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_back.png
deleted file mode 100755
index 9d4ad53f3b..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_back.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_back_dark.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_back_dark.png
deleted file mode 100755
index 5a6b9d916f..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_back_dark.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_current_location.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_current_location.png
deleted file mode 100755
index 1b08cc5f53..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_current_location.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_current_location_cursor.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_current_location_cursor.png
deleted file mode 100755
index 732e2f228b..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_current_location_cursor.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_delete.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_delete.png
deleted file mode 100755
index 6cbe4afd03..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_delete.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_main_setting.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_main_setting.png
deleted file mode 100755
index 4122417b9d..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_main_setting.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_navi_info_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_navi_info_bkg.png
deleted file mode 100755
index 0f86d86a29..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_navi_info_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search.png
deleted file mode 100755
index a94be88d18..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search_choice_point.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search_choice_point.png
deleted file mode 100755
index 13ea311e83..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search_choice_point.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search_company.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search_company.png
deleted file mode 100755
index 2c2e86d0a8..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search_company.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search_home.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search_home.png
deleted file mode 100755
index 0b18677f59..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search_home.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search_poi_location.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search_poi_location.png
deleted file mode 100755
index 4dd0495294..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search_poi_location.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search_unshadow.png b/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search_unshadow.png
deleted file mode 100755
index cd32e7f85f..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-mdpi/ic_search_unshadow.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_amap_app_main_current_location_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_amap_app_main_current_location_bkg.png
deleted file mode 100755
index d1f7d180b7..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_amap_app_main_current_location_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_amap_app_main_exit_navi_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_amap_app_main_exit_navi_bkg.png
deleted file mode 100755
index 41abd4899d..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_amap_app_main_exit_navi_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_amap_app_main_search_bar_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_amap_app_main_search_bar_bkg.png
deleted file mode 100755
index 631b8f799c..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_amap_app_main_search_bar_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_current_location.png b/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_current_location.png
deleted file mode 100755
index cef9326010..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_current_location.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_delete.png b/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_delete.png
deleted file mode 100755
index 3b6a6f6aff..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_delete.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_main_setting.png b/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_main_setting.png
deleted file mode 100755
index 37caaba37c..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_main_setting.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_navi_info_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_navi_info_bkg.png
deleted file mode 100755
index eec694492e..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_navi_info_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_search.png b/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_search.png
deleted file mode 100755
index 38cd883c1d..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_search.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_search_company.png b/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_search_company.png
deleted file mode 100755
index c460e09b11..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_search_company.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_search_home.png b/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_search_home.png
deleted file mode 100755
index cfc9516ad7..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_search_home.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_search_unshadow.png b/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_search_unshadow.png
deleted file mode 100755
index cc0965e58b..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/ic_search_unshadow.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xhdpi/map_api_ic_current_location.png b/libraries/mogo-map-api/src/main/res/drawable-xhdpi/map_api_ic_current_location.png
new file mode 100644
index 0000000000..58f3550408
Binary files /dev/null and b/libraries/mogo-map-api/src/main/res/drawable-xhdpi/map_api_ic_current_location.png differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_amap_app_main_current_location_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_amap_app_main_current_location_bkg.png
deleted file mode 100755
index 1bedf36034..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_amap_app_main_current_location_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_amap_app_main_exit_navi_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_amap_app_main_exit_navi_bkg.png
deleted file mode 100755
index 729d5bd115..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_amap_app_main_exit_navi_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_amap_app_main_search_bar_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_amap_app_main_search_bar_bkg.png
deleted file mode 100755
index 88c1aba933..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_amap_app_main_search_bar_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_amap_navi_cursor.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_amap_navi_cursor.png
deleted file mode 100755
index 29446b440e..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_amap_navi_cursor.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_back.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_back.png
deleted file mode 100755
index 8b71d64823..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_back.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_back_dark.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_back_dark.png
deleted file mode 100755
index d7fb53b07e..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_back_dark.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_current_location.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_current_location.png
deleted file mode 100755
index 394816a629..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_current_location.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_delete.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_delete.png
deleted file mode 100755
index b2be7d69e8..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_delete.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_main_setting.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_main_setting.png
deleted file mode 100755
index c45cca1001..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_main_setting.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_mini_current_position_cursor.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_mini_current_position_cursor.png
deleted file mode 100755
index 54d30f28d7..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_mini_current_position_cursor.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_navi_info_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_navi_info_bkg.png
deleted file mode 100755
index df753302d6..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_navi_info_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search.png
deleted file mode 100755
index d1e92f18ff..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search_choice_point.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search_choice_point.png
deleted file mode 100755
index f1fdb8f94d..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search_choice_point.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search_company.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search_company.png
deleted file mode 100755
index 79c58e30dc..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search_company.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search_home.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search_home.png
deleted file mode 100755
index 499db278e1..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search_home.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search_poi_location.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search_poi_location.png
deleted file mode 100755
index 3b9b833dc3..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search_poi_location.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search_unshadow.png b/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search_unshadow.png
deleted file mode 100755
index 83321b0852..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxhdpi/ic_search_unshadow.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_amap_app_main_current_location_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_amap_app_main_current_location_bkg.png
deleted file mode 100755
index f497b06bfb..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_amap_app_main_current_location_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_amap_app_main_exit_navi_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_amap_app_main_exit_navi_bkg.png
deleted file mode 100755
index 9c793553d4..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_amap_app_main_exit_navi_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_amap_app_main_search_bar_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_amap_app_main_search_bar_bkg.png
deleted file mode 100755
index ab8f0dd66a..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_amap_app_main_search_bar_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_amap_navi_cursor.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_amap_navi_cursor.png
deleted file mode 100755
index fd5a4f97a8..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_amap_navi_cursor.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_back.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_back.png
deleted file mode 100755
index 355b270598..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_back.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_back_dark.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_back_dark.png
deleted file mode 100755
index 26e63062ee..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_back_dark.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_current_location.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_current_location.png
deleted file mode 100755
index b57ab6d37f..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_current_location.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_current_location_cursor.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_current_location_cursor.png
deleted file mode 100755
index 52fbfe85e6..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_current_location_cursor.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_delete.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_delete.png
deleted file mode 100755
index b11c525539..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_delete.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_main_setting.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_main_setting.png
deleted file mode 100755
index 24efb3c610..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_main_setting.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_navi_info_bkg.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_navi_info_bkg.png
deleted file mode 100755
index fa9d08d9eb..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_navi_info_bkg.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search.png
deleted file mode 100755
index 1f3eb227da..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search_choice_point.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search_choice_point.png
deleted file mode 100755
index 17c80dd1c7..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search_choice_point.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search_company.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search_company.png
deleted file mode 100755
index f6185feccf..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search_company.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search_home.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search_home.png
deleted file mode 100755
index 1e3cfbec83..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search_home.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search_poi_location.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search_poi_location.png
deleted file mode 100755
index dc98953d56..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search_poi_location.png and /dev/null differ
diff --git a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search_unshadow.png b/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search_unshadow.png
deleted file mode 100755
index bb04d0dfbd..0000000000
Binary files a/libraries/mogo-map-api/src/main/res/drawable-xxxhdpi/ic_search_unshadow.png and /dev/null differ
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java
index 1d2e44a9b8..60481bc255 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsFragment.java
@@ -102,4 +102,10 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP
mWeatherDesc.setText( desc );
mWeatherContainer.setVisibility( hidden ? View.GONE : View.VISIBLE );
}
+
+ @Override
+ public void renderMsgInfo( boolean hasMsg, int amount ) {
+ mMsgContainer.setVisibility( hasMsg ? View.VISIBLE : View.GONE );
+ mMsgCounter.setText( amount > 99 ? getString( R.string.module_ext_str_dots ) : String.valueOf( amount ) );
+ }
}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java
index f4e33bdca7..682a3ea9eb 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsPresenter.java
@@ -8,11 +8,15 @@ import android.content.IntentFilter;
import androidx.annotation.NonNull;
import androidx.lifecycle.LifecycleOwner;
+import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.mvp.Presenter;
import com.mogo.module.extensions.weather.Phenomena;
import com.mogo.module.extensions.weather.WeatherCallback;
import com.mogo.module.extensions.weather.WeatherInfo;
import com.mogo.module.extensions.weather.WeatherModel;
+import com.mogo.service.MogoServicePaths;
+import com.mogo.service.statusmanager.IMogoMsgCenter;
+import com.mogo.service.statusmanager.IMogoMsgCenterListener;
import com.mogo.utils.logger.Logger;
import java.util.Calendar;
@@ -24,7 +28,7 @@ import java.util.Calendar;
*
* 描述
*/
-public class ExtensionsPresenter extends Presenter< ExtensionsView > implements WeatherCallback {
+public class ExtensionsPresenter extends Presenter< ExtensionsView > implements WeatherCallback, IMogoMsgCenterListener {
private static final String TAG = "ExtensionsPresenter";
@@ -46,6 +50,8 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements
}
};
+ private IMogoMsgCenter mMsgCenter;
+
public ExtensionsPresenter( ExtensionsView view ) {
super( view );
@@ -60,6 +66,8 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements
mWeatherModel.init( this );
mWeatherModel.queryWeatherInformation();
refreshTimeAndDate();
+ mMsgCenter = ( IMogoMsgCenter ) ARouter.getInstance().build( MogoServicePaths.PATH_MSG_CENTER ).navigation();
+ mMsgCenter.registerMsgCenterListener( this );
}
/**
@@ -100,12 +108,21 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements
mView.renderWeatherInfo( temp, desc, resId );
}
+ @Override
+ public void onMsgChanged( boolean hasMsg, int amount ) {
+ if ( mView != null ) {
+
+ }
+ }
+
@Override
public void onDestroy( @NonNull LifecycleOwner owner ) {
super.onDestroy( owner );
if ( mWeatherModel != null ) {
mWeatherModel.destroy();
}
-
+ if ( mMsgCenter != null ) {
+ mMsgCenter.unregisterMsgCenterListener( this );
+ }
}
}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsView.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsView.java
index fc1c71fb22..3ab09a0b41 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsView.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/ExtensionsView.java
@@ -27,4 +27,12 @@ public interface ExtensionsView extends IView {
* @param iconId 图标
*/
void renderWeatherInfo( String temp, String desc, int iconId );
+
+ /**
+ * 刷新消息信息
+ *
+ * @param hasMsg 是否有消息
+ * @param amount 消息数量
+ */
+ void renderMsgInfo( boolean hasMsg, int amount );
}
diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml
index e7921e4e1a..05ec75c36a 100644
--- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml
+++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml
@@ -101,6 +101,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dp_28"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toLeftOf="@+id/module_ext_id_weather_container"
app:layout_constraintTop_toTopOf="parent">
@@ -119,7 +120,6 @@
android:gravity="center"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_20"
- android:visibility="invisible"
tools:text="···" />
diff --git a/modules/mogo-module-extensions/src/main/res/values/strings.xml b/modules/mogo-module-extensions/src/main/res/values/strings.xml
index a74b263891..09466eae59 100644
--- a/modules/mogo-module-extensions/src/main/res/values/strings.xml
+++ b/modules/mogo-module-extensions/src/main/res/values/strings.xml
@@ -13,4 +13,5 @@
- 周五
- 周六
+ ···
diff --git a/modules/mogo-module-map/build.gradle b/modules/mogo-module-map/build.gradle
index e412f0b9f2..4f753ca703 100644
--- a/modules/mogo-module-map/build.gradle
+++ b/modules/mogo-module-map/build.gradle
@@ -27,6 +27,11 @@ android {
}
}
+ compileOptions {
+ targetCompatibility 1.8
+ sourceCompatibility 1.8
+ }
+
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java
index 93b0023044..853f3ed188 100644
--- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java
+++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapFragment.java
@@ -1,8 +1,8 @@
package com.mogo.module.map;
import android.os.Bundle;
-
import android.view.View;
+
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -10,8 +10,12 @@ import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.map.IMogoMap;
import com.mogo.map.IMogoUiSettings;
+import com.mogo.map.MogoLatLng;
import com.mogo.map.MogoMapView;
-import com.mogo.module.common.MogoModulePaths;
+import com.mogo.map.location.IMogoLocationClient;
+import com.mogo.map.location.MogoLocation;
+import com.mogo.map.uicontroller.IMogoMapUIController;
+import com.mogo.service.MogoServicePaths;
import com.mogo.service.map.IMogoMapService;
/**
@@ -27,6 +31,20 @@ public class MapFragment extends MvpFragment< MapView, MapPresenter > implements
private MogoMapView mMogoMapView;
private IMogoMap mMogoMap;
+ private View mSearch;
+ private View mHome;
+
+ private View mCompany;
+
+ private View mUploadRoadCondition;
+
+ private View mVRMode;
+ private View mMove2CurrentLocation;
+
+ private IMogoMapService mService;
+ private IMogoMapUIController mMApUIController;
+ private IMogoLocationClient mMogoLocationClient;
+
@Override
protected int getLayoutId() {
return R.layout.module_map_fragment_map;
@@ -42,6 +60,34 @@ public class MapFragment extends MvpFragment< MapView, MapPresenter > implements
ARouter.getInstance().build(MogoModulePaths.PATH_MODULE_NAV_ACTIVITY).navigation(getActivity());
}
});
+
+ mSearch = findViewById( R.id.module_map_id_search );
+ mSearch.setOnClickListener( view -> {
+ } );
+
+ mHome = findViewById( R.id.module_map_id_home );
+ mHome.setOnClickListener( view -> {
+ } );
+
+ mCompany = findViewById( R.id.module_map_id_company );
+ mCompany.setOnClickListener( view -> {
+ } );
+
+ mUploadRoadCondition = findViewById( R.id.module_map_id_upload_road_condition );
+ mUploadRoadCondition.setOnClickListener( view -> {
+ } );
+
+ mVRMode = findViewById( R.id.module_map_id_vr_mode );
+ mVRMode.setOnClickListener( view -> {
+ } );
+
+ mMove2CurrentLocation = findViewById( R.id.module_map_id_move2_current_location );
+ mMove2CurrentLocation.setOnClickListener( view -> {
+ final MogoLocation location = mMogoLocationClient.getLastKnowLocation();
+ if ( location != null ) {
+ mMApUIController.moveToCenter( new MogoLatLng( location.getLatitude(), location.getLongitude() ) );
+ }
+ } );
}
@NonNull
@@ -57,6 +103,9 @@ public class MapFragment extends MvpFragment< MapView, MapPresenter > implements
mMogoMapView.onCreate( savedInstanceState );
}
initMapView();
+ mService = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation( getContext() );
+ mMApUIController = mService.getMapUIController();
+ mMogoLocationClient = mService.getLocationClient( getContext() );
}
@Override
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/AutoRefreshStrategy.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/AutoRefreshStrategy.java
index 76cee2058f..3a107c335d 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/AutoRefreshStrategy.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/AutoRefreshStrategy.java
@@ -8,7 +8,7 @@ package com.mogo.module.service;
*/
public class AutoRefreshStrategy {
- public static final long ONE_MINUTE = 5 * 1_000L;
+ public static final long ONE_MINUTE = 60 * 1_000L;
/**
* 距离(米)
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 2b916dfedd..b95d9e0004 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
@@ -2,7 +2,6 @@ package com.mogo.module.service;
import android.content.Context;
-import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
@@ -19,9 +18,7 @@ import com.mogo.map.MogoLatLng;
import com.mogo.map.listener.IMogoMapListener;
import com.mogo.map.location.IMogoLocationListener;
import com.mogo.map.location.MogoLocation;
-import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.IMogoMarkerManager;
-import com.mogo.map.marker.MogoMarkerOptions;
import com.mogo.map.model.MogoPoi;
import com.mogo.map.navi.IMogoNaviListener;
import com.mogo.map.navi.MogoNaviInfo;
@@ -59,7 +56,6 @@ public class MogoServiceProvider implements IMogoModuleProvider,
*/
private AutoRefreshStrategy mAutoRefreshStrategy = new AutoRefreshStrategy();
private MogoLatLng mLastAutoRefreshLocation = null;
- private long mLastRefreshTime = 0;
private IMogoMarkerManager mMarkerManager;
private IMogoMapUIController mUiController;
@@ -85,7 +81,6 @@ public class MogoServiceProvider implements IMogoModuleProvider,
private MogoLatLng mLastCustomRefreshCenterLocation;
private IMogoMapService mMogoMapService;
- private IMogoMarker mCameraCenterMarker = null;
private IMogoStatusManager mStatusManager;
/**
@@ -315,18 +310,6 @@ public class MogoServiceProvider implements IMogoModuleProvider,
return;
}
- if ( mCameraCenterMarker == null ) {
- mCameraCenterMarker = mMarkerManager.addMarker( ServiceConst.TYPE,
- new MogoMarkerOptions()
- .icon( BitmapFactory.decodeResource( mContext.getResources(), R.drawable.ic_search_poi_location ) )
- .latitude( latLng.lat )
- .longitude( latLng.lng )
- .owner( ServiceConst.TYPE )
- );
- } else {
- mCameraCenterMarker.setPosition( latLng.lat, latLng.lng );
- }
-
if ( mLastZoomLevel != zoom ) {
refreshCameraPosition();
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerActivitiesScope.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerActivitiesScope.java
new file mode 100644
index 0000000000..85567b97a5
--- /dev/null
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerActivitiesScope.java
@@ -0,0 +1,30 @@
+
+package com.mogo.module.service.entity;
+
+import com.google.gson.annotations.SerializedName;
+
+@SuppressWarnings("unused")
+public class MarkerActivitiesScope {
+
+ @SerializedName("content")
+ private String mContent;
+ @SerializedName("isCheck")
+ private Long mIsCheck;
+
+ public String getContent() {
+ return mContent;
+ }
+
+ public void setContent(String content) {
+ mContent = content;
+ }
+
+ public Long getIsCheck() {
+ return mIsCheck;
+ }
+
+ public void setIsCheck(Long isCheck) {
+ mIsCheck = isCheck;
+ }
+
+}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerCarChat.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerCarChat.java
new file mode 100644
index 0000000000..4a4260d8ae
--- /dev/null
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerCarChat.java
@@ -0,0 +1,40 @@
+
+package com.mogo.module.service.entity;
+
+import com.google.gson.annotations.SerializedName;
+
+@SuppressWarnings("unused")
+public class MarkerCarChat {
+
+ @SerializedName("location")
+ private MarkerLocation mLocation;
+ @SerializedName("type")
+ private String mType;
+ @SerializedName("userInfo")
+ private MarkerUserInfo mUserInfo;
+
+ public MarkerLocation getLocation() {
+ return mLocation;
+ }
+
+ public void setLocation(MarkerLocation location) {
+ mLocation = location;
+ }
+
+ public String getType() {
+ return mType;
+ }
+
+ public void setType(String type) {
+ mType = type;
+ }
+
+ public MarkerUserInfo getUserInfo() {
+ return mUserInfo;
+ }
+
+ public void setUserInfo(MarkerUserInfo userInfo) {
+ mUserInfo = userInfo;
+ }
+
+}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerCarInfo.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerCarInfo.java
new file mode 100644
index 0000000000..35303e381e
--- /dev/null
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerCarInfo.java
@@ -0,0 +1,30 @@
+
+package com.mogo.module.service.entity;
+
+import com.google.gson.annotations.SerializedName;
+
+@SuppressWarnings("unused")
+public class MarkerCarInfo {
+
+ @SerializedName("carBrandLogoUrl")
+ private String mCarBrandLogoUrl;
+ @SerializedName("carTypeName")
+ private String mCarTypeName;
+
+ public String getCarBrandLogoUrl() {
+ return mCarBrandLogoUrl;
+ }
+
+ public void setCarBrandLogoUrl(String carBrandLogoUrl) {
+ mCarBrandLogoUrl = carBrandLogoUrl;
+ }
+
+ public String getCarTypeName() {
+ return mCarTypeName;
+ }
+
+ public void setCarTypeName(String carTypeName) {
+ mCarTypeName = carTypeName;
+ }
+
+}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerCardResult.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerCardResult.java
new file mode 100644
index 0000000000..12c485d889
--- /dev/null
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerCardResult.java
@@ -0,0 +1,51 @@
+
+package com.mogo.module.service.entity;
+
+import java.util.List;
+import com.google.gson.annotations.SerializedName;
+
+@SuppressWarnings("unused")
+public class MarkerCardResult {
+
+ @SerializedName("carChat")
+ private List mCarChat;
+ @SerializedName("exploreWay")
+ private List mExploreWay;
+ @SerializedName("onlineCar")
+ private List mOnlineCar;
+ @SerializedName("shareMusic")
+ private List mShareMusic;
+
+ public List getCarChat() {
+ return mCarChat;
+ }
+
+ public void setCarChat(List carChat) {
+ mCarChat = carChat;
+ }
+
+ public List getExploreWay() {
+ return mExploreWay;
+ }
+
+ public void setExploreWay(List exploreWay) {
+ mExploreWay = exploreWay;
+ }
+
+ public List getOnlineCar() {
+ return mOnlineCar;
+ }
+
+ public void setOnlineCar(List onlineCar) {
+ mOnlineCar = onlineCar;
+ }
+
+ public List getShareMusic() {
+ return mShareMusic;
+ }
+
+ public void setShareMusic(List shareMusic) {
+ mShareMusic = shareMusic;
+ }
+
+}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerDynamicData.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerDynamicData.java
new file mode 100644
index 0000000000..0e9080d565
--- /dev/null
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerDynamicData.java
@@ -0,0 +1,40 @@
+
+package com.mogo.module.service.entity;
+
+import com.google.gson.annotations.SerializedName;
+
+@SuppressWarnings("unused")
+public class MarkerDynamicData {
+
+ @SerializedName("id")
+ private String mId;
+ @SerializedName("name")
+ private String mName;
+ @SerializedName("type")
+ private Long mType;
+
+ public String getId() {
+ return mId;
+ }
+
+ public void setId(String id) {
+ mId = id;
+ }
+
+ public String getName() {
+ return mName;
+ }
+
+ public void setName(String name) {
+ mName = name;
+ }
+
+ public Long getType() {
+ return mType;
+ }
+
+ public void setType(Long type) {
+ mType = type;
+ }
+
+}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerExploreWay.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerExploreWay.java
new file mode 100644
index 0000000000..319e3275a5
--- /dev/null
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerExploreWay.java
@@ -0,0 +1,131 @@
+
+package com.mogo.module.service.entity;
+
+import java.util.List;
+import com.google.gson.annotations.SerializedName;
+
+@SuppressWarnings("unused")
+public class MarkerExploreWay {
+
+ @SerializedName("addr")
+ private String mAddr;
+ @SerializedName("canLive")
+ private Long mCanLive;
+ @SerializedName("cityName")
+ private String mCityName;
+ @SerializedName("direction")
+ private Long mDirection;
+ @SerializedName("distance")
+ private Long mDistance;
+ @SerializedName("fileType")
+ private Long mFileType;
+ @SerializedName("generateTime")
+ private Long mGenerateTime;
+ @SerializedName("items")
+ private List mItems;
+ @SerializedName("location")
+ private MarkerLocation mLocation;
+ @SerializedName("sn")
+ private String mSn;
+ @SerializedName("type")
+ private String mType;
+ @SerializedName("userInfo")
+ private MarkerUserInfo mUserInfo;
+
+ public String getAddr() {
+ return mAddr;
+ }
+
+ public void setAddr(String addr) {
+ mAddr = addr;
+ }
+
+ public Long getCanLive() {
+ return mCanLive;
+ }
+
+ public void setCanLive(Long canLive) {
+ mCanLive = canLive;
+ }
+
+ public String getCityName() {
+ return mCityName;
+ }
+
+ public void setCityName(String cityName) {
+ mCityName = cityName;
+ }
+
+ public Long getDirection() {
+ return mDirection;
+ }
+
+ public void setDirection(Long direction) {
+ mDirection = direction;
+ }
+
+ public Long getDistance() {
+ return mDistance;
+ }
+
+ public void setDistance(Long distance) {
+ mDistance = distance;
+ }
+
+ public Long getFileType() {
+ return mFileType;
+ }
+
+ public void setFileType(Long fileType) {
+ mFileType = fileType;
+ }
+
+ public Long getGenerateTime() {
+ return mGenerateTime;
+ }
+
+ public void setGenerateTime(Long generateTime) {
+ mGenerateTime = generateTime;
+ }
+
+ public List getItems() {
+ return mItems;
+ }
+
+ public void setItems(List items) {
+ mItems = items;
+ }
+
+ public MarkerLocation getLocation() {
+ return mLocation;
+ }
+
+ public void setLocation(MarkerLocation location) {
+ mLocation = location;
+ }
+
+ public String getSn() {
+ return mSn;
+ }
+
+ public void setSn(String sn) {
+ mSn = sn;
+ }
+
+ public String getType() {
+ return mType;
+ }
+
+ public void setType(String type) {
+ mType = type;
+ }
+
+ public MarkerUserInfo getUserInfo() {
+ return mUserInfo;
+ }
+
+ public void setUserInfo(MarkerUserInfo userInfo) {
+ mUserInfo = userInfo;
+ }
+
+}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerExploreWayItem.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerExploreWayItem.java
new file mode 100644
index 0000000000..e54aeee7a2
--- /dev/null
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerExploreWayItem.java
@@ -0,0 +1,30 @@
+
+package com.mogo.module.service.entity;
+
+import com.google.gson.annotations.SerializedName;
+
+@SuppressWarnings("unused")
+public class MarkerExploreWayItem {
+
+ @SerializedName("thumbnail")
+ private String mThumbnail;
+ @SerializedName("url")
+ private String mUrl;
+
+ public String getThumbnail() {
+ return mThumbnail;
+ }
+
+ public void setThumbnail(String thumbnail) {
+ mThumbnail = thumbnail;
+ }
+
+ public String getUrl() {
+ return mUrl;
+ }
+
+ public void setUrl(String url) {
+ mUrl = url;
+ }
+
+}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerHobbyDatum.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerHobbyDatum.java
new file mode 100644
index 0000000000..73af126e75
--- /dev/null
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerHobbyDatum.java
@@ -0,0 +1,30 @@
+
+package com.mogo.module.service.entity;
+
+import com.google.gson.annotations.SerializedName;
+
+@SuppressWarnings("unused")
+public class MarkerHobbyDatum {
+
+ @SerializedName("content")
+ private String mContent;
+ @SerializedName("isCheck")
+ private Long mIsCheck;
+
+ public String getContent() {
+ return mContent;
+ }
+
+ public void setContent(String content) {
+ mContent = content;
+ }
+
+ public Long getIsCheck() {
+ return mIsCheck;
+ }
+
+ public void setIsCheck(Long isCheck) {
+ mIsCheck = isCheck;
+ }
+
+}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerLocation.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerLocation.java
new file mode 100644
index 0000000000..e48747e67f
--- /dev/null
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerLocation.java
@@ -0,0 +1,50 @@
+
+package com.mogo.module.service.entity;
+
+import com.google.gson.annotations.SerializedName;
+
+@SuppressWarnings("unused")
+public class MarkerLocation {
+
+ @SerializedName("address")
+ private String mAddress;
+ @SerializedName("angle")
+ private String mAngle;
+ @SerializedName("lat")
+ private String mLat;
+ @SerializedName("lon")
+ private String mLon;
+
+ public String getAddress() {
+ return mAddress;
+ }
+
+ public void setAddress(String address) {
+ mAddress = address;
+ }
+
+ public String getAngle() {
+ return mAngle;
+ }
+
+ public void setAngle(String angle) {
+ mAngle = angle;
+ }
+
+ public String getLat() {
+ return mLat;
+ }
+
+ public void setLat(String lat) {
+ mLat = lat;
+ }
+
+ public String getLon() {
+ return mLon;
+ }
+
+ public void setLon(String lon) {
+ mLon = lon;
+ }
+
+}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerOnlineCar.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerOnlineCar.java
new file mode 100644
index 0000000000..46e1c4b9fb
--- /dev/null
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerOnlineCar.java
@@ -0,0 +1,101 @@
+
+package com.mogo.module.service.entity;
+
+import java.util.List;
+import com.google.gson.annotations.SerializedName;
+
+@SuppressWarnings("unused")
+public class MarkerOnlineCar {
+
+ @SerializedName("activitiesScope")
+ private List mActivitiesScope;
+ @SerializedName("carInfo")
+ private MarkerCarInfo mCarInfo;
+ @SerializedName("compatibility")
+ private Long mCompatibility;
+ @SerializedName("dynamicData")
+ private MarkerDynamicData mDynamicData;
+ @SerializedName("hobbyData")
+ private List mHobbyData;
+ @SerializedName("isFocus")
+ private Long mIsFocus;
+ @SerializedName("location")
+ private MarkerLocation mLocation;
+ @SerializedName("type")
+ private String mType;
+ @SerializedName("userInfo")
+ private MarkerUserInfo mUserInfo;
+
+ public List getActivitiesScope() {
+ return mActivitiesScope;
+ }
+
+ public void setActivitiesScope(List activitiesScope) {
+ mActivitiesScope = activitiesScope;
+ }
+
+ public MarkerCarInfo getCarInfo() {
+ return mCarInfo;
+ }
+
+ public void setCarInfo(MarkerCarInfo carInfo) {
+ mCarInfo = carInfo;
+ }
+
+ public Long getCompatibility() {
+ return mCompatibility;
+ }
+
+ public void setCompatibility(Long compatibility) {
+ mCompatibility = compatibility;
+ }
+
+ public MarkerDynamicData getDynamicData() {
+ return mDynamicData;
+ }
+
+ public void setDynamicData(MarkerDynamicData dynamicData) {
+ mDynamicData = dynamicData;
+ }
+
+ public List getHobbyData() {
+ return mHobbyData;
+ }
+
+ public void setHobbyData(List hobbyData) {
+ mHobbyData = hobbyData;
+ }
+
+ public Long getIsFocus() {
+ return mIsFocus;
+ }
+
+ public void setIsFocus(Long isFocus) {
+ mIsFocus = isFocus;
+ }
+
+ public MarkerLocation getLocation() {
+ return mLocation;
+ }
+
+ public void setLocation(MarkerLocation location) {
+ mLocation = location;
+ }
+
+ public String getType() {
+ return mType;
+ }
+
+ public void setType(String type) {
+ mType = type;
+ }
+
+ public MarkerUserInfo getUserInfo() {
+ return mUserInfo;
+ }
+
+ public void setUserInfo(MarkerUserInfo userInfo) {
+ mUserInfo = userInfo;
+ }
+
+}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerResponse.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerResponse.java
new file mode 100644
index 0000000000..67af7725bd
--- /dev/null
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerResponse.java
@@ -0,0 +1,50 @@
+
+package com.mogo.module.service.entity;
+
+import com.google.gson.annotations.SerializedName;
+
+@SuppressWarnings("unused")
+public class MarkerResponse {
+
+ @SerializedName("code")
+ private Long mCode;
+ @SerializedName("msg")
+ private String mMsg;
+ @SerializedName("result")
+ private MarkerCardResult mResult;
+ @SerializedName("sign")
+ private String mSign;
+
+ public Long getCode() {
+ return mCode;
+ }
+
+ public void setCode(Long code) {
+ mCode = code;
+ }
+
+ public String getMsg() {
+ return mMsg;
+ }
+
+ public void setMsg(String msg) {
+ mMsg = msg;
+ }
+
+ public MarkerCardResult getResult() {
+ return mResult;
+ }
+
+ public void setResult(MarkerCardResult result) {
+ mResult = result;
+ }
+
+ public String getSign() {
+ return mSign;
+ }
+
+ public void setSign(String sign) {
+ mSign = sign;
+ }
+
+}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerShareMusic.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerShareMusic.java
new file mode 100644
index 0000000000..4bf58b6150
--- /dev/null
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerShareMusic.java
@@ -0,0 +1,80 @@
+
+package com.mogo.module.service.entity;
+
+import com.google.gson.annotations.SerializedName;
+
+@SuppressWarnings("unused")
+public class MarkerShareMusic {
+
+ @SerializedName("id")
+ private String mId;
+ @SerializedName("likeNumber")
+ private Long mLikeNumber;
+ @SerializedName("location")
+ private MarkerLocation mLocation;
+ @SerializedName("musicName")
+ private String mMusicName;
+ @SerializedName("shareContentText")
+ private String mShareContentText;
+ @SerializedName("type")
+ private String mType;
+ @SerializedName("userInfo")
+ private MarkerUserInfo mUserInfo;
+
+ public String getId() {
+ return mId;
+ }
+
+ public void setId(String id) {
+ mId = id;
+ }
+
+ public Long getLikeNumber() {
+ return mLikeNumber;
+ }
+
+ public void setLikeNumber(Long likeNumber) {
+ mLikeNumber = likeNumber;
+ }
+
+ public MarkerLocation getLocation() {
+ return mLocation;
+ }
+
+ public void setLocation(MarkerLocation location) {
+ mLocation = location;
+ }
+
+ public String getMusicName() {
+ return mMusicName;
+ }
+
+ public void setMusicName(String musicName) {
+ mMusicName = musicName;
+ }
+
+ public String getShareContentText() {
+ return mShareContentText;
+ }
+
+ public void setShareContentText(String shareContentText) {
+ mShareContentText = shareContentText;
+ }
+
+ public String getType() {
+ return mType;
+ }
+
+ public void setType(String type) {
+ mType = type;
+ }
+
+ public MarkerUserInfo getUserInfo() {
+ return mUserInfo;
+ }
+
+ public void setUserInfo(MarkerUserInfo userInfo) {
+ mUserInfo = userInfo;
+ }
+
+}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerUserInfo.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerUserInfo.java
new file mode 100644
index 0000000000..ca83979c02
--- /dev/null
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/entity/MarkerUserInfo.java
@@ -0,0 +1,70 @@
+
+package com.mogo.module.service.entity;
+
+import com.google.gson.annotations.SerializedName;
+
+@SuppressWarnings("unused")
+public class MarkerUserInfo {
+
+ @SerializedName("age")
+ private Long mAge;
+ @SerializedName("gender")
+ private Long mGender;
+ @SerializedName("sn")
+ private String mSn;
+ @SerializedName("userHead")
+ private String mUserHead;
+ @SerializedName("userId")
+ private Long mUserId;
+ @SerializedName("userName")
+ private String mUserName;
+
+ public Long getAge() {
+ return mAge;
+ }
+
+ public void setAge(Long age) {
+ mAge = age;
+ }
+
+ public Long getGender() {
+ return mGender;
+ }
+
+ public void setGender(Long gender) {
+ mGender = gender;
+ }
+
+ public String getSn() {
+ return mSn;
+ }
+
+ public void setSn(String sn) {
+ mSn = sn;
+ }
+
+ public String getUserHead() {
+ return mUserHead;
+ }
+
+ public void setUserHead(String userHead) {
+ mUserHead = userHead;
+ }
+
+ public Long getUserId() {
+ return mUserId;
+ }
+
+ public void setUserId(Long userId) {
+ mUserId = userId;
+ }
+
+ public String getUserName() {
+ return mUserName;
+ }
+
+ public void setUserName(String userName) {
+ mUserName = userName;
+ }
+
+}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java
new file mode 100644
index 0000000000..4e2d773096
--- /dev/null
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java
@@ -0,0 +1,42 @@
+package com.mogo.module.service.marker;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.LayoutInflater;
+import android.widget.LinearLayout;
+
+import androidx.annotation.Nullable;
+
+import com.mogo.module.service.R;
+
+/**
+ * author : donghongyu
+ * e-mail : 1358506549@qq.com
+ * date : 2020-01-0619:55
+ * desc : 地图Marker图标带文本信息
+ * version: 1.0
+ */
+public class MapMarkerInfoView extends LinearLayout {
+ public MapMarkerInfoView(Context context) {
+ super(context);
+ initView(context);
+ }
+
+ public MapMarkerInfoView(Context context, @Nullable AttributeSet attrs) {
+ super(context, attrs);
+ initView(context);
+ }
+
+ public MapMarkerInfoView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ initView(context);
+ }
+
+
+ private void initView(Context context) {
+
+ LayoutInflater.from(context).inflate(R.layout.view_map_marker_info, this);
+
+ }
+
+}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java
new file mode 100644
index 0000000000..d288cfa493
--- /dev/null
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java
@@ -0,0 +1,42 @@
+package com.mogo.module.service.marker;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.LayoutInflater;
+import android.widget.LinearLayout;
+
+import androidx.annotation.Nullable;
+
+import com.mogo.module.service.R;
+
+/**
+ * author : donghongyu
+ * e-mail : 1358506549@qq.com
+ * date : 2020-01-0619:55
+ * desc : 地图Marker图标
+ * version: 1.0
+ */
+public class MapMarkerView extends LinearLayout {
+ public MapMarkerView(Context context) {
+ super(context);
+ initView(context);
+ }
+
+ public MapMarkerView(Context context, @Nullable AttributeSet attrs) {
+ super(context, attrs);
+ initView(context);
+ }
+
+ public MapMarkerView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ initView(context);
+ }
+
+
+ private void initView(Context context) {
+
+ LayoutInflater.from(context).inflate(R.layout.view_map_marker, this);
+
+ }
+
+}
\ No newline at end of file
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshApiService.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshApiService.java
index 82497488e6..d7327c28dc 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshApiService.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshApiService.java
@@ -21,7 +21,7 @@ import retrofit2.http.QueryMap;
public interface RefreshApiService {
@FormUrlEncoded
- @POST( "" )
+ @POST( "/yycp-launcherSnapshot/launcherSnapshot/querySnapshotAsync" )
Observable< BaseData > refreshData( @QueryMap Map< String, Object > params,
@FieldMap Map< String, Object > parameters );
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java
index 1da0a385cb..004825d28f 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java
@@ -38,10 +38,6 @@ public class RefreshModel {
}
public void refreshData( MogoLatLng latLng, int radius, final RefreshCallback callback ) {
- if ( callback != null ) {
- callback.onSuccess();
- return;
- }
if ( mRefreshApiService != null ) {
final Map< String, Object > query = new ParamsProvider.Builder( mContext ).build();
final Map< String, Object > field = new HashMap<>();
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_blue.9.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_blue.9.png
new file mode 100644
index 0000000000..7fe7c84231
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_blue.9.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_blue_info.9.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_blue_info.9.png
new file mode 100644
index 0000000000..5e0d729a31
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_blue_info.9.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_green.9.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_green.9.png
new file mode 100644
index 0000000000..29becca453
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_green.9.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_green_info.9.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_green_info.9.png
new file mode 100644
index 0000000000..8b919cc1fc
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_green_info.9.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_purple.9.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_purple.9.png
new file mode 100644
index 0000000000..96eb49645b
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_purple.9.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_purple_info.9.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_purple_info.9.png
new file mode 100644
index 0000000000..084202a382
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/bg_map_marker_purple_info.9.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_default.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_default.png
new file mode 100644
index 0000000000..d24606ab1d
Binary files /dev/null and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_default.png differ
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
new file mode 100644
index 0000000000..eb046bd455
--- /dev/null
+++ b/modules/mogo-module-service/src/main/res/layout/view_map_marker.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
\ No newline at end of file
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
new file mode 100644
index 0000000000..4904aab108
--- /dev/null
+++ b/modules/mogo-module-service/src/main/res/layout/view_map_marker_info.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/fragment/TanluCardViewFragment.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/fragment/TanluCardViewFragment.java
index e09dcdd482..df85830cf9 100644
--- a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/fragment/TanluCardViewFragment.java
+++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/fragment/TanluCardViewFragment.java
@@ -2,7 +2,6 @@ package com.mogo.tanlu.fragment;
import android.graphics.Bitmap;
import android.os.Bundle;
-import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;
@@ -20,6 +19,7 @@ import com.mogo.map.location.IMogoLocationListener;
import com.mogo.map.location.MogoLocation;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.IMogoMarkerClickListener;
+import com.mogo.map.marker.IMogoMarkerManager;
import com.mogo.map.model.MogoPoi;
import com.mogo.map.search.geo.MogoPoiItem;
import com.mogo.map.search.poisearch.IMogoPoiSearchListener;
@@ -28,6 +28,7 @@ import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.imageloader.IMogoImageLoaderListener;
import com.mogo.service.imageloader.IMogoImageloader;
+import com.mogo.service.map.IMogoMapService;
import com.mogo.service.module.IMogoModuleLifecycle;
import com.mogo.tanlu.R;
import com.mogo.tanlu.video.FullMediaActivity;
@@ -37,6 +38,8 @@ import com.mogo.utils.TipToast;
import com.mogo.utils.logger.Logger;
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder;
+import java.util.List;
+
import static com.mogo.tanlu.video.VideoInitKt.initVideo;
/**
@@ -57,7 +60,9 @@ public class TanluCardViewFragment extends MvpFragment>
//map
private IMogoMarker mPoiMarker;
- private int position = -1;
+// private int position = -1;
+ private IMogoMarkerManager mMarkerManager;
+ private IMogoMapService mMogoMapService;
//media
private GSYVideoOptionBuilder gsyVideoOptionBuilder = new GSYVideoOptionBuilder();
@@ -79,7 +84,6 @@ public class TanluCardViewFragment extends MvpFragment>
@Override
protected void initViews() {
initVideo();
- position = getArguments().getInt("position");
simpleCoverVideoPlayer = findViewById(R.id.video_player_main);
autoZoomInImageView = findViewById(R.id.tanlu_photo_imageView);
mPreviousTv = findViewById(R.id.tv_previous_res);
@@ -104,18 +108,9 @@ public class TanluCardViewFragment extends MvpFragment>
//图片配置
mogoImageloader = (IMogoImageloader) ARouter.getInstance().build(MogoServicePaths.PATH_UTILS_IMAGE_LOADER).navigation();
+ //地图marker
+ mMogoMapService = (IMogoMapService) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_MAP).navigation(getActivity());
- //当前定位信息
- TanluServiceHandler.getPoiSearch().setPoiSearchListener(this);
-// mLocation = TanluServiceHandler.getLocationClient().getLastKnowLocation();
-
- TanluServiceHandler.getLocationClient().addLocationListener(new IMogoLocationListener() {
- @Override
- public void onLocationChanged(MogoLocation location) {
-// mLocation = location;
- Logger.d(TAG, "demo模块定位,定位间隔4s");
- }
- });
}
@Override
@@ -177,9 +172,9 @@ public class TanluCardViewFragment extends MvpFragment>
autoZoomInImageView.post(new Runnable() {
@Override
public void run() {
- //放大增量是0.3,放大时间是1000毫秒,放大开始时间是1000毫秒以后
+ //放大增量是0.3,放大时间是1000毫秒,放大开始时间是600毫秒以后
autoZoomInImageView.init()
- .startZoomInByScaleDeltaAndDuration(0.3f, 1000, 1500);
+ .startZoomInByScaleDeltaAndDuration(0.2f, 1000, 500);
}
});
@@ -199,6 +194,7 @@ public class TanluCardViewFragment extends MvpFragment>
return true;
}
+
@NonNull
@Override
protected Presenter createPresenter() {
@@ -209,14 +205,20 @@ public class TanluCardViewFragment extends MvpFragment>
//TODO C位事件,如何获取数据,需要有默认数据
@Override
public void onPerform() {
- Logger.d(TAG, "tanlu卡片 有效");
+ Logger.d(TAG, "tanlu卡片 有效 ---->");
+ mMarkerManager = mMogoMapService.getMarkerManager(getActivity());
+ List markers = mMarkerManager.getMarkers("CARD_TYPE_ROAD_CODITION");
+ for (int i = 0; i < markers.size(); i++) {
+ markers.get(i).getObject();
+ }
}
+
//TODO 离开C位事件
@Override
public void onDisable() {
- Logger.e(TAG, "tanlu卡片 无效");
+ Logger.e(TAG, "tanlu卡片 无效 ----->");
}
@Override
@@ -287,7 +289,6 @@ public class TanluCardViewFragment extends MvpFragment>
@Override
public void onDestroyView() {
- Logger.w(TAG, "onDestroyView position=" + position);
super.onDestroyView();
getViewLifecycleOwner().getLifecycle().removeObserver(mPresenter);
TanluServiceHandler.getLocationClient().removeLocationListener(this);
diff --git a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_bubble_marker.xml b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_bubble_marker.xml
index a062cf73d1..5e06488b24 100644
--- a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_bubble_marker.xml
+++ b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_bubble_marker.xml
@@ -10,7 +10,6 @@
android:layout_height="50dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:miv_placeHolder="@drawable/ic_amap_app_main_current_location_bkg"
app:miv_shape="circle" />
+ android:layout_height="225dp"
+ android:layout_below="@+id/layout_top_view">
+ android:layout_height="match_parent"
+ android:visibility="gone" />
@@ -61,17 +60,17 @@
+ android:layout_below="@+id/media_layout"
+ android:background="@drawable/shape_bg_222533_6px_bottom">
+ android:src="@mipmap/ic_launcher"
+ android:visibility="gone" />
+ android:textSize="18dp"
+ android:visibility="gone" />
+ android:textSize="16dp"
+ android:visibility="gone" />
@@ -116,11 +115,11 @@
android:id="@+id/tv_next_res"
android:layout_width="110dp"
android:layout_height="45dp"
- android:layout_centerVertical="true"
android:layout_alignParentRight="true"
- android:gravity="center_vertical|center_horizontal"
+ android:layout_centerVertical="true"
android:layout_marginRight="35dp"
android:background="@drawable/shape_bg_222533"
+ android:gravity="center_vertical|center_horizontal"
android:text="下一个"
android:textColor="@color/white"
android:textSize="18dp" />
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java b/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java
index 0dd30836fa..fd3e61b1ec 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java
@@ -50,4 +50,14 @@ public class MogoServicePaths {
* 状态管理接口
*/
public static final String PATH_STATUS_MANAGER = "/statusmanager/api";
+
+ /**
+ * 消息中心
+ */
+ public static final String PATH_MSG_CENTER = "/msgcenter/api";
+
+ /**
+ * 消息中心
+ */
+ public static final String PATH_WINDOW_MANAGER = "/windowmanger/api";
}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoMsgCenter.java b/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoMsgCenter.java
new file mode 100644
index 0000000000..ab37d6638e
--- /dev/null
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoMsgCenter.java
@@ -0,0 +1,34 @@
+package com.mogo.service.statusmanager;
+
+import com.alibaba.android.arouter.facade.template.IProvider;
+
+/**
+ * @author congtaowang
+ * @since 2020-01-06
+ *
+ * 消息管控
+ */
+public interface IMogoMsgCenter extends IProvider {
+
+ /**
+ * 设置消息状态
+ *
+ * @param hasMsg 是否有未读消息
+ * @param msgAmount 未读消息数量
+ */
+ void setMsgStatus( boolean hasMsg, int msgAmount );
+
+ /**
+ * 注册消息监听
+ *
+ * @param listener
+ */
+ void registerMsgCenterListener( IMogoMsgCenterListener listener );
+
+ /**
+ * 注册消息监听
+ *
+ * @param listener
+ */
+ void unregisterMsgCenterListener( IMogoMsgCenterListener listener );
+}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoMsgCenterListener.java b/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoMsgCenterListener.java
new file mode 100644
index 0000000000..243d216dc1
--- /dev/null
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoMsgCenterListener.java
@@ -0,0 +1,18 @@
+package com.mogo.service.statusmanager;
+
+/**
+ * @author congtaowang
+ * @since 2020-01-06
+ *
+ * 消息管控
+ */
+public interface IMogoMsgCenterListener {
+
+ /**
+ * 消息变更
+ *
+ * @param hasMsg 是否有消息
+ * @param amount 消息数量
+ */
+ void onMsgChanged( boolean hasMsg, int amount );
+}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/windowview/IMogoWindowManager.java b/services/mogo-service-api/src/main/java/com/mogo/service/windowview/IMogoWindowManager.java
new file mode 100644
index 0000000000..d91f865a25
--- /dev/null
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/windowview/IMogoWindowManager.java
@@ -0,0 +1,32 @@
+package com.mogo.service.windowview;
+
+import android.view.View;
+
+import com.alibaba.android.arouter.facade.template.IProvider;
+
+/**
+ * @author congtaowang
+ * @since 2020-01-06
+ *
+ * 根据优先级控制显示 window view.
+ */
+public interface IMogoWindowManager extends IProvider {
+
+ /**
+ * 向window中添加指定的布局
+ *
+ * @param priority 优先级
+ * @param view 添加的实例
+ * @param x 左上角x坐标
+ * @param y 左上角y坐标
+ * @param movable 是否可移动(无效)
+ */
+ void addView( int priority, View view, int x, int y, boolean movable );
+
+ /**
+ * 移除对应的 view
+ *
+ * @param view
+ */
+ void removeView( View view );
+}
diff --git a/services/mogo-service/src/main/AndroidManifest.xml b/services/mogo-service/src/main/AndroidManifest.xml
index 3b87b75ef7..cffc2c97c3 100644
--- a/services/mogo-service/src/main/AndroidManifest.xml
+++ b/services/mogo-service/src/main/AndroidManifest.xml
@@ -1,2 +1,5 @@
+ package="com.mogo.service.map">
+
+
+
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoMsgCenter.java b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoMsgCenter.java
new file mode 100644
index 0000000000..00ae826b99
--- /dev/null
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoMsgCenter.java
@@ -0,0 +1,58 @@
+package com.mogo.service.impl.statusmanager;
+
+import android.content.Context;
+
+import com.alibaba.android.arouter.facade.annotation.Route;
+import com.mogo.service.MogoServicePaths;
+import com.mogo.service.statusmanager.IMogoMsgCenter;
+import com.mogo.service.statusmanager.IMogoMsgCenterListener;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * @author congtaowang
+ * @since 2020-01-06
+ *
+ * 消息中心
+ */
+@Route( path = MogoServicePaths.PATH_MSG_CENTER )
+public class MogoMsgCenter implements IMogoMsgCenter {
+
+ private static List< IMogoMsgCenterListener > sListeners = new ArrayList<>();
+
+ @Override
+ public void setMsgStatus( boolean hasMsg, int msgAmount ) {
+ synchronized ( sListeners ) {
+ Iterator< IMogoMsgCenterListener > iterator = sListeners.iterator();
+ while ( iterator.hasNext() ) {
+ IMogoMsgCenterListener listener = iterator.next();
+ if ( listener != null ) {
+ listener.onMsgChanged( hasMsg, msgAmount );
+ }
+ }
+ }
+ }
+
+ @Override
+ public void registerMsgCenterListener( IMogoMsgCenterListener listener ) {
+ synchronized ( sListeners ) {
+ if ( !sListeners.contains( listener ) ) {
+ sListeners.add( listener );
+ }
+ }
+ }
+
+ @Override
+ public void unregisterMsgCenterListener( IMogoMsgCenterListener listener ) {
+ synchronized ( sListeners ) {
+ sListeners.remove( listener );
+ }
+ }
+
+ @Override
+ public void init( Context context ) {
+
+ }
+}
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/windowview/DispatchTouchEventWrapper.java b/services/mogo-service/src/main/java/com/mogo/service/impl/windowview/DispatchTouchEventWrapper.java
new file mode 100644
index 0000000000..28f5aba4a6
--- /dev/null
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/windowview/DispatchTouchEventWrapper.java
@@ -0,0 +1,137 @@
+package com.mogo.service.impl.windowview;
+
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.WindowManager;
+
+public class DispatchTouchEventWrapper {
+
+ private IWindowViewHandler mWindowViewHandler;
+
+ int mActionDownX = -1;
+ int mActionDownY = -1;
+
+ /**
+ * Flag whether move after touch down.
+ */
+ boolean mMoveFlag = false;
+
+ private static volatile DispatchTouchEventWrapper INST;
+
+ private DispatchTouchEventWrapper() {
+ }
+
+ public static DispatchTouchEventWrapper getInstance() {
+ if ( INST == null ) {
+ synchronized ( DispatchTouchEventWrapper.class ) {
+ if ( INST == null ) {
+ INST = new DispatchTouchEventWrapper();
+ }
+ }
+ }
+ return INST;
+ }
+
+ public DispatchTouchEventWrapper attach( View windowView, WindowManager.LayoutParams params ) {
+ if ( mWindowViewHandler == null || mWindowViewHandler.getWindowView() != windowView ) {
+ mWindowViewHandler = new IWindowViewHandler.DefaultHandler( windowView, params );
+ }
+ return this;
+ }
+
+ public boolean handle( MotionEvent event ) {
+ switch ( event.getAction() & MotionEvent.ACTION_MASK ) {
+ case MotionEvent.ACTION_DOWN:
+ if ( onActionDown( event ) ) {
+ return true;
+ }
+ break;
+ case MotionEvent.ACTION_MOVE:
+ if ( onActionMove( event ) ) {
+ return true;
+ }
+ break;
+ case MotionEvent.ACTION_UP:
+ if ( onActionUp( event ) ) {
+ return true;
+ }
+ break;
+ }
+ return false;
+ }
+
+ private boolean onActionDown( MotionEvent event ) {
+ mActionDownX = ( ( int ) event.getRawX() );
+ mActionDownY = ( ( int ) event.getRawY() );
+ if ( mWindowViewHandler != null ) {
+ mWindowViewHandler.recordNewPosition();
+ return true;
+ }
+ return false;
+ }
+
+ private boolean onActionMove( MotionEvent event ) {
+
+ if ( Math.abs( event.getRawX() - mActionDownX ) >= 20
+ || Math.abs( event.getRawY() - mActionDownY ) >= 20 ) {
+ mMoveFlag = false;
+ }
+
+ if ( isLastDownValueLegal() ) {
+ moveWindowView( event );
+ return true;
+ }
+ return false;
+ }
+
+ private boolean onActionUp( MotionEvent event ) {
+ if ( isClickEventLike() ) {
+ if ( mWindowViewHandler != null ) {
+ mWindowViewHandler.performClickLike();
+ }
+ } else {
+ if ( mWindowViewHandler != null ) {
+ mWindowViewHandler.moveToEdge();
+ mWindowViewHandler.recordNewPosition();
+ }
+ }
+ mMoveFlag = false;
+ clearLastDownAxisValue();
+ return true;
+ }
+
+ private void clearLastDownAxisValue() {
+ mActionDownX = mActionDownY = -1;
+ }
+
+ private boolean isLastDownValueLegal() {
+ return mActionDownX != -1 && mActionDownY != -1;
+ }
+
+ private void moveWindowView( MotionEvent event ) {
+ if ( mWindowViewHandler != null ) {
+ mWindowViewHandler.move( event, mActionDownX, mActionDownY );
+ }
+ }
+
+ /**
+ * Simulate click event just like set {@link View.OnClickListener}
+ *
+ * @return
+ */
+ private boolean isClickEventLike() {
+ System.out.println( mMoveFlag );
+ return isLastDownValueLegal() && !mMoveFlag;
+ }
+
+ public void release() {
+ if ( mWindowViewHandler != null ) {
+ mWindowViewHandler.release();
+ }
+ mWindowViewHandler = null;
+ mActionDownX = -1;
+ mActionDownY = -1;
+ mMoveFlag = false;
+ INST = null;
+ }
+}
\ No newline at end of file
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/windowview/IWindowViewHandler.java b/services/mogo-service/src/main/java/com/mogo/service/impl/windowview/IWindowViewHandler.java
new file mode 100644
index 0000000000..30577aca6f
--- /dev/null
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/windowview/IWindowViewHandler.java
@@ -0,0 +1,108 @@
+package com.mogo.service.impl.windowview;
+
+import android.content.Context;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.WindowManager;
+
+import com.mogo.commons.AbsMogoApplication;
+import com.mogo.utils.WindowUtils;
+
+
+/**
+ * Created by congtaowang on 2017/6/20.
+ */
+
+public interface IWindowViewHandler {
+
+ View getWindowView();
+
+ void recordNewPosition();
+
+ void move( MotionEvent event, int downX, int downY );
+
+ void release();
+
+ void moveToEdge();
+
+ void performClickLike();
+
+ class DefaultHandler implements IWindowViewHandler {
+
+ protected View mWindowView;
+
+ protected int mWindowViewLeft = -1;
+ protected int mWindowViewTop = -1;
+
+ private WindowManager.LayoutParams mParams;
+
+ public DefaultHandler( View windowView, WindowManager.LayoutParams params ) {
+ this.mWindowView = windowView;
+ mParams = params;
+ }
+
+ @Override
+ public View getWindowView() {
+ return mWindowView;
+ }
+
+ @Override
+ public void recordNewPosition() {
+ mWindowViewLeft = mParams.x;
+ mWindowViewTop = mParams.y;
+ }
+
+ @Override
+ public void move( MotionEvent event, int downX, int downY ) {
+ move( ( ( int ) ( event.getRawX() - downX ) ),
+ ( ( int ) ( event.getRawY() - downY ) ) );
+ }
+
+ private void move( int distanceX, int distanceY ) {
+ if ( mWindowView == null ) {
+ return;
+ }
+ mParams.x = mWindowViewLeft + distanceX;
+ mParams.y = mWindowViewTop + distanceY;
+ WindowManager wm = ( ( WindowManager ) mWindowView.getContext().getSystemService( Context.WINDOW_SERVICE ) );
+
+ if ( wm == null ) {
+ return;
+ }
+
+ wm.updateViewLayout( mWindowView, alignLayoutParamsBoundary( mParams ) );
+ }
+
+ @Override
+ public void moveToEdge() {
+ if ( mWindowView == null ) {
+ return;
+ }
+ WindowManager wm = ( ( WindowManager ) mWindowView.getContext().getSystemService( Context.WINDOW_SERVICE ) );
+
+ if ( mParams.x > WindowUtils.getScreenWidth( AbsMogoApplication.getApp() ) / 2 ) {
+ mParams.x = WindowUtils.getScreenWidth( AbsMogoApplication.getApp() ) - mWindowView.getMeasuredWidth();
+ } else {
+ mParams.x = 0;
+ }
+
+ wm.updateViewLayout( mWindowView, alignLayoutParamsBoundary( mParams ) );
+ }
+
+ protected WindowManager.LayoutParams alignLayoutParamsBoundary( WindowManager.LayoutParams params ) {
+ return params;
+ }
+
+ @Override
+ public void performClickLike() {
+ }
+
+ @Override
+ public void release() {
+ mWindowView = null;
+ mWindowViewLeft = -1;
+ mWindowViewTop = -1;
+ }
+ }
+
+}
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/windowview/MogoWindowManager.java b/services/mogo-service/src/main/java/com/mogo/service/impl/windowview/MogoWindowManager.java
new file mode 100644
index 0000000000..528c869a58
--- /dev/null
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/windowview/MogoWindowManager.java
@@ -0,0 +1,33 @@
+package com.mogo.service.impl.windowview;
+
+import android.content.Context;
+import android.view.View;
+
+import com.alibaba.android.arouter.facade.annotation.Route;
+import com.mogo.service.MogoServicePaths;
+import com.mogo.service.windowview.IMogoWindowManager;
+
+/**
+ * @author congtaowang
+ * @since 2020-01-06
+ *
+ * 根据优先级控制显示 window view.
+ */
+@Route( path = MogoServicePaths.PATH_WINDOW_MANAGER )
+public class MogoWindowManager implements IMogoWindowManager {
+
+ @Override
+ public void addView( int priority, View view, int x, int y, boolean movable ) {
+ WindowViewHandler.addView( view, priority, x, y, movable );
+ }
+
+ @Override
+ public void removeView( View view ) {
+ WindowViewHandler.removeView( view );
+ }
+
+ @Override
+ public void init( Context context ) {
+
+ }
+}
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/windowview/WindowViewHandler.java b/services/mogo-service/src/main/java/com/mogo/service/impl/windowview/WindowViewHandler.java
new file mode 100644
index 0000000000..8c511e1da7
--- /dev/null
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/windowview/WindowViewHandler.java
@@ -0,0 +1,144 @@
+package com.mogo.service.impl.windowview;
+
+import android.content.Context;
+import android.graphics.PixelFormat;
+import android.os.Build;
+import android.view.Gravity;
+import android.view.View;
+import android.view.WindowManager;
+
+import com.mogo.utils.logger.Logger;
+
+/**
+ * @author congtaowang
+ * @since 2020-01-06
+ *
+ * 描述
+ */
+public class WindowViewHandler {
+
+ private static final String TAG = "WindowViewHandler";
+
+ /**
+ * 上次显示的优先级
+ */
+ private static int sPriority = Integer.MIN_VALUE;
+
+ /**
+ * 上次添加的view
+ */
+ private static View sView = null;
+
+ private static WindowManager sWindowManager;
+
+ private static int sX, sY;
+
+ /**
+ * 是否可手指拖动
+ */
+ private static boolean sMovable = false;
+
+ public static void addView( View view, int priority, int x, int y, boolean movable ) {
+ if ( view == null ) {
+ return;
+ }
+
+ if ( sWindowManager == null ) {
+ try {
+ sWindowManager = ( WindowManager ) view.getContext().getApplicationContext().getSystemService( Context.WINDOW_SERVICE );
+ } catch ( Exception e ) {
+ Logger.e( TAG, "error. ", e );
+ return;
+ }
+ }
+
+ if ( sView == view ) {
+ Logger.w( TAG, "改布局已添加且没有移除,不操作" );
+ return;
+ }
+
+ if ( sView == null ) {
+ sView = view;
+ sMovable = movable;
+ sPriority = priority;
+ sX = x;
+ sY = y;
+ addView();
+ } else {
+ if ( priority < sPriority ) {
+ Logger.w( TAG, "过滤低优先级布局" );
+ return;
+ }
+ sWindowManager.removeViewImmediate( sView );
+ sView = view;
+ sX = x;
+ sY = y;
+ sPriority = priority;
+ sMovable = movable;
+ addView();
+ }
+ }
+
+ public static void removeView( View view ) {
+ if ( sView != view ) {
+ Logger.w( TAG, "view do not added." );
+ return;
+ }
+ if ( view == null ) {
+ return;
+ }
+ sWindowManager.removeViewImmediate( view );
+ sView = null;
+ sPriority = Integer.MIN_VALUE;
+ sMovable = false;
+ DispatchTouchEventWrapper.getInstance().release();
+ }
+
+ private static void addView() {
+ if ( sView == null ) {
+ return;
+ }
+
+ WindowManager.LayoutParams params = new WindowManager.LayoutParams();
+ params.height = WindowManager.LayoutParams.WRAP_CONTENT;
+ params.width = WindowManager.LayoutParams.WRAP_CONTENT;
+ params.type = getFitWindowParamsType();
+ params.format = PixelFormat.RGBA_8888;
+ params.gravity = Gravity.LEFT | Gravity.TOP;
+ params.x = sX;
+ params.y = sY;
+ params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
+ sWindowManager.addView( sView, params );
+
+ if ( false ) {
+ attachMovementEvent( sView, params );
+ }
+ }
+
+ private static int getFitWindowParamsType() {
+ int type;
+ if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1 ) {
+ // Need request permission.
+ type = WindowManager.LayoutParams.TYPE_PHONE;
+ } else if ( Build.MODEL.equalsIgnoreCase( "MI 5" ) ) {
+ // MI 5 phone not display crawler dot in android 7.0
+ type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
+ } else {
+ // It's will be dismissed automatically 3s after showing in Android 25.
+ type = WindowManager.LayoutParams.TYPE_TOAST;
+ }
+ return type;
+ }
+
+ public static void attachMovementEvent( View view, WindowManager.LayoutParams params ) {
+ if ( view == null ) {
+ return;
+ }
+ view.setOnTouchListener( ( v, event ) -> {
+ DispatchTouchEventWrapper.getInstance()
+ .attach( view, params )
+ .handle( event );
+ return false;
+ } );
+ }
+}