diff --git a/qmui/src/main/java/com/qmuiteam/qmui/skin/QMUISkinHelper.java b/qmui/src/main/java/com/qmuiteam/qmui/skin/QMUISkinHelper.java index 5e8da058..cda8b5ea 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/skin/QMUISkinHelper.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/skin/QMUISkinHelper.java @@ -26,6 +26,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; +import com.qmuiteam.qmui.QMUILog; import com.qmuiteam.qmui.R; import com.qmuiteam.qmui.skin.defaultAttr.IQMUISkinDefaultAttrProvider; import com.qmuiteam.qmui.util.QMUIResHelper; @@ -89,4 +90,9 @@ public class QMUISkinHelper { IQMUISkinDefaultAttrProvider provider) { view.setTag(R.id.qmui_skin_default_attr_provider, provider); } + + public static void warnRuleNotSupport(View view, String rule){ + QMUILog.w("QMUISkinManager", + view.getClass().getSimpleName() + " does't support " + rule); + } } diff --git a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleBgTintColorHandler.java b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleBgTintColorHandler.java index ccbb352c..31adae43 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleBgTintColorHandler.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleBgTintColorHandler.java @@ -20,12 +20,16 @@ import android.view.View; import androidx.core.view.TintableBackgroundView; +import com.qmuiteam.qmui.skin.QMUISkinHelper; + public class QMUISkinRuleBgTintColorHandler extends QMUISkinRuleColorStateListHandler { @Override void handle(View view, String name, ColorStateList colorStateList) { if (view instanceof TintableBackgroundView) { ((TintableBackgroundView) view).setSupportBackgroundTintList(colorStateList); + }else{ + QMUISkinHelper.warnRuleNotSupport(view, name); } } } diff --git a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleBorderHandler.java b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleBorderHandler.java index c6ff775e..9652572a 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleBorderHandler.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleBorderHandler.java @@ -19,6 +19,7 @@ import android.content.res.ColorStateList; import android.view.View; import com.qmuiteam.qmui.layout.IQMUILayout; +import com.qmuiteam.qmui.skin.QMUISkinHelper; import com.qmuiteam.qmui.widget.QMUIRadiusImageView; import com.qmuiteam.qmui.widget.QMUISlider; import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton; @@ -38,6 +39,8 @@ public class QMUISkinRuleBorderHandler extends QMUISkinRuleColorStateListHandler ((QMUIRoundButton) view).setStrokeColors(colorStateList); } else if(view instanceof QMUISlider.DefaultThumbView){ ((QMUISlider.DefaultThumbView)view).setBorderColor(colorStateList.getDefaultColor()); + }else{ + QMUISkinHelper.warnRuleNotSupport(view, name); } } } diff --git a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleHintColorHandler.java b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleHintColorHandler.java index 4d640fdb..650440db 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleHintColorHandler.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleHintColorHandler.java @@ -5,6 +5,7 @@ import android.view.View; import android.widget.TextView; import com.google.android.material.textfield.TextInputLayout; +import com.qmuiteam.qmui.skin.QMUISkinHelper; public class QMUISkinRuleHintColorHandler extends QMUISkinRuleColorStateListHandler { @Override @@ -13,6 +14,8 @@ public class QMUISkinRuleHintColorHandler extends QMUISkinRuleColorStateListHand ((TextView) view).setHintTextColor(colorStateList); } else if (view instanceof TextInputLayout) { ((TextInputLayout) view).setHintTextColor(colorStateList); + }else{ + QMUISkinHelper.warnRuleNotSupport(view, name); } } } diff --git a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleMoreBgColorHandler.java b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleMoreBgColorHandler.java index 4ba67a27..3194aab0 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleMoreBgColorHandler.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleMoreBgColorHandler.java @@ -19,6 +19,7 @@ import android.content.res.ColorStateList; import android.view.View; import com.qmuiteam.qmui.qqface.QMUIQQFaceView; +import com.qmuiteam.qmui.skin.QMUISkinHelper; public class QMUISkinRuleMoreBgColorHandler extends QMUISkinRuleColorStateListHandler { @@ -26,6 +27,8 @@ public class QMUISkinRuleMoreBgColorHandler extends QMUISkinRuleColorStateListHa void handle(View view, String name, ColorStateList colorStateList) { if (view instanceof QMUIQQFaceView) { ((QMUIQQFaceView) view).setMoreActionBgColor(colorStateList); + }else{ + QMUISkinHelper.warnRuleNotSupport(view, name); } } } diff --git a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleMoreTextColorHandler.java b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleMoreTextColorHandler.java index f312462d..8b8fff96 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleMoreTextColorHandler.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleMoreTextColorHandler.java @@ -19,6 +19,7 @@ import android.content.res.ColorStateList; import android.view.View; import com.qmuiteam.qmui.qqface.QMUIQQFaceView; +import com.qmuiteam.qmui.skin.QMUISkinHelper; public class QMUISkinRuleMoreTextColorHandler extends QMUISkinRuleColorStateListHandler { @@ -26,6 +27,8 @@ public class QMUISkinRuleMoreTextColorHandler extends QMUISkinRuleColorStateList void handle(View view, String name, ColorStateList colorStateList) { if (view instanceof QMUIQQFaceView) { ((QMUIQQFaceView) view).setMoreActionColor(colorStateList); + }else{ + QMUISkinHelper.warnRuleNotSupport(view, name); } } } diff --git a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleProgressColorHandler.java b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleProgressColorHandler.java index 45a8cc55..d0945808 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleProgressColorHandler.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleProgressColorHandler.java @@ -17,6 +17,7 @@ package com.qmuiteam.qmui.skin.handler; import android.view.View; +import com.qmuiteam.qmui.skin.QMUISkinHelper; import com.qmuiteam.qmui.widget.QMUIProgressBar; import com.qmuiteam.qmui.widget.QMUISlider; @@ -28,6 +29,8 @@ public class QMUISkinRuleProgressColorHandler extends QMUISkinRuleColorHandler { ((QMUIProgressBar) view).setProgressColor(color); }else if(view instanceof QMUISlider){ ((QMUISlider) view).setBarProgressColor(color); + }else{ + QMUISkinHelper.warnRuleNotSupport(view, name); } } } diff --git a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleSeparatorHandler.java b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleSeparatorHandler.java index 57efdbf1..67231f64 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleSeparatorHandler.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleSeparatorHandler.java @@ -18,6 +18,7 @@ package com.qmuiteam.qmui.skin.handler; import android.view.View; import com.qmuiteam.qmui.layout.IQMUILayout; +import com.qmuiteam.qmui.skin.QMUISkinHelper; import com.qmuiteam.qmui.skin.QMUISkinValueBuilder; public class QMUISkinRuleSeparatorHandler extends QMUISkinRuleColorHandler { @@ -34,6 +35,8 @@ public class QMUISkinRuleSeparatorHandler extends QMUISkinRuleColorHandler { } else if (QMUISkinValueBuilder.RIGHT_SEPARATOR.equals(name)) { ((IQMUILayout) view).updateRightSeparatorColor(color); } + }else{ + QMUISkinHelper.warnRuleNotSupport(view, name); } } } diff --git a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleSrcHandler.java b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleSrcHandler.java index e7c2347b..f0ceaf40 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleSrcHandler.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleSrcHandler.java @@ -19,6 +19,9 @@ import android.graphics.drawable.Drawable; import android.view.View; import android.widget.ImageView; +import com.qmuiteam.qmui.QMUILog; +import com.qmuiteam.qmui.skin.QMUISkinHelper; + public class QMUISkinRuleSrcHandler extends QMUISkinRuleDrawableHandler { @Override @@ -26,6 +29,8 @@ public class QMUISkinRuleSrcHandler extends QMUISkinRuleDrawableHandler { if (view instanceof ImageView) { ((ImageView) view).setImageDrawable(drawable); + }else{ + QMUISkinHelper.warnRuleNotSupport(view, name); } } } diff --git a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleTextColorHandler.java b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleTextColorHandler.java index ff560fd6..a1b6888c 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleTextColorHandler.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleTextColorHandler.java @@ -20,6 +20,7 @@ import android.view.View; import android.widget.TextView; import com.qmuiteam.qmui.qqface.QMUIQQFaceView; +import com.qmuiteam.qmui.skin.QMUISkinHelper; import com.qmuiteam.qmui.widget.QMUIProgressBar; public class QMUISkinRuleTextColorHandler extends QMUISkinRuleColorStateListHandler { @@ -35,6 +36,8 @@ public class QMUISkinRuleTextColorHandler extends QMUISkinRuleColorStateListHand ((QMUIQQFaceView) view).setTextColor(colorStateList.getDefaultColor()); }else if(view instanceof QMUIProgressBar){ ((QMUIProgressBar) view).setTextColor(colorStateList.getDefaultColor()); + }else{ + QMUISkinHelper.warnRuleNotSupport(view, name); } } } diff --git a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleTextCompoundSrcHandler.java b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleTextCompoundSrcHandler.java index 24ff4bf4..ed10a55a 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleTextCompoundSrcHandler.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleTextCompoundSrcHandler.java @@ -4,6 +4,7 @@ import android.graphics.drawable.Drawable; import android.view.View; import android.widget.TextView; +import com.qmuiteam.qmui.skin.QMUISkinHelper; import com.qmuiteam.qmui.skin.QMUISkinValueBuilder; public class QMUISkinRuleTextCompoundSrcHandler extends QMUISkinRuleDrawableHandler { @@ -25,7 +26,8 @@ public class QMUISkinRuleTextCompoundSrcHandler extends QMUISkinRuleDrawableHand drawables[3] = drawable; } tv.setCompoundDrawables(drawables[0], drawables[1], drawables[2], drawables[3]); + }else{ + QMUISkinHelper.warnRuleNotSupport(view, name); } - } } diff --git a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleTextCompoundTintColorHandler.java b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleTextCompoundTintColorHandler.java index ebfa9295..b0f7863a 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleTextCompoundTintColorHandler.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleTextCompoundTintColorHandler.java @@ -6,6 +6,7 @@ import android.os.Build; import android.view.View; import android.widget.TextView; +import com.qmuiteam.qmui.skin.QMUISkinHelper; import com.qmuiteam.qmui.util.QMUIDrawableHelper; import androidx.core.widget.TintableCompoundDrawablesView; @@ -35,6 +36,8 @@ public class QMUISkinRuleTextCompoundTintColorHandler extends QMUISkinRuleColorS } tv.setCompoundDrawables(drawables[0], drawables[1], drawables[2], drawables[3]); } + }else{ + QMUISkinHelper.warnRuleNotSupport(view, name); } } } diff --git a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleTintColorHandler.java b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleTintColorHandler.java index fa135409..571315b7 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleTintColorHandler.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleTintColorHandler.java @@ -19,6 +19,7 @@ import android.content.res.ColorStateList; import android.view.View; import android.widget.ImageView; +import com.qmuiteam.qmui.skin.QMUISkinHelper; import com.qmuiteam.qmui.util.QMUIViewHelper; import com.qmuiteam.qmui.widget.QMUILoadingView; import com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout; @@ -38,6 +39,8 @@ public class QMUISkinRuleTintColorHandler extends QMUISkinRuleColorStateListHand ((QMUIPullRefreshLayout.RefreshView)view).setColorSchemeColors(colorStateList.getDefaultColor()); }else if (view instanceof ImageView) { ImageViewCompat.setImageTintList((ImageView) view, colorStateList); + }else{ + QMUISkinHelper.warnRuleNotSupport(view, name); } } } diff --git a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleUnderlineHandler.java b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleUnderlineHandler.java index a25d3b77..87bc2d19 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleUnderlineHandler.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/skin/handler/QMUISkinRuleUnderlineHandler.java @@ -20,6 +20,7 @@ import android.view.View; import android.widget.TextView; import com.qmuiteam.qmui.qqface.QMUIQQFaceView; +import com.qmuiteam.qmui.skin.QMUISkinHelper; import com.qmuiteam.qmui.widget.QMUIProgressBar; public class QMUISkinRuleUnderlineHandler extends QMUISkinRuleColorStateListHandler { @@ -28,6 +29,8 @@ public class QMUISkinRuleUnderlineHandler extends QMUISkinRuleColorStateListHand void handle(View view, String name, ColorStateList colorStateList) { if (view instanceof QMUIQQFaceView) { ((QMUIQQFaceView) view).setLinkUnderLineColor(colorStateList); + }else{ + QMUISkinHelper.warnRuleNotSupport(view, name); } } } diff --git a/qmuidemo/src/main/java/com/qmuiteam/qmuidemo/QDApplication.java b/qmuidemo/src/main/java/com/qmuiteam/qmuidemo/QDApplication.java index 7241cec8..11e23714 100644 --- a/qmuidemo/src/main/java/com/qmuiteam/qmuidemo/QDApplication.java +++ b/qmuidemo/src/main/java/com/qmuiteam/qmuidemo/QDApplication.java @@ -23,6 +23,7 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.util.Log; +import com.qmuiteam.qmui.QMUILog; import com.qmuiteam.qmui.arch.QMUISwipeBackActivityManager; import com.qmuiteam.qmui.qqface.QMUIQQFaceCompiler; import com.qmuiteam.qmui.skin.QMUISkinMaker; @@ -56,6 +57,33 @@ public class QDApplication extends Application { } LeakCanary.install(this); + QMUILog.setDelegete(new QMUILog.QMUILogDelegate() { + @Override + public void e(String tag, String msg, Object... obj) { + + } + + @Override + public void w(String tag, String msg, Object... obj) { + Log.w(tag, msg); + } + + @Override + public void i(String tag, String msg, Object... obj) { + + } + + @Override + public void d(String tag, String msg, Object... obj) { + + } + + @Override + public void printErrStackTrace(String tag, Throwable tr, String format, Object... obj) { + + } + }); + QDUpgradeManager.getInstance(this).check(); QMUISwipeBackActivityManager.init(this); QMUIQQFaceCompiler.setDefaultQQFaceManager(QDQQFaceManager.getInstance());