Skip to content

Commit 43a2b30

Browse files
committed
修改FastManager初始化方式
增加快速模板template 开发者可直接拷贝该项目修改继续开发
1 parent 193df11 commit 43a2b30

39 files changed

+1980
-44
lines changed

apk/sample.apk

16.7 KB
Binary file not shown.

app/src/main/java/com/aries/library/fast/demo/impl/ActivityControlImpl.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,6 @@
1515
import android.widget.ImageView;
1616
import android.widget.RelativeLayout;
1717

18-
import androidx.annotation.NonNull;
19-
import androidx.core.content.ContextCompat;
20-
import androidx.core.view.ViewCompat;
21-
import androidx.fragment.app.Fragment;
22-
import androidx.fragment.app.FragmentActivity;
23-
import androidx.fragment.app.FragmentManager;
24-
2518
import com.aries.library.fast.BuildConfig;
2619
import com.aries.library.fast.FastLifecycleCallbacks;
2720
import com.aries.library.fast.basis.BasisActivity;
@@ -58,6 +51,13 @@
5851

5952
import java.util.List;
6053

54+
import androidx.annotation.NonNull;
55+
import androidx.core.content.ContextCompat;
56+
import androidx.core.view.ViewCompat;
57+
import androidx.fragment.app.Fragment;
58+
import androidx.fragment.app.FragmentActivity;
59+
import androidx.fragment.app.FragmentManager;
60+
6161
import static com.aries.library.fast.demo.App.isControlNavigation;
6262

6363
/**
@@ -210,11 +210,14 @@ private boolean isLeak(Activity activity) {
210210
*/
211211
@Override
212212
public boolean setNavigationBar(Activity activity, NavigationViewHelper helper, View bottomView) {
213+
214+
Activity previous = FastStackUtil.getInstance().getPrevious();
215+
boolean enable = previous != null && previous instanceof SwipeBackActivity;
213216
//其它默认属性请参考FastLifecycleCallbacks
214217
helper.setLogEnable(BuildConfig.DEBUG)
215218
.setPlusNavigationViewEnable(true)
216219
//此处为配合BGASwipeBackHelper滑动返回效果-如不使用BGASwipeBackHelper推荐使用上面的方法
217-
// .setPlusNavigationViewEnable(true, true, true)
220+
.setPlusNavigationViewEnable(true, enable, enable)
218221
.setNavigationBarLightMode(NavigationBarUtil.isSupportNavigationBarFontChange() && isPlusView(activity))
219222
.setOnKeyboardVisibilityChangedListener(getOnKeyboardVisibilityChangedListener(activity))
220223
.setBottomView(PicturePreviewActivity.class.isAssignableFrom(activity.getClass()) ?

app/src/main/java/com/aries/library/fast/demo/impl/SwipeBackControlImpl.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ public void setSwipeBack(Activity activity, BGASwipeBackHelper swipeBackHelper)
4444
//需设置activity window背景为透明避免滑动过程中漏出背景也可减少背景层级降低过度绘制
4545
activity.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
4646
swipeBackHelper.setSwipeBackEnable(true)
47+
.setIsNavigationBarOverlap(true)
4748
.setShadowResId(R.drawable.bga_sbl_shadow);
4849
}
4950

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@ ext{
3232
targetSdkVersion = 28
3333
supportVersion = "1.0.0"
3434
widgetVersion = "3.2.25"
35-
versionCode = 247
36-
versionName = "2.3.5"
35+
versionCode = 248
36+
versionName = "2.3.6"
3737
}

library/proguard-rules.pro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
public *;
5151
}
5252
# for DexGuard only
53-
-keepresourcexmlelements manifest/application/meta-data@value=GlideModule
53+
#-keepresourcexmlelements manifest/application/meta-data@value=GlideModule
5454
#Glide-END
5555

5656
#EventBus-START

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

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
import android.content.Context;
55
import android.util.Log;
66

7-
import androidx.core.content.FileProvider;
8-
97
import com.aries.library.fast.util.FastFileUtil;
108
import com.aries.library.fast.util.FastUtil;
119

