Skip to content

Commit 239eec3

Browse files
AriesHooAriesHoo
authored andcommitted
重大变更:重构大部分代码及实现方式删除许多类及实现方法包括三方库慎重升级与之前版本有很大差异
优化: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 属性
1 parent 1d1588e commit 239eec3

21 files changed

+322
-214
lines changed

app/src/main/java/com/aries/library/fast/demo/AppImpl.java

Lines changed: 53 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,9 @@ public boolean createTitleBarViewControl(TitleBarView titleBar, Class<?> cls) {
205205
.setStatusAlpha(isSupport ? 0 : 102)
206206
.setLeftTextDrawable(isActivity ? mDrawable : null)
207207
.setDividerHeight(Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP ? SizeUtil.dp2px(0.5f) : 0);
208-
if (activity != null) titleBar.setTitleMainText(activity.getTitle());
208+
if (activity != null) {
209+
titleBar.setTitleMainText(activity.getTitle());
210+
}
209211
ViewCompat.setElevation(titleBar, mContext.getResources().getDimension(R.dimen.dp_elevation));
210212
return false;
211213
}
@@ -223,7 +225,8 @@ public void setSwipeBack(Activity activity, BGASwipeBackHelper swipeBackHelper)
223225
activity.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
224226
swipeBackHelper.setSwipeBackEnable(true)
225227
// .setShadowResId(R.color.colorSwipeBackBackground)
226-
.setIsNavigationBarOverlap(true);//底部导航条是否悬浮在内容上设置过NavigationViewHelper可以不用设置该属性
228+
//底部导航条是否悬浮在内容上设置过NavigationViewHelper可以不用设置该属性
229+
.setIsNavigationBarOverlap(true);
227230
}
228231

229232
@Override
@@ -337,12 +340,14 @@ public void onActivityResumed(Activity activity) {
337340
FragmentManager manager = ((FragmentActivity) activity).getSupportFragmentManager();
338341
List<Fragment> list = manager.getFragments();
339342
//有Fragment的FragmentActivity不需调用以下方法避免统计不准
340-
if (list == null || list.size() == 0)
343+
if (list == null || list.size() == 0) {
341344
MobclickAgent.onPageStart(activity.getClass().getSimpleName());
345+
}
342346
} else {
343347
MobclickAgent.onPageStart(activity.getClass().getSimpleName());
344348
}
345-
MobclickAgent.onResume(activity); //统计时长
349+
//统计时长
350+
MobclickAgent.onResume(activity);
346351
}
347352

348353
@Override
@@ -352,18 +357,21 @@ public void onActivityPaused(Activity activity) {
352357
FragmentManager manager = ((FragmentActivity) activity).getSupportFragmentManager();
353358
List<Fragment> list = manager.getFragments();
354359
//有Fragment的FragmentActivity不需调用以下方法避免统计不准
355-
if (list == null || list.size() == 0)
360+
if (list == null || list.size() == 0) {
356361
MobclickAgent.onPageEnd(activity.getClass().getSimpleName());
362+
}
357363
} else {
358364
MobclickAgent.onPageEnd(activity.getClass().getSimpleName());
359365
}
360-
MobclickAgent.onPause(activity); //统计时长
366+
//统计时长
367+
MobclickAgent.onPause(activity);
361368
}
362369

363370
@Override
364371
public void onActivityStopped(Activity activity) {
365-
if (activity.isFinishing())
372+
if (activity.isFinishing()) {
366373
activity.overridePendingTransition(0, R.anim.bga_sbl_activity_swipeback_exit);
374+
}
367375
}
368376

