> exten
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
initViews();
+ initViews(savedInstanceState);
mPresenter = createPresenter();
getViewLifecycleOwner().getLifecycle().addObserver(mPresenter);
}
diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java
index b84a513112..922690857b 100644
--- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java
+++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapViewWrapper.java
@@ -70,7 +70,7 @@ public class AMapViewWrapper implements IMogoMapView,
AMap.OnCameraChangeListener,
AMap.OnMyLocationChangeListener {
- private static final String TAG = "AMapNaviViewWrapper";
+ private static final String TAG = "AMapViewWrapper";
private final MapView mMapView;
private IMogoMap mIMap;
@@ -243,6 +243,9 @@ public class AMapViewWrapper implements IMogoMapView,
@Override
public void onLowMemory() {
+ if ( mMapView != null ) {
+ mMapView.onLowMemory();
+ }
Logger.d( TAG, "map onLowMemory" );
}
diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/AnimWrapper.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/AnimWrapper.java
index bf38719907..aad3f187c8 100644
--- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/AnimWrapper.java
+++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/AnimWrapper.java
@@ -28,17 +28,8 @@ public class AnimWrapper implements Anim {
public void initAnim( ImageView target ) {
mTarget = target;
if ( CarSeries.getSeries() == CarSeries.CAR_SERIES_F80X ) {
- ThreadPoolService.execute( () -> {
- final AnimationDrawable drawable = new AnimationDrawable();
- for ( int i = 0; i < AnimRes.sRes.length; i++ ) {
- drawable.addFrame( target.getResources().getDrawable( AnimRes.sRes[i] ), 100 );
- }
- UiThreadHandler.post( () -> {
- target.setBackground( drawable );
- mDelegate = new OthersAnim( drawable );
- start();
- } );
- } );
+ mDelegate = new OthersAnim( target );
+ start();
} else {
mTarget.setImageResource( R.drawable.mogo_tts_icon_00000 );
}
diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/OthersAnim.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/OthersAnim.java
index 13156b1e7c..aa7259c6ae 100644
--- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/OthersAnim.java
+++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/anim/OthersAnim.java
@@ -1,6 +1,9 @@
package com.mogo.module.apps.anim;
-import android.graphics.drawable.AnimationDrawable;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.widget.ImageView;
/**
* @author congtaowang
@@ -8,25 +11,44 @@ import android.graphics.drawable.AnimationDrawable;
*
* 描述
*/
-public class OthersAnim implements Anim{
+public class OthersAnim implements Anim {
- private AnimationDrawable mDrawable;
+ private int mStartIndex = 0;
- public OthersAnim( AnimationDrawable drawable ) {
- this.mDrawable = drawable;
+ private final static int MSG_LOOP = 3003;
+ public static final long INTERVAL = 100L;
+ private boolean mStarted = false;
+
+ private final ImageView mImageView;
+
+ private Handler mHandler = new Handler( Looper.getMainLooper() ) {
+ @Override
+ public void handleMessage( Message msg ) {
+ super.handleMessage( msg );
+ switch ( msg.what ) {
+ case MSG_LOOP:
+ if ( mStarted ) {
+ mImageView.setImageResource( AnimRes.sRes[mStartIndex++ % AnimRes.sRes.length] );
+ mHandler.sendEmptyMessageDelayed( MSG_LOOP, INTERVAL );
+ }
+ break;
+ }
+ }
+ };
+
+ public OthersAnim( ImageView imageView ) {
+ this.mImageView = imageView;
}
@Override
public void start() {
- if ( mDrawable != null ) {
- mDrawable.start();
- }
+ mStarted = true;
+ mHandler.sendEmptyMessage( MSG_LOOP );
}
@Override
public void stop() {
- if ( mDrawable != null ) {
- mDrawable.stop();
- }
+ mStarted = false;
+ mHandler.removeMessages( MSG_LOOP );
}
}
diff --git a/modules/mogo-module-common/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-common/src/main/res/values-xhdpi/dimens.xml
index 17412b24d7..1770c16984 100644
--- a/modules/mogo-module-common/src/main/res/values-xhdpi/dimens.xml
+++ b/modules/mogo-module-common/src/main/res/values-xhdpi/dimens.xml
@@ -1052,5 +1052,6 @@
40px
42px
48px
+ -10px
diff --git a/modules/mogo-module-common/src/main/res/values/dimens.xml b/modules/mogo-module-common/src/main/res/values/dimens.xml
index 111cf6ee25..1e2c7b1cdc 100644
--- a/modules/mogo-module-common/src/main/res/values/dimens.xml
+++ b/modules/mogo-module-common/src/main/res/values/dimens.xml
@@ -1043,4 +1043,5 @@
21.8750px
22.9688px
26.2500px
+ -8px
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_message2.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_message2.png
new file mode 100755
index 0000000000..b6f6c4dd25
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_ic_message2.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_shadow_bkg.9.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_shadow_bkg.9.png
new file mode 100644
index 0000000000..a4c313e353
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_ext_shadow_bkg.9.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-mdpi/module_ext_ic_message2.png b/modules/mogo-module-extensions/src/main/res/drawable-mdpi/module_ext_ic_message2.png
new file mode 100755
index 0000000000..b6f6c4dd25
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-mdpi/module_ext_ic_message2.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-mdpi/module_ext_shadow_bkg.9.png b/modules/mogo-module-extensions/src/main/res/drawable-mdpi/module_ext_shadow_bkg.9.png
new file mode 100644
index 0000000000..e73d76936f
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-mdpi/module_ext_shadow_bkg.9.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_ic_message2.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_ic_message2.png
old mode 100644
new mode 100755
index 10f53d3374..b697913af8
Binary files a/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_ic_message2.png and b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_ic_message2.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_shadow_bkg.9.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_shadow_bkg.9.png
new file mode 100644
index 0000000000..239b9eb114
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/module_ext_shadow_bkg.9.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_shadow_bkg.9.png b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_shadow_bkg.9.png
new file mode 100644
index 0000000000..a4c313e353
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_shadow_bkg.9.png differ
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 fc085fceb9..d4118d06e7 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
@@ -8,11 +8,12 @@
android:id="@+id/module_ext_id_weather_container"
android:layout_width="wrap_content"
android:layout_height="@dimen/module_ext_height"
- android:background="@drawable/module_ext_drawable_weather_bkg"
+ android:background="@drawable/module_ext_shadow_bkg"
android:gravity="center"
android:paddingStart="@dimen/module_ext_weather_container_paddingLeft"
android:paddingEnd="@dimen/module_ext_weather_container_paddingRight"
android:visibility="invisible"
+ android:translationY="@dimen/module_common_shadow_width"
app:layout_goneMarginLeft="@dimen/module_ext_notice_margin_start"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@+id/module_ext_id_msg"
@@ -37,23 +38,24 @@
tools:text="28°" />
-
@@ -61,23 +63,20 @@
android:id="@+id/module_ext_id_msg_counter"
android:layout_width="@dimen/module_ext_msg_counter_width"
android:layout_height="@dimen/module_ext_msg_counter_height"
- android:layout_gravity="center"
- android:layout_marginLeft="@dimen/module_ext_msg_dot_marginLeft"
- android:layout_marginBottom="@dimen/module_ext_msg_dot_marginRight"
android:background="@drawable/module_ext_drawable_msg_bkg"
android:gravity="center"
+ android:layout_alignParentRight="true"
android:textColor="#FFFFFF"
android:textSize="@dimen/module_ext_msg_counter_textSize"
tools:text="···" />
-
+
+ app:layout_constraintTop_toTopOf="parent"
+ tools:visibility="visible" />
\ No newline at end of file
diff --git a/modules/mogo-module-extensions/src/main/res/values-mdpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-mdpi/dimens.xml
new file mode 100644
index 0000000000..833a7c43be
--- /dev/null
+++ b/modules/mogo-module-extensions/src/main/res/values-mdpi/dimens.xml
@@ -0,0 +1,4 @@
+
+
+ 26px
+
\ No newline at end of file
diff --git a/modules/mogo-module-extensions/src/main/res/values-xhdpi-1920x1000/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-xhdpi-1920x1000/dimens.xml
index a532dd0dd9..0304873cfe 100644
--- a/modules/mogo-module-extensions/src/main/res/values-xhdpi-1920x1000/dimens.xml
+++ b/modules/mogo-module-extensions/src/main/res/values-xhdpi-1920x1000/dimens.xml
@@ -55,7 +55,7 @@
20px
- 100px
+ 120px
60px
60px
32px
@@ -145,4 +145,5 @@
20px
40px
+ 45px
\ No newline at end of file
diff --git a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml
index 00944d0a4f..6e8de9e26f 100644
--- a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml
+++ b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml
@@ -55,7 +55,7 @@
20px
- 120px
+ 140px
60px
60px
32px
@@ -147,4 +147,5 @@
34px
175px
30px
+ 45px
\ No newline at end of file
diff --git a/modules/mogo-module-extensions/src/main/res/values/dimens.xml b/modules/mogo-module-extensions/src/main/res/values/dimens.xml
index 00d9c62dbf..2f344bce6f 100644
--- a/modules/mogo-module-extensions/src/main/res/values/dimens.xml
+++ b/modules/mogo-module-extensions/src/main/res/values/dimens.xml
@@ -56,7 +56,7 @@
8px
- 66px
+ 82px
32px
32px
@@ -152,5 +152,6 @@
19px
16px
+ 26px
\ No newline at end of file
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java
index 414fce1e7e..4738bc2a10 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java
@@ -30,6 +30,7 @@ import com.mogo.map.navi.MogoTraffic;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.MogoModule;
import com.mogo.module.common.MogoModulePaths;
+import com.mogo.module.common.entity.MarkerResponse;
import com.mogo.module.common.map.MapCenterPointStrategy;
import com.mogo.module.common.map.Scene;
import com.mogo.module.service.intent.IntentHandlerFactory;
@@ -224,9 +225,10 @@ public class MogoServices implements IMogoMapListener,
/**
* 手动刷新回调
*/
- private RefreshCallback mCustomRefreshCallback = new RefreshCallback() {
+ private RefreshCallback mCustomRefreshCallback = new RefreshCallback< MarkerResponse >() {
@Override
- public void onSuccess( Object o ) {
+ public void onSuccess( MarkerResponse o ) {
+ MapMarkerManager.getInstance().onSyncMarkerResponse( o );
mLoopRequest = false;
// 用户手动操作地图刷新成功后,设置状态为 true,引发延时策略
mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, true, true );
@@ -241,9 +243,10 @@ public class MogoServices implements IMogoMapListener,
/**
* 自动刷新回调
*/
- private RefreshCallback mAutoRefreshCallback = new RefreshCallback() {
+ private RefreshCallback mAutoRefreshCallback = new RefreshCallback() {
@Override
- public void onSuccess( Object o ) {
+ public void onSuccess( MarkerResponse o ) {
+ MapMarkerManager.getInstance().onSyncMarkerResponse( o );
mLoopRequest = false;
Logger.d( TAG, "request Success." );
invokeAutoRefreshStrategy();
@@ -436,7 +439,7 @@ public class MogoServices implements IMogoMapListener,
Logger.w( TAG, "lonLat is null." );
return;
}
- mRefreshModel.refreshData( ro.mLonLat, ro.mRadius, ro.mAmount, ro.mCallback );
+ mRefreshModel.refreshExplorerWayData( ro.mLonLat, ro.mRadius, ro.mAmount, ro.mCallback );
MapMarkerManager.getInstance().getOnlineCarDataByAutoRefreshStrategy( ro.mLonLat );
Logger.i( TAG, "刷新半径 = %s, 点 = %s, zoomLevel = %s, amount = %s", ro.mRadius, ro.mLonLat, mLastZoomLevel, ro.mAmount );
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java
index 3621019256..b291ee015f 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java
@@ -109,8 +109,8 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
mContext = context.getApplicationContext();
mRefreshModel = new RefreshModel( mContext );
- // 长连接
- MarkerServiceHandler.getMogoSocketManager().registerOnMessageListener( 401001, this );
+ // 长连接 - 长链变短链
+// MarkerServiceHandler.getMogoSocketManager().registerOnMessageListener( 401001, this );
MarkerServiceHandler.getActionManager().registerBizActionDoneListener( this );
MarkerServiceHandler.getApis().getRegisterCenterApi().registerADASControlStatusChangedListener( TAG, this );
}
@@ -703,6 +703,16 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
} );
}
+ public void onSyncMarkerResponse(MarkerResponse response){
+ if ( ignoreDrawRequest() ) {
+ return;
+ }
+ Logger.d( TAG, "接收到了地图大而全数据" );
+ runOnTargetThread( () -> {
+ drawMapMarker( response );
+ } );
+ }
+
public void syncLocation( double lon, double lat ) {
mCarLatLng = new MogoLatLng( lat, lon );
}
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 9cb03e4c88..c368ec6956 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
@@ -110,6 +110,51 @@ public class RefreshModel {
}
}
+ public void refreshExplorerWayData( MogoLatLng latLng, int radius, int limit, final RefreshCallback callback ) {
+ if ( mRefreshApiService != null ) {
+ final Map< String, Object > query = new ParamsProvider.Builder( mContext ).build();
+ final RefreshBody refreshBody = new RefreshBody();
+ refreshBody.limit = limit;
+ refreshBody.location = new RefreshBody.LatLon( latLng.lat, latLng.lng );
+ refreshBody.radius = radius;
+ refreshBody.dataType.add( ServiceConst.CARD_TYPE_ROAD_CONDITION );
+
+ String data = GsonUtil.jsonFromObject( refreshBody );
+ query.put( "data", data );
+ Logger.d( TAG, data );
+
+
+ mRefreshApiService.refreshDataSync( query )
+ .subscribeOn( Schedulers.io() )
+ .observeOn( AndroidSchedulers.mainThread() )
+ .subscribe( new SubscribeImpl< MarkerResponse >( RequestOptions.create( mContext ) ) {
+ @Override
+ public void onSuccess( MarkerResponse o ) {
+ super.onSuccess( o );
+ if ( callback != null ) {
+ callback.onSuccess( o );
+ }
+ }
+
+ @Override
+ public void onError( Throwable e ) {
+ super.onError( e );
+ if ( callback != null ) {
+ callback.onFail();
+ }
+ }
+
+ @Override
+ public void onError( String message, int code ) {
+ super.onError( message, code );
+ if ( callback != null ) {
+ callback.onFail();
+ }
+ }
+ } );
+ }
+ }
+
public void refreshDataSync( MogoLatLng latLng, int radius, int limit, final RefreshCallback callback ) {
if ( mRefreshApiService != null ) {
final Map< String, Object > query = new ParamsProvider.Builder( mContext ).build();
diff --git a/skin/mogo-skin-light/src/main/module-extensions-res/drawable-ldpi/module_ext_shadow_bkg_light.9.png b/skin/mogo-skin-light/src/main/module-extensions-res/drawable-ldpi/module_ext_shadow_bkg_light.9.png
new file mode 100644
index 0000000000..36ea7d6655
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-extensions-res/drawable-ldpi/module_ext_shadow_bkg_light.9.png differ
diff --git a/skin/mogo-skin-light/src/main/module-extensions-res/drawable-mdpi/module_ext_shadow_bkg_light.9.png b/skin/mogo-skin-light/src/main/module-extensions-res/drawable-mdpi/module_ext_shadow_bkg_light.9.png
new file mode 100644
index 0000000000..36ea7d6655
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-extensions-res/drawable-mdpi/module_ext_shadow_bkg_light.9.png differ
diff --git a/skin/mogo-skin-light/src/main/module-extensions-res/drawable-xhdpi/module_ext_shadow_bkg_light.9.png b/skin/mogo-skin-light/src/main/module-extensions-res/drawable-xhdpi/module_ext_shadow_bkg_light.9.png
new file mode 100644
index 0000000000..38680e4f41
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-extensions-res/drawable-xhdpi/module_ext_shadow_bkg_light.9.png differ
diff --git a/skin/mogo-skin-light/src/main/module-extensions-res/drawable/module_ext_shadow_bkg_light.9.png b/skin/mogo-skin-light/src/main/module-extensions-res/drawable/module_ext_shadow_bkg_light.9.png
new file mode 100644
index 0000000000..36ea7d6655
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-extensions-res/drawable/module_ext_shadow_bkg_light.9.png differ