From 26a8d66ca61e35dbe7ceda40dce03a488b448464 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Thu, 3 Sep 2020 20:50:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.gradle | 2 +- .../res/drawable-mdpi/module_push_close.png | Bin 0 -> 434 bytes .../module_push_message_background.xml | 4 +- .../src/main/res/values-ldpi/dimens.xml | 7 +-- .../src/main/res/values-mdpi/dimens.xml | 7 +-- .../src/main/res/values-xhdpi/dimens.xml | 7 +-- .../src/main/res/values/dimens.xml | 7 +-- .../service/imageloader/MogoImageView.java | 23 ++++++++- .../imageloader/glide/GlideImageLoader.java | 44 ++++++++++++------ ...module_push_message_background_light.9.png | Bin 0 -> 2779 bytes .../tanlu_normal_image_light.png | Bin 444 -> 0 bytes ...module_push_message_background_light.9.png | Bin 0 -> 4657 bytes .../module_push_message_background_light.xml | 6 --- ...ogoSkinCompatBackgroundHelperDelegate.java | 8 ++-- ...kinCompatCompoundButtonHelperDelegate.java | 3 ++ .../helper/MogoSkinCompatHelperDelegate.java | 13 ++++++ .../MogoSkinCompatImageHelperDelegate.java | 3 ++ .../MogoSkinCompatTextHelperDelegate.java | 12 +++++ .../MogoSkinCompatTextHelperV17Delegate.java | 12 +++++ 19 files changed, 118 insertions(+), 40 deletions(-) create mode 100755 modules/mogo-module-push/src/main/res/drawable-mdpi/module_push_close.png create mode 100644 skin/mogo-skin-light/src/main/module-push-res/drawable-mdpi/module_push_message_background_light.9.png delete mode 100755 skin/mogo-skin-light/src/main/module-push-res/drawable-mdpi/tanlu_normal_image_light.png create mode 100644 skin/mogo-skin-light/src/main/module-push-res/drawable-xhdpi/module_push_message_background_light.9.png delete mode 100644 skin/mogo-skin-light/src/main/module-push-res/drawable/module_push_message_background_light.xml 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 0000000000000000000000000000000000000000..c1381dc44c160b4fea26e24f9a9401e435a8ae61 GIT binary patch literal 434 zcmeAS@N?(olHy`uVBq!ia0vp^Iv~u!3?wz9Rv7~+zW|>QS0MfW|NogYXKvoSdDW^_ z>%d^^)~!2s?AW+*wya;je%rQfKoOv_GiT1+x^?UN_3Llmy!rR<-`~G~ zfg}(B&3W7Btq(L&vLwhan1PX%i$_>YLQ+ajUP)P5Mb*g8KIh@1N1u;dsjvVQ{ql5i z46!&pb?R-QW(6LXk9E^EqMrV*-y*g(*Ft1|IHUE;M9c^>6=Gyr(lh>De%F;@tWj0By**bag z*)2Nl&T@My?(VqQC%fBOvbc_m-8b#`hrKbODi?*kr>^o`q&h8YssHzz`%|WEVOYP= zRl8y;j@C}ATZqgPe^2a|) Y`#(zJziIr|3m6Ivp00i_>zopr07u@*r2qf` literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..245c2e855c00fc86809e0b4d0d5ff617f34d3db1 GIT binary patch literal 2779 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 - - - - 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" );