diff --git a/config.gradle b/config.gradle index bb579c5726..6340ca963d 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.5", + adasconfigapi : "com.zhidao.adasconfig:adasconfig:1.0.6", // 个人中心的SDK personalsdk : "com.zhidaoauto.person.info:data:1.0.1", diff --git a/modules/mogo-module-push/src/main/res/drawable-mdpi/module_push_close.png b/modules/mogo-module-push/src/main/res/drawable-mdpi/module_push_close.png new file mode 100755 index 0000000000..c1381dc44c Binary files /dev/null and b/modules/mogo-module-push/src/main/res/drawable-mdpi/module_push_close.png differ diff --git a/modules/mogo-module-push/src/main/res/drawable/module_push_message_background.xml b/modules/mogo-module-push/src/main/res/drawable/module_push_message_background.xml index 5adad50e3d..3b99489f77 100644 --- a/modules/mogo-module-push/src/main/res/drawable/module_push_message_background.xml +++ b/modules/mogo-module-push/src/main/res/drawable/module_push_message_background.xml @@ -1,6 +1,6 @@ - - + + diff --git a/modules/mogo-module-push/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-push/src/main/res/values-ldpi/dimens.xml index e7f1b333e7..4c801b2ae2 100644 --- a/modules/mogo-module-push/src/main/res/values-ldpi/dimens.xml +++ b/modules/mogo-module-push/src/main/res/values-ldpi/dimens.xml @@ -87,9 +87,9 @@ 310px 350px 60px - 16px - 16px - 16px + 8px + 8px + 8px 28px 16px 16px @@ -97,4 +97,5 @@ 5px 118px 86px + 8px \ No newline at end of file diff --git a/modules/mogo-module-push/src/main/res/values-mdpi/dimens.xml b/modules/mogo-module-push/src/main/res/values-mdpi/dimens.xml index e7f1b333e7..4c801b2ae2 100644 --- a/modules/mogo-module-push/src/main/res/values-mdpi/dimens.xml +++ b/modules/mogo-module-push/src/main/res/values-mdpi/dimens.xml @@ -87,9 +87,9 @@ 310px 350px 60px - 16px - 16px - 16px + 8px + 8px + 8px 28px 16px 16px @@ -97,4 +97,5 @@ 5px 118px 86px + 8px \ No newline at end of file diff --git a/modules/mogo-module-push/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-push/src/main/res/values-xhdpi/dimens.xml index 31bb7874fd..c7e71bf8e5 100644 --- a/modules/mogo-module-push/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-push/src/main/res/values-xhdpi/dimens.xml @@ -87,9 +87,9 @@ 618px 350px 120px - 30px - 30px - 30px + 20px + 20px + 20px 50px 28px 29px @@ -97,4 +97,5 @@ 11px 212px 154px + 10px \ No newline at end of file diff --git a/modules/mogo-module-push/src/main/res/values/dimens.xml b/modules/mogo-module-push/src/main/res/values/dimens.xml index 6f442bde0d..b397604b5d 100644 --- a/modules/mogo-module-push/src/main/res/values/dimens.xml +++ b/modules/mogo-module-push/src/main/res/values/dimens.xml @@ -87,9 +87,9 @@ 310px 350px 60px - 16px - 16px - 16px + 8px + 8px + 8px 28px 16px 16px @@ -97,4 +97,5 @@ 5px 118px 86px + 8px \ No newline at end of file diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/imageloader/MogoImageView.java b/services/mogo-service-api/src/main/java/com/mogo/service/imageloader/MogoImageView.java index 8b9f951a83..a40b510365 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/imageloader/MogoImageView.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/imageloader/MogoImageView.java @@ -11,6 +11,8 @@ import androidx.annotation.Keep; import com.facebook.drawee.view.GenericDraweeView; import com.mogo.service.R; +import com.mogo.skin.support.IMogoSkinCompatSupportable; +import com.mogo.skin.support.helper.MogoSkinCompatImageHelperDelegate; /** * @author congtaowang @@ -19,7 +21,9 @@ import com.mogo.service.R; * 封装 facebook GenericDraweeView,实现占位图、失败占位图、形状、边框、模糊等效果 */ @Keep -public class MogoImageView extends GenericDraweeView { +public class MogoImageView extends GenericDraweeView implements IMogoSkinCompatSupportable { + + private MogoSkinCompatImageHelperDelegate imageHelperDelegate; private int mPlaceHolder; private int mFailureHolder; @@ -65,6 +69,8 @@ public class MogoImageView extends GenericDraweeView { mBlurRadius = arrays.getInt( R.styleable.MogoImageView_miv_blurRadius, 25 ); arrays.recycle(); + imageHelperDelegate = new MogoSkinCompatImageHelperDelegate( this ); + imageHelperDelegate.loadFromAttributes( attrs, theme ); setImageResource( mPlaceHolder ); } @@ -167,6 +173,14 @@ public class MogoImageView extends GenericDraweeView { return builder.toString(); } + @Override + public void setImageResource( int resId ) { + super.setImageResource( resId ); + if ( imageHelperDelegate != null ) { + imageHelperDelegate.setImageResource( resId ); + } + } + /** * 解决共享动画无效的问题 * @@ -175,4 +189,11 @@ public class MogoImageView extends GenericDraweeView { public void animateTransform( Matrix matrix ) { invalidate(); } + + @Override + public void applySkin() { + if ( imageHelperDelegate != null ) { + imageHelperDelegate.applySkin(); + } + } } \ No newline at end of file diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/imageloader/glide/GlideImageLoader.java b/services/mogo-service/src/main/java/com/mogo/service/impl/imageloader/glide/GlideImageLoader.java index 983997a8a0..2924b04722 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/imageloader/glide/GlideImageLoader.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/imageloader/glide/GlideImageLoader.java @@ -28,6 +28,7 @@ import com.mogo.utils.glide.GlideApp; import com.mogo.utils.logger.Logger; import java.io.File; +import java.sql.ClientInfoStatus; /** * @author congtaowang @@ -125,25 +126,40 @@ public class GlideImageLoader implements IMogoImageloader { .asBitmap() .load( url ) .apply( options ) - .addListener( new RequestListener< Bitmap >() { - + .into( new SimpleTarget< Bitmap >() { @Override - public boolean onLoadFailed( @Nullable GlideException e, Object model, Target< Bitmap > target, boolean isFirstResource ) { - if ( listener != null ) { - listener.onFailure( e ); - } - return false; - } - - @Override - public boolean onResourceReady( Bitmap resource, Object model, Target< Bitmap > target, DataSource dataSource, boolean isFirstResource ) { + public void onResourceReady( @NonNull Bitmap resource, @Nullable Transition< ? super Bitmap > transition ) { if ( listener != null ) { listener.onCompleted( resource ); } - return false; + imageView.setImageResource( 0 ); + imageView.setImageBitmap( resource ); } - } ) - .into( imageView ); + + @Override + public void onLoadStarted( @Nullable Drawable placeholder ) { + super.onLoadStarted( placeholder ); + if ( listener != null ) { + listener.onStart(); + } + imageView.setImageResource( imageView.getPlaceHolder() ); + } + + @Override + public void onLoadCleared( @Nullable Drawable placeholder ) { + super.onLoadCleared( placeholder ); + imageView.setImageResource( imageView.getPlaceHolder() ); + } + + @Override + public void onLoadFailed( @Nullable Drawable errorDrawable ) { + super.onLoadFailed( errorDrawable ); + if ( listener != null ) { + listener.onFailure( new Exception( "onLoadFailed" ) ); + } + imageView.setImageResource( imageView.getFailureHolder() ); + } + } ); } @Override diff --git a/skin/mogo-skin-light/src/main/module-push-res/drawable-mdpi/module_push_message_background_light.9.png b/skin/mogo-skin-light/src/main/module-push-res/drawable-mdpi/module_push_message_background_light.9.png new file mode 100644 index 0000000000..245c2e855c Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-push-res/drawable-mdpi/module_push_message_background_light.9.png differ diff --git a/skin/mogo-skin-light/src/main/module-push-res/drawable-mdpi/tanlu_normal_image_light.png b/skin/mogo-skin-light/src/main/module-push-res/drawable-mdpi/tanlu_normal_image_light.png deleted file mode 100755 index d25aa13032..0000000000 Binary files a/skin/mogo-skin-light/src/main/module-push-res/drawable-mdpi/tanlu_normal_image_light.png and /dev/null differ diff --git a/skin/mogo-skin-light/src/main/module-push-res/drawable-xhdpi/module_push_message_background_light.9.png b/skin/mogo-skin-light/src/main/module-push-res/drawable-xhdpi/module_push_message_background_light.9.png new file mode 100644 index 0000000000..e69d3fbacb Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-push-res/drawable-xhdpi/module_push_message_background_light.9.png differ diff --git a/skin/mogo-skin-light/src/main/module-push-res/drawable/module_push_message_background_light.xml b/skin/mogo-skin-light/src/main/module-push-res/drawable/module_push_message_background_light.xml deleted file mode 100644 index d55da005a7..0000000000 --- a/skin/mogo-skin-light/src/main/module-push-res/drawable/module_push_message_background_light.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - diff --git a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatBackgroundHelperDelegate.java b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatBackgroundHelperDelegate.java index 232daba13f..a8bad07f81 100644 --- a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatBackgroundHelperDelegate.java +++ b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatBackgroundHelperDelegate.java @@ -1,10 +1,7 @@ package com.mogo.skin.support.helper; -import android.util.AttributeSet; import android.view.View; -import com.mogo.skin.support.IMogoSkinCompatSupportable; - import java.lang.reflect.Method; public @@ -33,15 +30,18 @@ class MogoSkinCompatBackgroundHelperDelegate extends MogoSkinCompatHelperDelegat } public void onSetBackgroundResource( int resId ) { + if ( !isSupport() ) { + return; + } if ( sMethodOnSetBackgroundResource == null ) { try { sMethodOnSetBackgroundResource = mTargetClazz.getDeclaredMethod( "onSetBackgroundResource", int.class ); + sMethodOnSetBackgroundResource.setAccessible( true ); } catch ( Exception e ) { e.printStackTrace(); } } if ( sMethodOnSetBackgroundResource != null ) { - sMethodOnSetBackgroundResource.setAccessible( true ); try { sMethodOnSetBackgroundResource.invoke( mDelegate, resId ); } catch ( Exception e ) { diff --git a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatCompoundButtonHelperDelegate.java b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatCompoundButtonHelperDelegate.java index 407ba2ed1e..434c9bc1b4 100644 --- a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatCompoundButtonHelperDelegate.java +++ b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatCompoundButtonHelperDelegate.java @@ -29,6 +29,9 @@ class MogoSkinCompatCompoundButtonHelperDelegate extends MogoSkinCompatHelperDel } public void setButtonDrawable( int resId ) { + if ( !isSupport() ) { + return; + } if ( sSetButtonDrawableMethod == null ) { try { sSetButtonDrawableMethod = mTargetClazz.getDeclaredMethod( "setButtonDrawable", int.class ); diff --git a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatHelperDelegate.java b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatHelperDelegate.java index 1fd5349102..6efbd650ae 100644 --- a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatHelperDelegate.java +++ b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatHelperDelegate.java @@ -23,6 +23,8 @@ abstract class MogoSkinCompatHelperDelegate implements IMogoSkinCompatSupportabl protected volatile static Method sMethodLoadFromAttributes; private static Constructor sConstructor; + private static boolean sIsSupport = false; + public MogoSkinCompatHelperDelegate( View view ) { loadClazz(); initDelegateInstance( view ); @@ -34,6 +36,7 @@ abstract class MogoSkinCompatHelperDelegate implements IMogoSkinCompatSupportabl mTargetClazz = Class.forName( getDelegateClazzName() ); getLoadFromAttributesMethod(); getApplySkinMethod(); + sIsSupport = true; } catch ( Exception e ) { e.printStackTrace(); } @@ -77,6 +80,9 @@ abstract class MogoSkinCompatHelperDelegate implements IMogoSkinCompatSupportabl } public void loadFromAttributes( AttributeSet attrs, int defStyleAttr ) { + if ( !isSupport() ) { + return; + } if ( sMethodLoadFromAttributes != null ) { try { sMethodLoadFromAttributes.invoke( mDelegate, attrs, defStyleAttr ); @@ -88,6 +94,9 @@ abstract class MogoSkinCompatHelperDelegate implements IMogoSkinCompatSupportabl @Override public void applySkin() { + if ( !isSupport() ) { + return; + } if ( sMethodApplySkin != null ) { try { sMethodApplySkin.invoke( mDelegate ); @@ -96,4 +105,8 @@ abstract class MogoSkinCompatHelperDelegate implements IMogoSkinCompatSupportabl } } } + + public static boolean isSupport() { + return sIsSupport; + } } diff --git a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatImageHelperDelegate.java b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatImageHelperDelegate.java index 9eb4a0875e..74b913abef 100644 --- a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatImageHelperDelegate.java +++ b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatImageHelperDelegate.java @@ -27,6 +27,9 @@ class MogoSkinCompatImageHelperDelegate extends MogoSkinCompatHelperDelegate { } public void setImageResource( int resId ) { + if ( !isSupport() ) { + return; + } if ( sSetImageResourceMethod == null ) { try { sSetImageResourceMethod = mTargetClazz.getDeclaredMethod( "setImageResource", int.class ); diff --git a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatTextHelperDelegate.java b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatTextHelperDelegate.java index 064021eabe..58f917cce2 100644 --- a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatTextHelperDelegate.java +++ b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatTextHelperDelegate.java @@ -33,6 +33,9 @@ class MogoSkinCompatTextHelperDelegate extends MogoSkinCompatHelperDelegate { } public void onSetTextAppearance( Context context, int resId ) { + if ( !isSupport() ) { + return; + } if ( sOnSetTextAppearanceMethod == null ) { try { sOnSetTextAppearanceMethod = mTargetClazz.getDeclaredMethod( "onSetTextAppearance", Context.class, int.class ); @@ -55,6 +58,9 @@ class MogoSkinCompatTextHelperDelegate extends MogoSkinCompatHelperDelegate { public void onSetCompoundDrawablesRelativeWithIntrinsicBounds( @DrawableRes int start, @DrawableRes int top, @DrawableRes int end, @DrawableRes int bottom ) { + if ( !isSupport() ) { + return; + } if ( sOnSetCompoundDrawablesRelativeWithIntrinsicBoundsMethod == null ) { try { sOnSetCompoundDrawablesRelativeWithIntrinsicBoundsMethod = mTargetClazz.getDeclaredMethod( "onSetCompoundDrawablesRelativeWithIntrinsicBounds", int.class, int.class, int.class, int.class ); @@ -76,6 +82,9 @@ class MogoSkinCompatTextHelperDelegate extends MogoSkinCompatHelperDelegate { public void onSetCompoundDrawablesWithIntrinsicBounds( @DrawableRes int left, @DrawableRes int top, @DrawableRes int right, @DrawableRes int bottom ) { + if ( !isSupport() ) { + return; + } if ( sOnSetCompoundDrawablesWithIntrinsicBoundsMethod == null ) { try { sOnSetCompoundDrawablesWithIntrinsicBoundsMethod = mTargetClazz.getDeclaredMethod( "onSetCompoundDrawablesWithIntrinsicBounds", int.class, int.class, int.class, int.class ); @@ -96,6 +105,9 @@ class MogoSkinCompatTextHelperDelegate extends MogoSkinCompatHelperDelegate { } public int getTextColorResId() { + if ( !isSupport() ) { + return 0; + } if ( sGetTextColorResIdMethod == null ) { try { sGetTextColorResIdMethod = mTargetClazz.getDeclaredMethod( "getTextColorResId" ); diff --git a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatTextHelperV17Delegate.java b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatTextHelperV17Delegate.java index 457c8ae2f5..fe167ab212 100644 --- a/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatTextHelperV17Delegate.java +++ b/skin/mogo-skin-support/src/main/java/com/mogo/skin/support/helper/MogoSkinCompatTextHelperV17Delegate.java @@ -37,6 +37,9 @@ class MogoSkinCompatTextHelperV17Delegate extends MogoSkinCompatHelperDelegate { } public void onSetTextAppearance( Context context, int resId ) { + if ( !isSupport() ) { + return; + } if ( sOnSetTextAppearanceMethod == null ) { try { sOnSetTextAppearanceMethod = mTargetClazz.getDeclaredMethod( "onSetTextAppearance", Context.class, int.class ); @@ -59,6 +62,9 @@ class MogoSkinCompatTextHelperV17Delegate extends MogoSkinCompatHelperDelegate { public void onSetCompoundDrawablesRelativeWithIntrinsicBounds( @DrawableRes int start, @DrawableRes int top, @DrawableRes int end, @DrawableRes int bottom ) { + if ( !isSupport() ) { + return; + } if ( sOnSetCompoundDrawablesRelativeWithIntrinsicBoundsMethod == null ) { try { sOnSetCompoundDrawablesRelativeWithIntrinsicBoundsMethod = mTargetClazz.getDeclaredMethod( "onSetCompoundDrawablesRelativeWithIntrinsicBounds", int.class, int.class, int.class, int.class ); @@ -80,6 +86,9 @@ class MogoSkinCompatTextHelperV17Delegate extends MogoSkinCompatHelperDelegate { public void onSetCompoundDrawablesWithIntrinsicBounds( @DrawableRes int left, @DrawableRes int top, @DrawableRes int right, @DrawableRes int bottom ) { + if ( !isSupport() ) { + return; + } if ( sOnSetCompoundDrawablesWithIntrinsicBoundsMethod == null ) { try { sOnSetCompoundDrawablesWithIntrinsicBoundsMethod = mTargetClazz.getDeclaredMethod( "onSetCompoundDrawablesWithIntrinsicBounds", int.class, int.class, int.class, int.class ); @@ -100,6 +109,9 @@ class MogoSkinCompatTextHelperV17Delegate extends MogoSkinCompatHelperDelegate { } public int getTextColorResId() { + if ( !isSupport() ) { + return 0; + } if ( sGetTextColorResIdMethod == null ) { try { sGetTextColorResIdMethod = mTargetClazz.getDeclaredMethod( "getTextColorResId" );