Skip to content

Commit 59b6310

Browse files
committed
1、修改FastConfig配置
1 parent ec12726 commit 59b6310

File tree

4 files changed

+46
-10
lines changed

4 files changed

+46
-10
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ public void onCreate() {
8383
FastQuitConfigEntity quitConfig = FastConfig.getInstance(mContext).getQuitConfig();
8484
FastConfig.getInstance(mContext)
8585
//设置Activity是否支持滑动返回-添加透明主题参考Demo样式;
86-
//说明该配置必填--注意注意
8786
.setSwipeBackEnable(true, this)
8887
// 设置全局TitleBarView-其它属性请查看getInstance默认设置
8988
.setTitleConfig(titleConfig

library/src/main/java/com/aries/library/fast/FastConfig.java

Lines changed: 45 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import com.aries.library.fast.manager.LoggerManager;
3434
import com.aries.library.fast.retrofit.FastLoadingObserver;
3535
import com.aries.library.fast.retrofit.FastObserver;
36+
import com.aries.library.fast.util.FastStackUtil;
3637
import com.aries.library.fast.util.FastUtil;
3738
import com.aries.library.fast.util.SizeUtil;
3839
import com.aries.library.fast.widget.FastLoadDialog;
@@ -57,11 +58,13 @@
5758
* E-Mail: AriesHoo@126.com
5859
* Function: 全局参数配置--可在Application处设置Library全局属性
5960
* Description:
61+
* 1、2018-2-24 18:55:26新增setSwipeBackEnable 全局控制Activity堆栈及滑动返回
6062
*/
6163
public class FastConfig {
6264

6365
private static volatile FastConfig sInstance;
6466
private static Context mContext;
67+
private Application mApplication;
6568

6669
public static FastConfig getInstance(@Nullable Context context) {
6770
if (sInstance == null) {
@@ -78,7 +81,6 @@ private FastConfig(@Nullable Context context) {
7881
if (context == null) {
7982
throw new NullPointerException(FastConstant.EXCEPTION_FAST_CONFIG_CONTEXT_NOT_NULL);
8083
}
81-
LoggerManager.i("FastConfig",mContext+"");
8284
if (context != null) {
8385
this.mContext = context.getApplicationContext();
8486
if (FastUtil.isClassExist("com.aries.ui.view.title.TitleBarView")) {
@@ -140,6 +142,9 @@ public IMultiStatusView createMultiStatusView() {
140142
}
141143
});
142144
}
145+
if (mContext instanceof Application) {
146+
setSwipeBackEnable(false, (Application) mContext);
147+
}
143148
setQuitConfig(new FastQuitConfigEntity()
144149
.setQuitDelay(2000)
145150
.setQuitMessage(getText(R.string.fast_quit_app))
@@ -302,15 +307,49 @@ public boolean isSwipeBackEnable() {
302307
* @return
303308
*/
304309
public FastConfig setSwipeBackEnable(boolean swipeBackEnable, Application application) {
305-
if (application == null) {
306-
throw new NullPointerException(FastConstant.EXCEPTION_SWIPE_BACK_APPLICATION_NOT_NULL);
307-
}
308310
mIsSwipeBackEnable = swipeBackEnable;
309-
if (application != null &&
310-
FastUtil.isClassExist("cn.bingoogolapple.swipebacklayout.BGASwipeBackManager")) {
311+
if (application != null && mApplication == null && FastUtil.isClassExist("cn.bingoogolapple.swipebacklayout.BGASwipeBackManager")) {
311312
BGASwipeBackManager.getInstance().init(application);//初始化滑动返回关闭Activity功能
312313
// 导航栏处理--不设置会预留一块导航栏高度的空白
313314
BGASwipeBackManager.ignoreNavigationBarModels(Arrays.asList(Build.MODEL));
315+
mApplication = application;
316+
mApplication.registerActivityLifecycleCallbacks(new Application.ActivityLifecycleCallbacks() {
317+
@Override
318+
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
319+
FastStackUtil.getInstance().push(activity);
320+
}
321+
322+
@Override
323+
public void onActivityStarted(Activity activity) {
324+
325+
}
326+
327+
@Override
328+
public void onActivityResumed(Activity activity) {
329+
330+
}
331+
332+
@Override
333+
public void onActivityPaused(Activity activity) {
334+
335+
}
336+
337+
@Override
338+
public void onActivityStopped(Activity activity) {
339+
340+
}
341+
342+
@Override
343+
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
344+
345+
}
346+
347+
@Override
348+
public void onActivityDestroyed(Activity activity) {
349+
FastStackUtil.getInstance().pop(activity, false);
350+
}
351+
});
352+
314353
}
315354
return sInstance;
316355
}

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,6 @@ protected void onCreate(Bundle savedInstanceState) {
9898
}
9999
super.onCreate(savedInstanceState);
100100
mContext = this;
101-
FastStackUtil.getInstance().push(this);
102101
initSwipeBack();
103102
beforeSetContentView();
104103
mContentView = View.inflate(mContext, getContentLayout(), null);
@@ -129,7 +128,6 @@ protected void onDestroy() {
129128
if (mUnBinder != null) {
130129
mUnBinder.unbind();
131130
}
132-
FastStackUtil.getInstance().pop(this, false);
133131
}
134132

135133
/**

library/src/main/java/com/aries/library/fast/util/FastStackUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public void push(Activity activity) {
9494
*/
9595
public void pop(Activity activity, boolean isFinish) {
9696
if (activity != null) {
97-
LoggerManager.i(TAG, "remove current activity:isFinishing" + activity.isFinishing() + ";" + activity.getClass().getSimpleName());
97+
LoggerManager.i(TAG, "remove current activity:" + activity.getClass().getSimpleName() + ";isFinishing" + activity.isFinishing());
9898
if (isFinish) {
9999
activity.finish();
100100
}

0 commit comments

Comments
 (0)