warn if the view does't support the rule.

This commit is contained in:
cgspine
2020-03-07 21:08:33 +08:00
parent 197bc06d66
commit aa40cd385f
15 changed files with 76 additions and 1 deletions
@@ -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);
}
}
@@ -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);
}
}
}
@@ -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);
}
}
}
@@ -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);
}
}
}
@@ -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);
}
}
}
@@ -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);
}
}
}
@@ -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);
}
}
}
@@ -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);
}
}
}
@@ -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);
}
}
}
@@ -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);
}
}
}
@@ -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);
}
}
}
@@ -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);
}
}
}
@@ -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);
}
}
}
@@ -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);
}
}
}
@@ -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());