From 091f31af741a634b423d2f29d59d62f83514a267 Mon Sep 17 00:00:00 2001 From: feer921 Date: Wed, 21 Dec 2016 18:50:39 +0800 Subject: [PATCH 1/5] =?UTF-8?q?1=E3=80=81BaseFragment=E4=B8=AD=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0toast()=E6=8F=90=E7=A4=BA=E6=96=B9=E6=B3=95=EF=BC=9B?= =?UTF-8?q?=202=E3=80=81ViewUtil=E4=B8=AD=E7=9A=84tintDrawable()=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E5=B1=8F=E8=94=BD=E7=A9=BA=E6=8C=87=E9=92=88=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/base/fragments/BaseFragment.java | 7 +++++++ src/main/java/common/base/utils/ViewUtil.java | 18 +++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/main/java/common/base/fragments/BaseFragment.java b/src/main/java/common/base/fragments/BaseFragment.java index c813fe5..76cfc63 100644 --- a/src/main/java/common/base/fragments/BaseFragment.java +++ b/src/main/java/common/base/fragments/BaseFragment.java @@ -18,6 +18,7 @@ import common.base.netAbout.BaseServerResult; import common.base.netAbout.NetRequestLifeMarker; import common.base.utils.CommonLog; +import common.base.views.ToastUtil; /** * User: fee(lifei@cloudtone.com.cn) @@ -433,7 +434,13 @@ public void popupHint(String hintMsg) { public void popupHint(int hintMsgResID) { popupHint(getString(hintMsgResID)); } + protected void topToast(String msg) { + ToastUtil.topShow(msg); + } + protected void topToast(int msgResId) { + topToast(getString(msgResId)); + } protected void i(String tag,Object... logBodys) { if (tag == null) { tag = TAG + "[" + extraInfoInLifeDebug + "]"; diff --git a/src/main/java/common/base/utils/ViewUtil.java b/src/main/java/common/base/utils/ViewUtil.java index 256ada9..ab8618e 100644 --- a/src/main/java/common/base/utils/ViewUtil.java +++ b/src/main/java/common/base/utils/ViewUtil.java @@ -3,6 +3,8 @@ import android.app.Activity; import android.content.res.ColorStateList; import android.content.res.Resources; +import android.graphics.ColorMatrix; +import android.graphics.ColorMatrixColorFilter; import android.graphics.drawable.Drawable; import android.graphics.drawable.GradientDrawable; import android.support.v4.graphics.drawable.DrawableCompat; @@ -11,6 +13,7 @@ import android.view.ViewGroup; import android.widget.EditText; import android.widget.FrameLayout; +import android.widget.ImageView; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.TextView; @@ -89,10 +92,23 @@ public static void changeViewBgDrawableColor(View view, int argbColor) { */ public static Drawable tintDrawable(Drawable originDrawable, ColorStateList colors) { final Drawable wrappedDrawable = DrawableCompat.wrap(originDrawable); - DrawableCompat.setTintList(wrappedDrawable, colors); + if (wrappedDrawable != null) {//avoid nullpointer exception + DrawableCompat.setTintList(wrappedDrawable, colors); + } return wrappedDrawable; } + /** + * 用来改变ImageView的饱和度的 + * @param target + * @param saturationValue + */ + public static void changeImageViewSaturation(ImageView target, int saturationValue) { + ColorMatrix colorMatrix = new ColorMatrix(); + colorMatrix.setSaturation(saturationValue); + ColorMatrixColorFilter colorMatrixColorFilter = new ColorMatrixColorFilter(colorMatrix); + target.setColorFilter(colorMatrixColorFilter); + } /** * 给输入框控件View的光标着色 * Android 3.1 (API 12) 开始就支持了 textCursorDrawable, From c5bef80d0db0d386c43fdd1c825b59aad655d741 Mon Sep 17 00:00:00 2001 From: feer921 Date: Wed, 21 Dec 2016 19:28:50 +0800 Subject: [PATCH 2/5] =?UTF-8?q?1=E3=80=81ViewUtil=E4=B8=AD=E5=86=8D?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=80=E4=B8=AA=E4=BF=AE=E6=94=B9=E6=BA=90?= =?UTF-8?q?=E4=BD=8D=E5=9B=BE=E7=9A=84=E9=A5=B1=E5=92=8C=E5=BA=A6=E7=9A=84?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/common/base/utils/ViewUtil.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/main/java/common/base/utils/ViewUtil.java b/src/main/java/common/base/utils/ViewUtil.java index ab8618e..7be315a 100644 --- a/src/main/java/common/base/utils/ViewUtil.java +++ b/src/main/java/common/base/utils/ViewUtil.java @@ -3,8 +3,11 @@ import android.app.Activity; import android.content.res.ColorStateList; import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.Canvas; import android.graphics.ColorMatrix; import android.graphics.ColorMatrixColorFilter; +import android.graphics.Paint; import android.graphics.drawable.Drawable; import android.graphics.drawable.GradientDrawable; import android.support.v4.graphics.drawable.DrawableCompat; @@ -109,6 +112,26 @@ public static void changeImageViewSaturation(ImageView target, int saturationVal ColorMatrixColorFilter colorMatrixColorFilter = new ColorMatrixColorFilter(colorMatrix); target.setColorFilter(colorMatrixColorFilter); } + + /** + * 修改一张源位图的饱和度来生成一个新位图 + * @param sourceBitmap 源位图 + * @param expectantSaturation 期望的饱和度值 + * @return 更改饱和度后的新位图 + */ + public static Bitmap changeSrcBitmapSaturation(Bitmap sourceBitmap,int expectantSaturation) { + int width = sourceBitmap.getWidth(); + int height = sourceBitmap.getHeight(); + Bitmap compoundResultBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(compoundResultBitmap); + Paint paint = new Paint(); + ColorMatrix colorMatrix = new ColorMatrix(); + colorMatrix.setSaturation(expectantSaturation); + ColorMatrixColorFilter colorMatrixFilter = new ColorMatrixColorFilter(colorMatrix); + paint.setColorFilter(colorMatrixFilter); + canvas.drawBitmap(sourceBitmap, 0, 0, paint); + return compoundResultBitmap; + } /** * 给输入框控件View的光标着色 * Android 3.1 (API 12) 开始就支持了 textCursorDrawable, From 6b1b2529d72effdb34df72fcb5a041e586a08e26 Mon Sep 17 00:00:00 2001 From: feer921 Date: Wed, 21 Dec 2016 20:17:26 +0800 Subject: [PATCH 3/5] =?UTF-8?q?1=E3=80=81=E6=9B=B4=E6=96=B0base=E5=88=86?= =?UTF-8?q?=E6=94=AF=E7=9A=84readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 932e94f..5c04fac 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # BaseProject #项目介绍: 本项目(Android库工程)为Android开发APP的通用模版框架,皆在使用本框架能快速开发Android项目尤其是含有网络请求的项目,优化项目代码结构、模块化编程。 -本项目力求能给阅读者、使用者在Android项目架构能力方面带来一定的速度、质量的提升。 +本项目力求能给阅读者、使用者在Android项目架构能力方面带来一定的速度、质量的提升,该版本为base分支。 #给取个名吧: BaseProject --> 基础工程 --> 能帮助Android开发者大众 --> 倒是想像济公,普渡众人(有点大了啊!!)--> 济公他老人家肯定不乐意,也怕其实难副!-->那就偕个音,就叫“基工”吧, From 5f9f20fe062790f919e5eaa1c6ba63436a4aee92 Mon Sep 17 00:00:00 2001 From: feer921 Date: Fri, 17 Feb 2017 11:25:54 +0800 Subject: [PATCH 4/5] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=AD=A3isNetConnected(?= =?UTF-8?q?)=E4=B8=8D=E6=AD=A3=E7=A1=AE=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/common/base/utils/NetHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/common/base/utils/NetHelper.java b/src/main/java/common/base/utils/NetHelper.java index c6f5227..0ffd947 100644 --- a/src/main/java/common/base/utils/NetHelper.java +++ b/src/main/java/common/base/utils/NetHelper.java @@ -110,7 +110,7 @@ public static int netType(Context context) { * 是否已经联网 */ public static boolean isNetConnected(Context context) { - return getNetType(context) > 0; + return getNetType(context) >= 0; } /** From 5a444642b26e0b700974e3d7c9cb957c22b3927a Mon Sep 17 00:00:00 2001 From: feer921 Date: Tue, 21 Feb 2017 15:14:10 +0800 Subject: [PATCH 5/5] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9=E7=BD=91?= =?UTF-8?q?=E7=BB=9C=E5=9B=9E=E8=B0=83=E6=8E=A5=E5=8F=A3=E7=9A=84=E5=9B=9E?= =?UTF-8?q?=E8=B0=83=E9=94=99=E8=AF=AF=E7=9A=84=E6=96=B9=E6=B3=95=E5=86=85?= =?UTF-8?q?=E6=8A=8A=E5=BC=82=E5=B8=B8=E7=9A=84=E8=AF=A6=E7=BB=86=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=9B=9E=E8=B0=83=E5=87=BA=E5=8E=BB=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../netAbout/NetDataAndErrorListener.java | 4 +++- .../base/netclients/RetrofitClient.java | 19 ++++++++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main/java/common/base/netAbout/NetDataAndErrorListener.java b/src/main/java/common/base/netAbout/NetDataAndErrorListener.java index 10dd6d4..270824d 100644 --- a/src/main/java/common/base/netAbout/NetDataAndErrorListener.java +++ b/src/main/java/common/base/netAbout/NetDataAndErrorListener.java @@ -53,7 +53,9 @@ public void onFailure(Call call, Throwable t) { String errorMsg = INetEvent.UNKNOW_ERROR; if (t != null) { if (!Util.isEmpty(t.getMessage())) { - errorMsg = t.getMessage(); +// errorMsg = t.getMessage(); + //modified here by fee 2017-02-21:这样可以拿到更详细的异常信息 + errorMsg = t.toString(); } } if (netEvent != null) { diff --git a/src/main/java/common/base/netclients/RetrofitClient.java b/src/main/java/common/base/netclients/RetrofitClient.java index 400761d..6c62a5c 100644 --- a/src/main/java/common/base/netclients/RetrofitClient.java +++ b/src/main/java/common/base/netclients/RetrofitClient.java @@ -52,7 +52,7 @@ private RetrofitClient() { // .addConverterFactory(GsonConverterFactory.create()) .addConverterFactory(JacksonConverterFactory.create(objectMapper)); - mRetrofit = retrofitBuilder.build(); + mRetrofit = retrofitBuilder.build();//调用这里时,Retrofit类中会新建一个默认的OkhttClient对象 } } @@ -89,6 +89,7 @@ public void initRetrofitModule(String baseUrl, Converter.Factory converterFactor public RetrofitClient resetOkHttpClient(OkHttpClient customOkHttpClient) { if (retrofitBuilder != null) { mRetrofit = retrofitBuilder.callFactory(customOkHttpClient).build(); + } return this; } @@ -188,4 +189,20 @@ public void cancelAllCall() { cachedCalls.clear(); } } + + /** + * 获取当前的Retrofit中所配置的OkhttClient对象 + * @return + */ + public OkHttpClient getCurHttpClient() { + if (mRetrofit != null) { + return (OkHttpClient) mRetrofit.callFactory(); + } + return null; + } + + public void addLog() { + +// getCurHttpClient().interceptors().add() + } }