Skip to content

Commit 97c2af5

Browse files
AriesHooAriesHoo
AriesHoo
authored and
AriesHoo
committed
重大变更:重构大部分代码及实现方式删除许多类及实现方法包括三方库慎重升级与之前版本有很大差异
优化:BasisFragment 控制是否为单Fragment 方法 优化:调整ActivityFragmentControl 将状态栏及导航栏控制增加 优化:多状态管理StatusLayoutManager调整完成 优化:滑动返回控制swipeBack功能新增各种回调功能 优化:将原默认配置方法调整到最终实现类功能 新增:增加友盟统计功能演示 新增:新增首页演示其它三方库状态栏及导航栏功能控制 新增:个人MineFragment中选择头像功能三方库状态栏及导航栏控制示例 优化:UI全局控制相关回调并调整三方库Activity控制 优化:新增FastRetrofit 下载/上传功能 优化:新增FastRetrofit 控制多BaseUrl方式 新增:新增Demo检查版本功能试验下载文件功能 删除:删除原多状态布局相关配置 修复:修改FastRefreshActivity 设置Adapter错误BUG 升级:升级部分三方库版本 修复:删除IHttpRequestControl判断避免http错误时无法全局控制BUG 优化:修改解析method方法增加对get方法兼容 优化:修改ToastUtil 增加子线程调用自动切换主线程操作 优化:优化下载功能新增FastDownloadRetrofit并新增格式化文件方法FastFormatUtil#formatDataSize 修复:修复FastRetrofit无法删除单个header问题 优化:优化上传文件并通过新增的FastUploadRequestBody及FastUploadRequestListener实现单个/多个文件 上传进度监听 可参看 MineFragment 示例 优化:FastFileUtil 安装App在Android 7.0以下版本兼容性 新增:新增IMultiStatusView 用于设置StatusLayoutManager 属性 优化:调整setMultiStatusView位置并抽离设置StatusLayoutManager相关属性 优化:注释及代码规范调整 优化:调整列表刷新控制多状态配置及itemClick事件 优化:优化下载功能统一使用全局设置Retrofit 优化:优化LoggerManager可设置自定义属性 优化:优化FastRetrofit日志打印控制--json格式打印 新增:demo新增拖拽调整列表顺序功能 新增:FastFileUtil及fast_file_path以适配更多文件系统及开发者自定义 优化:FastRetrofit 新增打印json格式日志方法 优化:FastLoadingDialog设置提示语方式 修复:修复运行中设置BaseUrl有时失效问题
1 parent 8a958ad commit 97c2af5

File tree

8 files changed

+57
-11
lines changed

8 files changed

+57
-11
lines changed

apk/sample.apk

18 KB
Binary file not shown.

apk/update

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"versionCode": 230,
3-
"versionName": "2.2.10-beta5",
3+
"versionName": "2.2.10-beta14",
44
"url": "https://raw.githubusercontent.com/AriesHoo/FastLib/master/apk/sample.apk",
55
"force": true,
66
"size": "3.82M",
7-
"message": "\n优化:重大重构版本与之前版本差异很大\n优化:其它细节优化"
7+
"message": "\n优化:重大重构版本与之前版本差异很大\n优化:新增部分retrofit解析相关方法"
88
}

