diff --git a/.idea/misc.xml b/.idea/misc.xml index cd77a1f062..21e99e2dc0 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,7 +4,7 @@ - + \ No newline at end of file diff --git a/config.gradle b/config.gradle index 0a9540a611..8a952748cd 100644 --- a/config.gradle +++ b/config.gradle @@ -160,7 +160,7 @@ targetSdkVersion : 22, gpssimulatornoop : "com.mogo.module:module-gps-simulator-noop:${MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION}", adasapi : "com.zhidao.autopilot.support:adas:1.0.1", - adasconfigapi : "com.zhidao.adasconfig:adasconfig:1.0.8", + adasconfigapi : "com.zhidao.adasconfig:adasconfig:1.0.9", // 个人中心的SDK personalsdk : "com.zhidaoauto.person.info:data:1.0.1", diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpFragment.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpFragment.java index 5d299590a0..b7f21772f4 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpFragment.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/mvp/MvpFragment.java @@ -47,7 +47,6 @@ public abstract class MvpFragment> exten @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); - initViews(savedInstanceState); } /** @@ -61,6 +60,7 @@ public abstract class MvpFragment> 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