10+
import androidx.core.content.FileProvider;
11+
1212
/**
1313
* @Author: AriesHoo on 2018/7/23 14:39
1414
* @E-Mail: AriesHoo@126.com
@@ -17,14 +17,14 @@
1717
* 1、2019-9-16 14:34:51 增加FastManager初始化
1818
*/
1919
public class FastFileProvider extends FileProvider {
20-
// @Override
21-
// public boolean onCreate() {
22-
// Context context = getContext().getApplicationContext();
23-
// if(context==null){
24-
// context = FastUtil.getApplication();
25-
// }
26-
// Log.d("FastFileProvider", "context:" + context);
27-
// FastManager.init((Application) context);
28-
// return super.onCreate();
29-
// }
20+
@Override
21+
public boolean onCreate() {
22+
Context context = getContext().getApplicationContext();
23+
if(context==null){
24+
context = FastUtil.getApplication();
25+
}
26+
Log.d("FastFileProvider", "context:" + context);
27+
FastManager.init((Application) context);
28+
return super.onCreate();
29+
}
3030
}

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,6 @@
77
import android.view.View;
88
import android.view.ViewGroup;
99

10-
import androidx.annotation.NonNull;
11-
import androidx.fragment.app.Fragment;
12-
import androidx.fragment.app.FragmentActivity;
13-
import androidx.fragment.app.FragmentManager;
14-
1510
import com.aries.library.fast.delegate.FastRefreshDelegate;
1611
import com.aries.library.fast.delegate.FastTitleDelegate;
1712
import com.aries.library.fast.i.ActivityFragmentControl;
@@ -37,6 +32,10 @@
3732
import com.aries.ui.view.tab.CommonTabLayout;
3833
import com.aries.ui.view.title.TitleBarView;
3934

35+
import androidx.annotation.NonNull;
36+
import androidx.fragment.app.Fragment;
37+
import androidx.fragment.app.FragmentActivity;
38+
import androidx.fragment.app.FragmentManager;
4039
import cn.bingoogolapple.swipebacklayout.BGASwipeBackHelper;
4140