app/src/main/java/com/aries/library/fast/demo/module/mine/MineFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public void setTitleBar(TitleBarView titleBar) {
7777
public void initView(Bundle savedInstanceState) {
7878
mImagePickerHelper = new ImagePickerHelper(mContext);
7979
mIvHead = mStvInfo.getLeftIconIV();
80-
GlideManager.loadCircleImg("https://t11.baidu.com/it/u=4171704310,3895276209&fm=173&app=25&f=JPG?w=550&h=393&s=8B64F517E6825EE1685CECDC0300E022", mIvHead);
80+
GlideManager.loadCircleImg("https://avatars0.githubusercontent.com/u/19605922?s=460&v=4", mIvHead);
8181
LoggerManager.d("imageHeight:" + mIvHead.getLayoutParams().height + ";screenWidth:" + SizeUtil.getScreenWidth());
8282
SpanTool.getBuilder(mStvInfo.getLeftString())
8383
.append("https://github.com/AriesHoo")

app/src/main/java/com/aries/library/fast/demo/module/mine/ThirdLibraryActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import com.aries.library.fast.manager.LoggerManager;
1616
import com.aries.library.fast.manager.RxJavaManager;
1717
import com.aries.library.fast.module.activity.FastRefreshLoadActivity;
18-
import com.aries.library.fast.retrofit.FastObserver;
18+
import com.aries.library.fast.retrofit.FastLoadingObserver;
1919
import com.aries.library.fast.util.SPUtil;
2020
import com.aries.library.fast.util.ToastUtil;
2121
import com.aries.ui.view.title.TitleBarView;
@@ -111,7 +111,7 @@ public void loadData(int page) {
111111
//当然可以自定义
112112
RxJavaManager.getInstance().getDelayObservable(list, 1)
113113
.compose(bindUntilEvent(ActivityEvent.DESTROY))
114-
.subscribe(new FastObserver<List<WidgetEntity>>() {
114+
.subscribe(new FastLoadingObserver<List<WidgetEntity>>("我就试一试不好用") {
115115
@Override
116116
public void _onNext(List<WidgetEntity> entity) {
117117
mAdapter.openLoadAnimation(animationIndex);

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,5 @@ ext{
3434
targetSdkVersion = 27
3535
supportVersion = "27.1.1"
3636
versionCode = 230
37-
versionName = "2.2.10-beta5"
37+
versionName = "2.2.10-beta14"
3838
}

library/src/main/java/com/aries/library/fast/retrofit/FastMultiUrl.java

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
* 4、2018-7-3 12:24:24 新增单独method 方法设置请求BaseUrl方法
3030
* 5、2018-7-9 15:13:45 修改解析method方法增加对get方法兼容
3131
* 6、2018-7-31 09:10:45 调整通过header及method重定向请求Url方法
32+
* 7、2018-8-23 11:18:40 修改设置BaseUrl重定向问题{@link #processRequest(Request)}
3233
*/
3334
class FastMultiUrl {
3435

@@ -140,6 +141,15 @@ public Request processRequest(Request request) {
140141
.url(httpUrl)
141142
.build();
142143
}
144+
//重定向BaseUrl mBaseUrl是okhttp里设置的base url--程序运行过程中只有一个值--用于拆分method
145+
HttpUrl httpUrlBase = getGlobalBaseUrl();
146+
if (httpUrlBase != null && !httpUrlBase.toString().equals(mBaseUrl)) {
147+
HttpUrl httpNew = checkUrl(request.url().toString().replace(mBaseUrl, httpUrlBase.toString()));
148+
LoggerManager.i(FastMultiUrl.TAG, "重定向Url:Base Url is { " + httpUrlBase.toString() + " }" + ";New Url is { " + httpNew + " }" + ";Old Url is { " + request.url() + " }");
149+
return newBuilder
150+
.url(httpNew)
151+
.build();
152+
}
143153
return newBuilder.build();
144154
}
145155

@@ -236,8 +246,8 @@ public FastMultiUrl setHeaderPriorityEnable(boolean enable) {
236246
* @param url
237247
*/
238248
public FastMultiUrl setGlobalBaseUrl(String url) {
239-
synchronized (mHeaderBaseUrlMap) {
240-
mHeaderBaseUrlMap.put(GLOBAL_BASE_URL_NAME, checkUrl(url));
249+
synchronized (mBaseUrlMap) {
250+
mBaseUrlMap.put(GLOBAL_BASE_URL_NAME, checkUrl(url));
241251
}
242252
//保证唯一性为retrofit设置的baseUrl
243253
if (TextUtils.isEmpty(mBaseUrl)) {
@@ -248,6 +258,15 @@ public FastMultiUrl setGlobalBaseUrl(String url) {
248258
return sInstance;
249259
}
250260

261+
/**
262+
* 获取全局BaseUrl
263+
*
264+
* @return
265+
*/
266+
public HttpUrl getGlobalBaseUrl() {
267+
return mBaseUrlMap.get(GLOBAL_BASE_URL_NAME);
268+
}
269+
251270
public FastMultiUrl putHeaderBaseUrl(Map<String, String> map) {
252271
if (map != null && map.size() > 0) {
253272
for (Map.Entry<String, String> entry : map.entrySet()) {
@@ -328,7 +347,7 @@ public FastMultiUrl putBaseUrl(Map<String, String> map) {
328347
* @return
329348
*/
330349
public FastMultiUrl putBaseUrl(String urlKey, String urlValue) {
331-
synchronized (mHeaderBaseUrlMap) {
350+
synchronized (mBaseUrlMap) {
332351
mBaseUrlMap.put(urlKey, checkUrl(urlValue));
333352
setIntercept(true);
334353
}

library/src/main/java/com/aries/library/fast/retrofit/FastRetrofit.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
* 10、2018-7-24 13:10:49 新增默认header User-Agent -避免某些服务器配置攻击,请求返回403 forbidden 问题
4949
* 11、2018-7-30 16:13:40 修改日志打印规则
5050
* 12、2018-7-31 09:54:30 删除原有单独retrofit模式使用全局retrofit 通过设置Log禁用最后还原模式解决日志拦截器造成获取文件流卡住问题
51+
* 13、2018-8-23 12:31:34 新增设置是否打印json格式日志方法{@link #setLogJsonEnable(boolean)}
5152
*/
5253
public class FastRetrofit {
5354

@@ -65,6 +66,10 @@ public class FastRetrofit {
6566
* 默认读、写、连接超时
6667
*/
6768
private long mDelayTime = 20;
69+
/**
70+
* 是否打印json格式 通过Logger.json
71+
*/
72+
private boolean mLogJsonEnable = true;
6873
/**
6974
* Service 缓存-避免重复创建同一个Service
7075
*/
@@ -378,6 +383,17 @@ public FastRetrofit setConnectTimeout(long second, TimeUnit unit) {
378383
return this;
379384
}
380385

386+
/**
387+
* 是否通过Logger.json打印json格式的返回日志
388+
*
389+
* @param enable
390+
* @return
391+
*/
392+
public FastRetrofit setLogJsonEnable(boolean enable) {
393+
this.mLogJsonEnable = enable;
394+
return this;
395+
}
396+
381397
/**
382398
* 获取当前是否设置日志打印
383399
*
@@ -418,8 +434,8 @@ public void log(String message) {
418434
return;
419435
}
420436
//json格式使用Logger.json打印
421-
boolean isJson = message.startsWith("[") && message.endsWith("]");
422-
isJson = isJson && (message.startsWith("{") || message.endsWith("}"));
437+
boolean isJson = message.startsWith("[") || message.startsWith("{");
438+
isJson = isJson && mLogJsonEnable;
423439
if (isJson) {
424440
LoggerManager.json(finalTag, message);
425441
return;

library/src/main/java/com/aries/library/fast/widget/FastLoadDialog.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@
44
import android.app.Dialog;
55
import android.app.ProgressDialog;
66
import android.view.WindowManager;
7+
import android.widget.TextView;
78

89
import com.aries.library.fast.R;
910
import com.aries.library.fast.util.FastStackUtil;
11+
import com.aries.ui.util.FindViewUtil;
1012

1113
import java.lang.ref.WeakReference;
1214

@@ -16,6 +18,7 @@
1618
* Function: 快速创建网络请求loading
1719
* Description:
1820
* 1、2018-7-30 10:08:30 将默认Dialog变更为ProgressDialog及新增构造方式
21+
* 2、2018-8-23 11:19:29 修改{@link #setMessage(CharSequence)}实现方式
1922
*/
2023
public class FastLoadDialog {
2124

@@ -70,8 +73,16 @@ public FastLoadDialog setCanceledOnTouchOutside(boolean enable) {
7073
* @return
7174
*/
7275
public FastLoadDialog setMessage(CharSequence msg) {
76+
if (mDialog == null) {
77+
return this;
78+
}
7379
if (mDialog instanceof ProgressDialog) {
7480
((ProgressDialog) mDialog).setMessage(msg);
81+
} else {
82+
TextView textView = FindViewUtil.getTargetView(mDialog.getWindow().getDecorView(), TextView.class);
83+
if (textView != null) {
84+
textView.setText(msg);
85+
}
7586
}
7687
return this;
7788
}

0 commit comments

Comments
 (0)