diff --git a/.idea/misc.xml b/.idea/misc.xml index 8a8f75bfe2..703e5d4b89 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,7 +5,7 @@ - + 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; + } ); + } +}