369377
@Override
@@ -411,12 +419,16 @@ public void httpRequestSuccess(IHttpRequestControl httpRequestControl, List<? ex
411419
int size = httpRequestControl.getPageSize();
412420

413421
LoggerManager.i(TAG, "smartRefreshLayout:" + smartRefreshLayout + ";adapter:" + adapter + ";status:" + ";page:" + page + ";class:" + httpRequestControl.getRequestClass());
414-
if (smartRefreshLayout != null)
422+
if (smartRefreshLayout != null) {
415423
smartRefreshLayout.finishRefresh();
416-
if (adapter == null) return;
424+
}
425+
if (adapter == null) {
426+
return;
427+
}
417428
adapter.loadMoreComplete();
418429
if (list == null || list.size() == 0) {
419-
if (page == 0) {//第一页没有
430+
//第一页没有
431+
if (page == 0) {
420432
adapter.setNewData(new ArrayList());
421433
statusLayoutManager.showEmptyLayout();
422434
if (listener != null) {
@@ -453,21 +465,28 @@ public void httpRequestError(IHttpRequestControl httpRequestControl, Throwable e
453465
if (!NetworkUtil.isConnected(mContext)) {
454466
reason = R.string.fast_exception_network_not_connected;
455467
} else {
456-
if (e instanceof NetworkErrorException) {//网络异常--继承于AccountsException
468+
//网络异常--继承于AccountsException
469+
if (e instanceof NetworkErrorException) {
457470
reason = R.string.fast_exception_network_error;
458-
} else if (e instanceof AccountsException) {//账户异常
471+
//账户异常
472+
} else if (e instanceof AccountsException) {
459473
reason = R.string.fast_exception_accounts;
460-
} else if (e instanceof ConnectException) {//连接异常--继承于SocketException
474+
//连接异常--继承于SocketException
475+
} else if (e instanceof ConnectException) {
461476
reason = R.string.fast_exception_connect;
462-
} else if (e instanceof SocketException) {//socket异常
477+
//socket异常
478+
} else if (e instanceof SocketException) {
463479
reason = R.string.fast_exception_socket;
464-
} else if (e instanceof HttpException) {// http异常
480+
// http异常
481+
} else if (e instanceof HttpException) {
465482
reason = R.string.fast_exception_http;
466-
} else if (e instanceof UnknownHostException) {//DNS错误
483+
//DNS错误
484+
} else if (e instanceof UnknownHostException) {
467485
reason = R.string.fast_exception_unknown_host;
468486
} else if (e instanceof JsonSyntaxException
469487
|| e instanceof JsonIOException
470-
|| e instanceof JsonParseException) {//数据格式化错误
488+
|| e instanceof JsonParseException) {
489+
//数据格式化错误
471490
reason = R.string.fast_exception_json_syntax;
472491
} else if (e instanceof SocketTimeoutException || e instanceof TimeoutException) {
473492
reason = R.string.fast_exception_time_out;
@@ -483,23 +502,27 @@ public void httpRequestError(IHttpRequestControl httpRequestControl, Throwable e
483502
BaseQuickAdapter adapter = httpRequestControl.getRecyclerAdapter();
484503
StatusLayoutManager statusLayoutManager = httpRequestControl.getStatusLayoutManager();
485504
int page = httpRequestControl.getCurrentPage();
486-
// int size = httpRequestControl.getPageSize();
487-
if (smartRefreshLayout != null)
505+
if (smartRefreshLayout != null) {
488506
smartRefreshLayout.finishRefresh(false);
489-
if (adapter != null)
507+
}
508+
if (adapter != null) {
490509
adapter.loadMoreComplete();
491-
if (statusLayoutManager == null) return;
492-
if (page == 0) {//初始页
493-
if (!NetworkUtil.isConnected(mContext)) {
494-
//可自定义网络错误页面展示
495-
statusLayoutManager.showCustomLayout(R.layout.layout_status_layout_manager_error);
496-
} else {
497-
statusLayoutManager.showErrorLayout();
510+
if (statusLayoutManager == null) {
511+
return;
498512
}
499-
return;
513+
//初始页
514+
if (page == 0) {
515+
if (!NetworkUtil.isConnected(mContext)) {
516+
//可自定义网络错误页面展示
517+
statusLayoutManager.showCustomLayout(R.layout.layout_status_layout_manager_error);
518+
} else {
519+
statusLayoutManager.showErrorLayout();
520+
}
521+
return;
522+
}
523+
//可根据不同错误展示不同错误布局 showCustomLayout(R.layout.xxx);
524+
statusLayoutManager.showErrorLayout();
500525
}
501-
//可根据不同错误展示不同错误布局 statusLayoutManager.showCustomLayout(R.layout.xxx);
502-
statusLayoutManager.showErrorLayout();
503526
}
504527

505528
/**
@@ -515,11 +538,6 @@ public long quipApp(boolean isFirst, Activity activity) {
515538
} else {
516539
FastStackUtil.getInstance().exit();
517540
}
518-
// if (isFirst) {
519-
// ToastUtil.show(R.string.fast_back_home);
520-
// } else {
521-
// activity.moveTaskToBack(true);
522-
// }
523541
return 2000;
524542
}
525543

app/src/main/java/com/aries/library/fast/demo/module/activity/ActivityFragment.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@
2929
import butterknife.BindView;
3030

3131
/**
32-
* Created: AriesHoo on 2018/7/6 10:07
33-
* E-Mail: AriesHoo@126.com
34-
* Function:活动页--Retrofit演示
35-
* Description:
32+
* @Author: AriesHoo on 2018/7/13 17:38
33+
* @E-Mail: AriesHoo@126.com
34+
* @Function: 活动页--Retrofit演示
35+
* @Description:
3636
*/
3737
public class ActivityFragment extends FastTitleFragment {
3838

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,10 @@
4343
import okhttp3.ResponseBody;
4444

4545
/**
46-
* Created: AriesHoo on 2018/7/3 13:42
47-
* E-Mail: AriesHoo@126.com
48-
* Function:我的
49-
* Description:
46+
* @Author: AriesHoo on 2018/7/13 17:09
47+
* @E-Mail: AriesHoo@126.com
48+
* @Function: 我的
49+
* @Description:
5050
*/
5151
public class MineFragment extends FastTitleFragment {
5252

@@ -78,8 +78,6 @@ public void initView(Bundle savedInstanceState) {
7878
mImagePickerHelper = new ImagePickerHelper(mContext);
7979
mIvHead = mStvInfo.getLeftIconIV();
8080
GlideManager.loadCircleImg("https://avatars3.githubusercontent.com/u/19605922?v=4&s=460", mIvHead);
81-
// mIvHead.getLayoutParams().height = (int) (SizeUtil.getScreenWidth() * 0.2);
82-
// mIvHead.getLayoutParams().width = (int) (SizeUtil.getScreenWidth() * 0.2);
8381
LoggerManager.d("imageHeight:" + mIvHead.getLayoutParams().height + ";screenWidth:" + SizeUtil.getScreenWidth());
8482
SpanTool.getBuilder(mStvInfo.getLeftString())
8583
.append("https://github.com/AriesHoo")
@@ -121,7 +119,9 @@ public void initView(Bundle savedInstanceState) {
121119
* @param listFile
122120
*/
123121
private void uploadFile(List<String> listFile) {
124-
if (listFile == null) return;
122+
if (listFile == null) {
123+
return;
124+
}
125125
final ProgressDialog mProgressDialog = new ProgressDialog(mContext);
126126
mProgressDialog.setTitle("上传文件");
127127
mProgressDialog.setIndeterminate(false);

library/src/main/java/com/aries/library/fast/basis/BasisActivity.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,11 @@
77
import android.widget.FrameLayout;
88

99
import com.aries.library.fast.FastManager;
10-
import com.aries.library.fast.R;
1110
import com.aries.library.fast.i.IBasisView;
1211
import com.aries.library.fast.i.IFastRefreshLoadView;
1312
import com.aries.library.fast.i.QuitAppControl;
1413
import com.aries.library.fast.manager.RxJavaManager;
1514
import com.aries.library.fast.util.FastStackUtil;
16-
import com.aries.library.fast.util.ToastUtil;
1715
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
1816
import com.trello.rxlifecycle2.components.support.RxAppCompatActivity;
1917

@@ -23,8 +21,8 @@
2321
import butterknife.Unbinder;
2422

2523
/**
26-
* Created: AriesHoo on 2017/7/19 15:37
27-
* E-Mail: AriesHoo@126.com
24+
* @Author: AriesHoo on 2018/7/13 17:38
25+
* @E-Mail: AriesHoo@126.com
2826
* Function: 所有Activity的基类
2927
* Description:
3028
* 1、2018-6-15 09:31:42 调整滑动返回类控制
@@ -59,8 +57,9 @@ public boolean isEventBusEnable() {
5957

6058
@Override
6159
protected void onCreate(Bundle savedInstanceState) {
62-
if (isEventBusEnable())
60+
if (isEventBusEnable()) {
6361
EventBus.getDefault().register(this);
62+
}
6463
super.onCreate(savedInstanceState);
6564
mContext = this;
6665
beforeSetContentView();
@@ -89,8 +88,9 @@ protected void onResume() {
8988

9089
@Override
9190
protected void onDestroy() {
92-
if (isEventBusEnable())
91+
if (isEventBusEnable()) {
9392
EventBus.getDefault().unregister(this);
93+
}
9494
super.onDestroy();
9595
if (mUnBinder != null) {
9696
mUnBinder.unbind();
@@ -103,8 +103,9 @@ public void beforeSetContentView() {
103103

104104
@Override
105105
public void beforeInitView() {
106-
if (FastManager.getInstance().getActivityFragmentControl() != null)
106+
if (FastManager.getInstance().getActivityFragmentControl() != null) {
107107
FastManager.getInstance().getActivityFragmentControl().setContentViewBackground(mContentView, this.getClass());
108+
}
108109
}
109110

110111
@Override
@@ -113,7 +114,8 @@ public void loadData() {
113114
}
114115

115116
private void beforeLazyLoad() {
116-
if (!mIsViewLoaded) {//确保视图加载及视图绑定完成避免刷新UI抛出异常
117+
//确保视图加载及视图绑定完成避免刷新UI抛出异常
118+
if (!mIsViewLoaded) {
117119
RxJavaManager.getInstance().setTimer(10, new RxJavaManager.TimerListener() {
118120
@Override
119121
public void timeEnd() {
@@ -139,7 +141,7 @@ private void lazyLoad() {
139141
protected void quitApp() {
140142
mQuitAppControl = FastManager.getInstance().getQuitAppControl();
141143
mDelayBack = mQuitAppControl != null ? mQuitAppControl.quipApp(mIsFirstBack, this) : mDelayBack;
142-
//时延太小/已是第二次提示直接通知执行最终操作
144+
//时延太小或已是第二次提示直接通知执行最终操作
143145
if (mDelayBack <= 0 || !mIsFirstBack) {
144146
if (mQuitAppControl != null) {
145147
mQuitAppControl.quipApp(false, this);
@@ -148,7 +150,6 @@ protected void quitApp() {
148150
}
149151
return;
150152
}
151-
ToastUtil.show(R.string.fast_quit_app);
152153
//编写逻辑
153154
if (mIsFirstBack) {
154155
mIsFirstBack = false;

library/src/main/java/com/aries/library/fast/basis/BasisFragment.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
import butterknife.Unbinder;
2626

2727
/**
28-
* Created: AriesHoo on 2018/5/28/028 21:30
29-
* E-Mail: AriesHoo@126.com
30-
* Function:所有Fragment的基类实现懒加载
28+
* @Author: AriesHoo on 2018/7/13 17:49
29+
* @E-Mail: AriesHoo@126.com
30+
* Function: 所有Fragment的基类实现懒加载
3131
* Description:
3232
* 1、新增控制是否为FragmentActivity的唯一Fragment 方法以优化懒加载方式
3333
* 2、增加解决StatusLayoutManager与SmartRefreshLayout冲突解决方案
@@ -85,13 +85,16 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa
8585
}
8686
mUnBinder = ButterKnife.bind(this, mContentView);
8787
mIsViewLoaded = true;
88-
if (isEventBusEnable())
88+
if (isEventBusEnable()) {
8989
EventBus.getDefault().register(this);
90+
}
9091
beforeInitView();
9192
initView(savedInstanceState);
9293

93-
if (isSingleFragment() && !mIsVisibleChanged && (getUserVisibleHint() || isVisible() || !isHidden())) {
94-
onVisibleChanged(true);
94+
if (isSingleFragment() && !mIsVisibleChanged) {
95+
if (getUserVisibleHint() || isVisible() || !isHidden()) {
96+
onVisibleChanged(true);
97+
}
9598
}
9699
LoggerManager.i(TAG, TAG + ";mIsVisibleChanged:" + mIsVisibleChanged
97100
+ ";getUserVisibleHint:" + getUserVisibleHint()
@@ -112,8 +115,9 @@ public void beforeSetContentView() {
112115

113116
@Override
114117
public void beforeInitView() {
115-
if (FastManager.getInstance().getActivityFragmentControl() != null)
118+
if (FastManager.getInstance().getActivityFragmentControl() != null) {
116119
FastManager.getInstance().getActivityFragmentControl().setContentViewBackground(mContentView, this.getClass());
120+
}
117121
}
118122

119123
@Override
@@ -131,8 +135,9 @@ public void onDestroyView() {
131135

132136
@Override
133137
public void onDestroy() {
134-
if (isEventBusEnable())
138+
if (isEventBusEnable()) {
135139
EventBus.getDefault().unregister(this);
140+
}
136141
super.onDestroy();
137142
}
138143

0 commit comments

Comments
 (0)