diff --git a/app/build.gradle b/app/build.gradle index 55c46bc720..916e7cef22 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -253,6 +253,12 @@ android { packagingOptions { exclude 'META-INF/io.netty.versions.properties' } + + sourceSets { + main { + res.srcDirs = ['src/main/res', 'src/main/res-night'] + } + } } repositories { diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 6d846ff9e2..17d9d0447f 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -128,18 +128,6 @@ public class MogoApplication extends AbsMogoApplication { .addInflater(new SkinMaterialViewInflater()) // material design 控件换肤初始化[可选] .addInflater(new SkinConstraintViewInflater()) // ConstraintLayout 控件换肤初始化[可选] .addInflater(new SkinCardViewInflater()) // CardView v7 控件换肤初始化[可选] - .addInflater( ( context, name, attrs ) -> { - View view = null; - try { - Class clazz = Class.forName( name ); - Constructor constructor = clazz.getConstructor( Context.class, AttributeSet.class ); - constructor.setAccessible( true ); - view = constructor.newInstance( constructor, attrs ); - } catch ( Exception e ) { - e.printStackTrace(); - } - return view; - } ) .setSkinAllActivityEnable(true) .setSkinStatusBarColorEnable(false) // 关闭状态栏换肤,默认打开[可选] .setSkinWindowBackgroundEnable(false) // 关闭windowBackground换肤,默认打开[可选] 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 c6e06623a2..af09eeaa52 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 @@ -27,7 +27,6 @@ import com.amap.api.maps.model.Poi; import com.amap.api.maps.model.Polyline; import com.amap.api.maps.model.animation.Animation; import com.amap.api.maps.model.animation.TranslateAnimation; -import com.amap.api.navi.AMapNaviViewListener; import com.amap.api.navi.AMapNaviViewOptions; import com.amap.api.navi.model.NaviInfo; import com.mogo.commons.debug.DebugConfig; @@ -67,7 +66,6 @@ public class AMapViewWrapper implements IMogoMapView, AMap.OnPOIClickListener, AMap.OnMapClickListener, AMap.OnPolylineClickListener, - AMapNaviViewListener, AMapMessageListener, AMap.OnCameraChangeListener, AMap.OnMyLocationChangeListener { @@ -163,7 +161,10 @@ public class AMapViewWrapper implements IMogoMapView, // } // mMapView.setRouteOverlayVisible( false ); // mMapView.setCarOverlayVisible( false ); - setUIMode( EnumMapUI.CarUp_2D, null ); + changeMapMode( EnumMapUI.CarUp_2D ); + changeMapMode( EnumMapUI.Type_Night ); + setTrafficEnabled( true ); + mMapView.getMap().moveCamera( CameraUpdateFactory.zoomTo( mDefaultZoomLevel ) ); } private void initListeners() { @@ -175,7 +176,6 @@ public class AMapViewWrapper implements IMogoMapView, aMap.setOnMapLoadedListener( this ); aMap.setOnMapTouchListener( this ); aMap.setOnPolylineClickListener( this ); -// aMap.setAMapNaviViewListener( this ); aMap.setOnCameraChangeListener( this ); aMap.setOnPOIClickListener( this ); aMap.setOnMapClickListener( this ); @@ -300,85 +300,6 @@ public class AMapViewWrapper implements IMogoMapView, } } - @Override - public void onNaviSetting() { - - } - - @Override - public void onNaviCancel() { - - } - - @Override - public boolean onNaviBackClick() { - return true; - } - - /** - * @param mode 0:车头朝上状态;1:正北朝上模式 - */ - @Override - public void onNaviMapMode( int mode ) { - Logger.i( TAG, "mode=" + mode ); - MogoMapListenerHandler.getInstance().onMapModeChanged( mode == 0 ? EnumMapUI.CarUp_2D : EnumMapUI.NorthUP_2D ); - } - - @Override - public void onNaviTurnClick() { - - } - - @Override - public void onNextRoadClick() { - - } - - @Override - public void onScanViewButtonClick() { - - } - - @Override - public void onLockMap( boolean isLock ) { - Logger.d( TAG, "lock status = %s", isLock ); - mIsCarLocked = isLock; - Trace.beginSection( "timer.onCameraChangeFinish" ); - MogoMapListenerHandler.getInstance().onLockMap( isLock ); - Trace.endSection(); - } - - @Override - public void onNaviViewLoaded() { - - } - - @Override - public void onMapTypeChanged( int type ) { - if ( type == 4 ) { - MogoMapListenerHandler.getInstance().onMapModeChanged( EnumMapUI.Type_Light ); - } else if ( type == 3 ) { - MogoMapListenerHandler.getInstance().onMapModeChanged( EnumMapUI.Type_Night ); - } - } - - @Override - public void onNaviViewShowMode( int i ) { - -// long delay = mMapView.getViewOptions().getLockMapDelayed(); -// switch ( i ) { -// case AMapNaviViewShowMode.SHOW_MODE_DEFAULT: -// Logger.d( TAG, "普通模式" ); -// break; -// case AMapNaviViewShowMode.SHOW_MODE_DISPLAY_OVERVIEW: -// Logger.d( TAG, "全览模式" ); -// break; -// case AMapNaviViewShowMode.SHOW_MODE_LOCK_CAR: -// Logger.d( TAG, "锁车模式: %s", delay ); -// break; -// } - } - @Override public void setTrafficEnabled( boolean visible ) { if ( checkMapView() ) { @@ -433,56 +354,24 @@ public class AMapViewWrapper implements IMogoMapView, return; } if ( checkMapView() ) { -// AMapNaviViewOptions options = mMapView.getViewOptions(); -// if ( options == null ) { -// options = new AMapNaviViewOptions(); -// } -// switch ( ui ) { -// case CarUp_2D: -// case CarUp_3D: -// case NorthUP_2D: -// setUIMode( ui, options ); -// break; -// case Type_Light: -// mMapView.getMap().setMapType( MapType ); -// options.setNaviNight( false ); -// break; -// case Type_Night: -// options.setNaviNight( true ); -// break; -// case Type_AUTO_LIGHT_Night: -// options.setNaviNight( false ); -// options.setAutoNaviViewNightMode( true ); -// break; -// } -// mMapView.setViewOptions( options ); - } - } + switch ( ui ) { - private void setUIMode( EnumMapUI ui, AMapNaviViewOptions options ) { - this.mCurrentUIMode = ui; - switch ( ui ) { - case CarUp_2D: - case CarUp_3D: -// mMapView.setNaviMode( AMapNaviView.CAR_UP_MODE ); - break; - case NorthUP_2D: -// mMapView.setNaviMode( AMapNaviView.NORTH_UP_MODE ); - break; - } - - Logger.d( TAG, "mCurrentUIMode--->" + mCurrentUIMode.name() ); - if ( options == null ) { - return; - } - switch ( ui ) { - case CarUp_2D: - case NorthUP_2D: - options.setTilt( 0 ); - break; - case CarUp_3D: - options.setTilt( 60 ); - break; + case CarUp_3D: + mMapView.getMap().moveCamera( CameraUpdateFactory.changeTilt( 60 ) ); + break; + case NorthUP_2D: + case CarUp_2D: + mMapView.getMap().moveCamera( CameraUpdateFactory.changeTilt( 0 ) ); + break; + case Type_Light: + mMapView.getMap().setMapType( AMap.MAP_TYPE_NORMAL ); + break; + case Type_Night: + mMapView.getMap().setMapType( AMap.MAP_TYPE_NIGHT ); + break; + case Type_AUTO_LIGHT_Night: + break; + } } } @@ -588,7 +477,6 @@ public class AMapViewWrapper implements IMogoMapView, Logger.d( TAG, Log.getStackTraceString( new Throwable() ) ); } Logger.d( TAG, "解锁锁车" ); - mockTouchEvent(); MyLocationStyle style = mMapView.getMap().getMyLocationStyle(); style.myLocationType( MyLocationStyle.LOCATION_TYPE_FOLLOW_NO_CENTER ); mMapView.getMap().setMyLocationStyle( style ); diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/MogoBaseMapView.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/MogoBaseMapView.java index ddfd895697..e51e933608 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/MogoBaseMapView.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/MogoBaseMapView.java @@ -37,7 +37,7 @@ public abstract class MogoBaseMapView extends FrameLayout implements ILifeCycle init( context ); } - private void init( Context context ) { + protected void init( Context context ) { mMapView = createMapView( context ); if ( mMapView != null ) { final View mapView = mMapView.getMapView(); diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapView.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapView.java index 20c21725d2..a848c57f7a 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapView.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoMapView.java @@ -3,9 +3,12 @@ package com.mogo.map; import android.content.Context; import android.os.Bundle; import android.util.AttributeSet; +import android.view.View; +import android.view.ViewGroup; import androidx.annotation.Nullable; +import com.amap.api.col.n3.lg; import com.mogo.map.impl.amap.AMapBaseMapView; import com.mogo.utils.logger.Logger; @@ -30,6 +33,11 @@ public class MogoMapView extends AMapBaseMapView implements ILifeCycle { super( context, attrs, defStyleAttr ); } + @Override + protected void init( Context context ) { + super.init( context ); + } + @Override public IMogoMap getMap() { return super.getMap(); diff --git a/modules/mogo-module-extensions/build.gradle b/modules/mogo-module-extensions/build.gradle index e9737fc1a3..757d798ffb 100644 --- a/modules/mogo-module-extensions/build.gradle +++ b/modules/mogo-module-extensions/build.gradle @@ -32,6 +32,12 @@ android { sourceCompatibility 1.8 } + sourceSets { + main { + res.srcDirs = ['src/main/res', 'src/main/res-night'] + } + } + } dependencies { diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index 827f9320e1..c043abf51a 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -65,6 +65,8 @@ import java.util.HashMap; import java.util.Map; import java.util.Random; +import skin.support.SkinCompatManager; + /** * @author congtaowang @@ -165,6 +167,7 @@ public class EntranceFragment extends MvpFragment { showShareDialog(); + SkinCompatManager.getInstance().loadSkin( "night", SkinCompatManager.SKIN_LOADER_STRATEGY_BUILD_IN ); }); mDisplayOverview = findViewById(R.id.module_ext_id_display_overview); diff --git a/modules/mogo-module-extensions/src/main/res-night/drawable/module_ext_dw_upload_road_condition_bkg_night.xml b/modules/mogo-module-extensions/src/main/res-night/drawable/module_ext_dw_upload_road_condition_bkg_night.xml new file mode 100644 index 0000000000..addf85ecbf --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res-night/drawable/module_ext_dw_upload_road_condition_bkg_night.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file