4241
/**
@@ -307,7 +306,8 @@ public void onSwipeBackLayoutExecuted() {
307306
mSwipeBackControl.onSwipeBackLayoutExecuted(activity);
308307
}
309308
}
310-
});
309+
})
310+
.setIsNavigationBarOverlap(true);
311311
//用于全局控制
312312
if (mSwipeBackControl != null) {
313313
mSwipeBackControl.setSwipeBack(activity, swipeBackHelper);

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

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
import android.app.Activity;
44
import android.app.Application;
55
import android.os.Bundle;
6-
7-
import androidx.annotation.Nullable;
8-
import androidx.core.content.ContextCompat;
6+
import android.util.Log;
97

108
import com.aries.library.fast.delegate.FastRefreshDelegate;
119
import com.aries.library.fast.delegate.FastRefreshLoadDelegate;
@@ -23,7 +21,6 @@
2321
import com.aries.library.fast.i.TitleBarViewControl;
2422
import com.aries.library.fast.i.ToastControl;
2523
import com.aries.library.fast.manager.GlideManager;
26-
import com.aries.library.fast.manager.LoggerManager;
2724
import com.aries.library.fast.retrofit.FastLoadingObserver;
2825
import com.aries.library.fast.retrofit.FastObserver;
2926
import com.aries.library.fast.util.FastUtil;
@@ -32,6 +29,8 @@
3229
import com.aries.ui.widget.progress.UIProgressDialog;
3330
import com.scwang.smartrefresh.layout.api.DefaultRefreshHeaderCreator;
3431

32+
import androidx.annotation.Nullable;
33+
import androidx.core.content.ContextCompat;
3534
import cn.bingoogolapple.swipebacklayout.BGASwipeBackHelper;
3635

3736
/**
@@ -47,7 +46,7 @@ public class FastManager {
4746
static {
4847
Application application = FastUtil.getApplication();
4948
if (application != null) {
50-
LoggerManager.i("FastManager", "initSuccess");
49+
Log.i("FastManager", "initSuccess");
5150
init(application);
5251
}
5352
}
@@ -137,7 +136,7 @@ public Application getApplication() {
137136
* @return
138137
*/
139138
static FastManager init(Application application) {
140-
LoggerManager.i("init_mApplication:" + mApplication + ";application;" + application);
139+
Log.i("FastManager","init_mApplication:" + mApplication + ";application;" + application);
141140
//保证只执行一次初始化属性
142141
if (mApplication == null && application != null) {
143142
mApplication = application;

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919
import android.os.Build;
2020
import android.os.Bundle;
2121
import android.text.TextUtils;
22+
import android.util.Log;
2223
import android.view.View;
2324
import android.view.ViewGroup;
2425

2526
import com.aries.library.fast.FastConstant;
26-
import com.aries.library.fast.manager.LoggerManager;
2727
import com.aries.ui.util.DrawableUtil;
2828

2929
import java.lang.reflect.Method;
@@ -59,7 +59,7 @@ public static Application getApplication() {
5959
try {
6060
//兼容android P,直接调用@hide注解的方法来获取application对象
6161
Application app = ActivityThread.currentApplication();
62-
LoggerManager.e("getApplication0:" + app);
62+
Log.e("FastUtil", "getApplication0:" + app);
6363
if (app != null) {
6464
return app;
6565
}
@@ -68,7 +68,7 @@ public static Application getApplication() {
6868
try {
6969
//兼容android P,直接调用@hide注解的方法来获取application对象
7070
Application app = AppGlobals.getInitialApplication();
71-
LoggerManager.e("getApplication1:" + app);
71+
Log.e("FastUtil", "getApplication1:" + app);
7272
if (app != null) {
7373
return app;
7474
}
@@ -91,7 +91,7 @@ public static CharSequence getAppName(Context context) {
9191
int labelRes = packageInfo.applicationInfo.labelRes;
9292
return context.getResources().getText(labelRes);
9393
} catch (PackageManager.NameNotFoundException e) {
94-
LoggerManager.e("FastUtil", "getAppName:" + e.getMessage());
94+
Log.e("FastUtil", "getAppName:" + e.getMessage());
9595
}
9696
return null;
9797
}
@@ -184,7 +184,7 @@ public static String getVersionName(Context context) {
184184
}
185185
}
186186
} catch (PackageManager.NameNotFoundException e) {
187-
LoggerManager.e("FastUtil", "getVersionName:" + e.getMessage());
187+
Log.e("FastUtil", "getVersionName:" + e.getMessage());
188188
}
189189
return "";
190190
}
@@ -203,7 +203,7 @@ public static int getVersionCode(Context context) {
203203
}
204204
}
205205
} catch (PackageManager.NameNotFoundException e) {
206-
LoggerManager.e("FastUtil", "getVersionCode:" + e.getMessage());
206+
Log.e("FastUtil", "getVersionCode:" + e.getMessage());
207207
}
208208
return -1;
209209
}
@@ -334,7 +334,7 @@ public static void jumpMarket(Context mContext, String packageName) {
334334
marketIntent.setData(Uri.parse(mAddress));
335335
mContext.startActivity(marketIntent);
336336
} catch (Exception e) {
337-
LoggerManager.e("FastUtil", "jumpMarket:" + e.getMessage());
337+
Log.e("FastUtil", "jumpMarket:" + e.getMessage());
338338
}
339339
}
340340

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@
2626
* @Author: AriesHoo on 2018/7/23 14:37
2727
* @E-Mail: AriesHoo@126.com
2828
* Function: Toast 工具
29-
* Description:
29+
* Description: 本工具类只是对系统Toast进行简单的效果样式处理有系统权限问题;如果有更进一步需求推荐使用
30+
* https://github.com/Dovar66/DToast
3031
* 1、2018-7-11 15:40:26 去掉Toast返回值并新增子线程弹出Toast功能
3132
* 2、2019-1-18 18:09:07 新增{@link ToastControl} 全局
3233
*/

settings.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
include ':app', ':library'
1+
include ':app', ':template',':library'

template/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build

template/build.gradle

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
apply plugin: 'com.android.application'
2+
3+
android {
4+
compileSdkVersion rootProject.compileSdkVersion
5+
defaultConfig {
6+
applicationId "com.aries.template"
7+
minSdkVersion rootProject.minSdkVersion
8+
targetSdkVersion rootProject.targetSdkVersion
9+
versionCode rootProject.versionCode
10+
versionName rootProject.versionName
11+
multiDexEnabled true
12+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
13+
buildConfigField "Boolean", "LOG_ENABALE", "true"
14+
buildConfigField "String", "BASE_URL", "\"https://api.xxx.com/\""
15+
}
16+
17+
dexOptions {
18+
javaMaxHeapSize "Xg"
19+
preDexLibraries = false
20+
}
21+
signingConfigs {
22+
release {
23+
storeFile file('../fast.jks')
24+
storePassword 'fast123#@!'
25+
keyAlias 'fast'
26+
keyPassword 'fast123#@!'
27+
}
28+
}
29+
// 忽略打包资源错误
30+
lintOptions {
31+
checkReleaseBuilds false
32+
abortOnError false
33+
}
34+
buildTypes {
35+
debug {
36+
//是否debug模式用于控制是否打印log等
37+
debuggable true
38+
zipAlignEnabled false //是否支持Zip Align
39+
shrinkResources false //是否清理无用资源
40+
minifyEnabled false //是否启动混淆
41+
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
42+
signingConfig signingConfigs.release
43+
}
44+
release {
45+
debuggable false
46+
zipAlignEnabled true //是否支持Zip Align
47+
shrinkResources true //是否清理无用资源
48+
minifyEnabled true //是否启动混淆
49+
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
50+
signingConfig signingConfigs.release
51+
}
52+
}
53+
54+
compileOptions {
55+
sourceCompatibility JavaVersion.VERSION_1_8
56+
targetCompatibility JavaVersion.VERSION_1_8
57+
}
58+
gradle.projectsEvaluated {
59+
tasks.withType(JavaCompile) {
60+
options.compilerArgs << "-Xlint:deprecation" << '-Xlint:-unchecked'
61+
}
62+
}
63+
}
64+
65+
dependencies {
66+
implementation fileTree(include: ['*.jar'], dir: 'libs')
67+
// implementation project(':library')
68+
implementation 'com.github.AriesHoo:FastLib:2.3.5'
69+
70+
//以下库FastLib里使用compileOnly只是编译,使用时需根据项目选择相应版本
71+
implementation 'com.google.android.material:material:'.concat(supportVersion)
72+
implementation 'androidx.appcompat:appcompat:'.concat(supportVersion)
73+
implementation 'androidx.recyclerview:recyclerview:'.concat(supportVersion)
74+
//快速Tab库-继承FastMainActivity使用
75+
implementation "com.github.AriesHoo.UIWidget:tab-layout:$rootProject.widgetVersion"
76+
//页面事件交互-androideventbus-停止维护-按需导入
77+
// implementation 'org.simple:androideventbus:1.0.5.1'
78+
//页面事件交互-eventbus-按需导入
79+
// implementation 'org.greenrobot:eventbus:3.1.1'
80+
//万能适配器--一般都需要吧
81+
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.49-androidx'
82+
//webView库 继承FastWebActivity需要,不需要内置WebView可以不implementation
83+
implementation 'com.just.agentweb:agentweb:4.1.2'
84+
//webView提供下载功能
85+
implementation 'com.download.library:Downloader:4.1.2'
86+
//下拉刷新库注意刷新头SmartRefreshHeader版本最好对应尤其头版本不要低于SmartRefreshLayout版本
87+
implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-andx-14'
88+
//Glide图片加载
89+
implementation 'com.github.bumptech.glide:glide:4.10.0'
90+
annotationProcessor 'com.github.bumptech.glide:compiler:4.10.0'
91+
annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
92+
//以上库FastLib里使用compileOnly只是编译,使用时需根据项目选择相应版本
93+
// implementation 'cn.bingoogolapple:bga-banner:2.1.7@aar'
94+
implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.1.0-andx-14'
95+
// implementation 'com.github.lygttpod:SuperTextView:2.1.8'
96+
//文件选择器
97+
// implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.2.5'
98+
//友盟统计
99+
// implementation 'com.umeng.analytics:analytics:latest.integration'
100+
//Bugly
101+
// implementation 'com.tencent.bugly:crashreport:2.8.6.0'
102+
//哆啦A梦
103+
// implementation 'com.didichuxing.doraemonkit:doraemonkit:1.2.1'
104+
// debugImplementation 'com.didichuxing.doraemonkit:doraemonkit:1.2.1'
105+
// releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-no-op:1.2.1'
106+
//Multidex 5.0以下
107+
// implementation 'androidx.multidex:multidex:2.0.0'
108+
//蒲公英
109+
// implementation 'com.pgyersdk:sdk:3.0.5'
110+
//保活组件
111+
// implementation 'com.fanjun:keeplive:1.1.18'
112+
//滑动返回Activity-类全面屏手势效果
113+
// implementation 'com.github.ParfoisMeng:SlideBack:1.0.7'
114+
}

0 commit comments

Comments
 (0)