Skip to content

Commit b05b3ae

Browse files
AriesHoo@126.comAriesHoo@126.com
AriesHoo@126.com
authored and
AriesHoo@126.com
committed
1、修改FastRefreshDelegate 崩溃问题
1 parent 374d408 commit b05b3ae

File tree

10 files changed

+57
-68
lines changed

10 files changed

+57
-68
lines changed

apk/sample.apk

46.6 KB
Binary file not shown.

apk/update

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"versionCode": 241,
3-
"versionName": "2.2.13_beta10",
2+
"versionCode": 242,
3+
"versionName": "2.2.13_beta11",
44
"url": "https://raw.githubusercontent.com/AriesHoo/FastLib/dev/apk/sample.apk",
55
"force": true,
66
"size": "4.85M",

app/build.gradle

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ android {
1515
buildConfigField "String", "BASE__UPDATE_URL", "\"https://raw.githubusercontent.com/AriesHoo/FastLib/dev/apk/\""
1616
manifestPlaceholders = [
1717
app_channel : "FastLib",
18-
bugly_id : "a66ee7eb32"
18+
bugly_id : "a66ee7eb32",
19+
PGYER_ID : "b88a08387635b27ea95dcf2d6b887a33"
1920
]
2021
}
2122

@@ -111,4 +112,6 @@ dependencies {
111112
// releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-no-op:1.1.2'
112113
//Multidex 5.0以下
113114
implementation 'androidx.multidex:multidex:2.0.0'
115+
//蒲公英
116+
implementation 'com.pgyersdk:sdk:3.0.5'
114117
}

app/src/main/AndroidManifest.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,16 @@
4343
android:name="android.support.FILE_PROVIDER_PATHS"
4444
android:resource="@xml/file_paths_public"></meta-data>
4545
</provider>
46+
<!--蒲公英Start-->
47+
<provider
48+
android:name="com.pgyersdk.PgyerProvider"
49+
android:authorities="${applicationId}.com.pgyer.provider"
50+
android:exported="false"/>
51+
<!-- 必填 -->
52+
<meta-data
53+
android:name="PGYER_APPID"
54+
android:value="${PGYER_ID}">
55+
</meta-data>
4656
<activity
4757
android:name=".module.SplashActivity"
4858
android:configChanges="locale|layoutDirection|mcc|mnc">

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

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@
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+
1825
import com.aries.library.fast.BuildConfig;
1926
import com.aries.library.fast.FastLifecycleCallbacks;
2027
import com.aries.library.fast.basis.BasisActivity;
@@ -35,10 +42,10 @@
3542
import com.aries.library.fast.util.SnackBarUtil;
3643
import com.aries.library.fast.util.ToastUtil;
3744
import com.aries.ui.helper.navigation.KeyboardHelper;
45+
import com.aries.ui.helper.navigation.NavigationBarUtil;
3846
import com.aries.ui.helper.navigation.NavigationViewHelper;
3947
import com.aries.ui.helper.status.StatusViewHelper;
4048
import com.aries.ui.util.FindViewUtil;
41-
import com.aries.ui.util.RomUtil;
4249
import com.aries.ui.util.StatusBarUtil;
4350
import com.didichuxing.doraemonkit.ui.UniversalActivity;
4451
import com.didichuxing.doraemonkit.ui.base.BaseActivity;
@@ -48,13 +55,6 @@
4855

4956
import java.util.List;
5057

51-
import androidx.annotation.NonNull;
52-
import androidx.core.content.ContextCompat;
53-
import androidx.core.view.ViewCompat;
54-
import androidx.fragment.app.Fragment;
55-
import androidx.fragment.app.FragmentActivity;
56-
import androidx.fragment.app.FragmentManager;
57-
5858
import static com.aries.library.fast.demo.App.isControlNavigation;
5959

6060
/**
@@ -209,15 +209,12 @@ private boolean isLeak(Activity activity) {
209209
public boolean setNavigationBar(Activity activity, NavigationViewHelper helper, View bottomView) {
210210
//其它默认属性请参考FastLifecycleCallbacks
211211
helper.setLogEnable(BuildConfig.DEBUG)
212-
.setTransEnable(true)
213212
.setPlusNavigationViewEnable(true, !isPlusView(activity), true)
214-
.setNavigationBarLightMode(isDarkIcon() && isPlusView(activity))
215-
//FastLib默认在可变导航栏icon 增加一个0.5dp的灰色分割线
216-
.setNavigationViewDrawableTop(null)
213+
.setNavigationBarLightMode(NavigationBarUtil.isSupportNavigationBarFontChange() && isPlusView(activity))
217214
.setOnKeyboardVisibilityChangedListener(getOnKeyboardVisibilityChangedListener(activity))
218215
.setBottomView(PicturePreviewActivity.class.isAssignableFrom(activity.getClass()) ?
219216
FindViewUtil.getTargetView(bottomView, R.id.select_bar_layout) : bottomView)
220-
.setNavigationViewColor(isLeak(activity) ? Color.BLACK : Color.argb(isDarkIcon() && isPlusView(activity) ? 0 : 102, 0, 0, 0))
217+
.setNavigationViewColor(isLeak(activity) ? Color.BLACK : Color.argb(NavigationBarUtil.isSupportNavigationBarFontChange() && isPlusView(activity) ? 0 : 102, 0, 0, 0))
221218
.setNavigationLayoutColor(ContextCompat.getColor(activity, !isPlusView(activity) ? R.color.transparent : R.color.colorTabBackground));
222219
if (!isControlNavigation() && !(activity instanceof MainActivity)) {
223220
KeyboardHelper.with(activity)
@@ -234,17 +231,6 @@ private KeyboardHelper.OnKeyboardVisibilityChangedListener getOnKeyboardVisibili
234231
return mOnKeyboardVisibilityChangedListener;
235232
}
236233

237-
/**
238-
* 是否全透明-华为4.1以上、小米V6以上及Android O以上版本
239-
* 可根据导航栏位置颜色设置导航图标颜色
240-
*
241-
* @return
242-
*/
243-
protected boolean isDarkIcon() {
244-
return (RomUtil.isEMUI() && (RomUtil.getEMUIVersion().compareTo("EmotionUI_4.1") > 0))
245-
|| RomUtil.isMIUI() || Build.VERSION.SDK_INT >= Build.VERSION_CODES.O;
246-
}
247-
248234
/**
249235
* 是否增加假导航栏占位
250236
*

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

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
import android.widget.ImageView;
1010
import android.widget.TextView;
1111

12+
import androidx.appcompat.app.AlertDialog;
13+
import androidx.core.content.ContextCompat;
14+
import androidx.core.view.ViewCompat;
15+
1216
import com.allen.library.SuperTextView;
1317
import com.aries.library.fast.basis.BasisActivity;
1418
import com.aries.library.fast.demo.App;
@@ -42,9 +46,6 @@
4246
import java.io.IOException;
4347
import java.util.List;
4448

45-
import androidx.appcompat.app.AlertDialog;
46-
import androidx.core.content.ContextCompat;
47-
import androidx.core.view.ViewCompat;
4849
import butterknife.BindView;
4950
import butterknife.OnClick;
5051
import okhttp3.MultipartBody;
@@ -271,6 +272,12 @@ public void onViewClicked(View view) {
271272
// .downloadApk(updateEntity, "king_glory.apk", true);
272273
CheckVersionHelper.with((BasisActivity) mContext)
273274
.checkVersion(true);
275+
// new PgyUpdateManager.Builder()
276+
// .setForced(false) //设置是否强制提示更新
277+
// // v3.0.4+ 以上同时可以在官网设置强制更新最高低版本;网站设置和代码设置一种情况成立则提示强制更新
278+
// .setUserCanRetry(false) //失败后是否提示重新下载
279+
// .setDeleteHistroyApk(false) // 检查更新前是否删除本地历史 Apk, 默认为true
280+
// .register();
274281
break;
275282
case R.id.stv_uploadMine:
276283
mImagePickerHelper.selectFile(1001, 5, (requestCode, list) -> {

build.gradle

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ allprojects {
1616
jcenter()
1717
google() //AndroidStudio v3.0 可以使用 google() 替代 maven { url "https://maven.google.com" }
1818
maven { url "https://jitpack.io" }//FastLib 及部分三方库通过JitPack发布需添加才可依赖
19+
//蒲公英
20+
maven { url "https://raw.githubusercontent.com/Pgyer/mvn_repo_pgyer/master" }
1921
}
2022
}
2123

@@ -29,6 +31,6 @@ ext{
2931
minLibSdkVersion = 15
3032
targetSdkVersion = 28
3133
supportVersion = "1.0.0"
32-
versionCode = 241
33-
versionName = "2.2.13_beta10"
34+
versionCode = 242
35+
versionName = "2.2.13_beta11"
3436
}

library/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ dependencies {
6565
//图片加载
6666
compileOnly 'com.github.bumptech.glide:glide:4.8.0'
6767
//常用UI控件(TitleBarView、RadiusView等)
68-
api 'com.github.AriesHoo.UIWidget:widget-core:3.2.17'
68+
api 'com.github.AriesHoo.UIWidget:widget-core:3.2.19'
6969
//日志打印
7070
api 'com.orhanobut:logger:2.2.0'
7171
//注解

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

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,16 @@
22

33
import android.app.Activity;
44
import android.app.Application;
5-
import android.graphics.Color;
65
import android.graphics.drawable.Drawable;
76
import android.os.Bundle;
87
import android.view.View;
98
import android.view.ViewGroup;
109

10+
import androidx.annotation.NonNull;
11+
import androidx.fragment.app.Fragment;
12+
import androidx.fragment.app.FragmentActivity;
13+
import androidx.fragment.app.FragmentManager;
14+
1115
import com.aries.library.fast.delegate.FastRefreshDelegate;
1216
import com.aries.library.fast.delegate.FastTitleDelegate;
1317
import com.aries.library.fast.i.ActivityFragmentControl;
@@ -26,21 +30,13 @@
2630
import com.aries.library.fast.retrofit.FastObserver;
2731
import com.aries.library.fast.util.FastStackUtil;
2832
import com.aries.library.fast.util.FastUtil;
29-
import com.aries.library.fast.util.SizeUtil;
3033
import com.aries.ui.helper.navigation.KeyboardHelper;
3134
import com.aries.ui.helper.navigation.NavigationViewHelper;
3235
import com.aries.ui.helper.status.StatusViewHelper;
33-
import com.aries.ui.util.DrawableUtil;
3436
import com.aries.ui.util.FindViewUtil;
35-
import com.aries.ui.util.RomUtil;
3637
import com.aries.ui.view.tab.CommonTabLayout;
3738
import com.aries.ui.view.title.TitleBarView;
3839

39-
import androidx.annotation.NonNull;
40-
import androidx.core.content.ContextCompat;
41-
import androidx.fragment.app.Fragment;
42-
import androidx.fragment.app.FragmentActivity;
43-
import androidx.fragment.app.FragmentManager;
4440
import cn.bingoogolapple.swipebacklayout.BGASwipeBackHelper;
4541

4642
/**
@@ -385,18 +381,9 @@ private void setNavigationBar(Activity activity) {
385381
bottomView = tabLayout;
386382
}
387383
}
388-
Drawable drawableTop = ContextCompat.getDrawable(activity, R.color.colorLineGray);
389-
DrawableUtil.setDrawableWidthHeight(drawableTop, SizeUtil.getScreenWidth(), SizeUtil.dp2px(0.5f));
390384
//设置虚拟导航栏控制
391385
NavigationViewHelper navigationViewHelper = NavigationViewHelper.with(activity)
392-
.setControlEnable(true)
393-
.setTransEnable(isTrans())
394-
.setPlusNavigationViewEnable(isTrans())
395-
.setControlBottomEditTextEnable(true)
396-
.setBottomView(bottomView)
397-
.setNavigationViewColor(Color.argb(isTrans() ? 0 : 102, 0, 0, 0))
398-
.setNavigationViewDrawableTop(drawableTop)
399-
.setNavigationLayoutColor(Color.WHITE);
386+
.setWhiteStyle();
400387
if (activity instanceof KeyboardHelper.OnKeyboardVisibilityChangedListener) {
401388
navigationViewHelper.setOnKeyboardVisibilityChangedListener((KeyboardHelper.OnKeyboardVisibilityChangedListener) activity);
402389
}
@@ -410,15 +397,6 @@ private void setNavigationBar(Activity activity) {
410397
}
411398
}
412399

413-
/**
414-
* 是否全透明-华为4.1以上及MIUI V6 以上及Android O以上可根据导航栏位置颜色设置导航图标颜色
415-
*
416-
* @return
417-
*/
418-
protected boolean isTrans() {
419-
return (RomUtil.isEMUI() && (RomUtil.getEMUIVersion().compareTo("EmotionUI_4.1") > 0)) || RomUtil.isMIUI();
420-
}
421-
422400
/**
423401
* 获取Activity 顶部View(用于延伸至状态栏下边)
424402
*

library/src/main/java/com/aries/library/fast/delegate/FastRefreshLoadDelegate.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
import android.content.Context;
44
import android.view.View;
55

6+
import androidx.core.content.ContextCompat;
7+
import androidx.recyclerview.widget.LinearLayoutManager;
8+
import androidx.recyclerview.widget.RecyclerView;
9+
610
import com.aries.library.fast.FastManager;
711
import com.aries.library.fast.R;
812
import com.aries.library.fast.i.IFastRefreshLoadView;
@@ -13,9 +17,6 @@
1317
import com.chad.library.adapter.base.BaseViewHolder;
1418
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
1519

16-
import androidx.core.content.ContextCompat;
17-
import androidx.recyclerview.widget.LinearLayoutManager;
18-
import androidx.recyclerview.widget.RecyclerView;
1920
import me.bakumon.statuslayoutmanager.library.OnStatusChildClickListener;
2021
import me.bakumon.statuslayoutmanager.library.StatusLayoutManager;
2122

@@ -68,7 +69,7 @@ protected void initRecyclerView() {
6869
FastManager.getInstance().getFastRecyclerViewControl().setRecyclerView(mRecyclerView, mTargetClass);
6970
}
7071
mAdapter = mIFastRefreshLoadView.getAdapter();
71-
mRecyclerView.setLayoutManager(mIFastRefreshLoadView.getLayoutManager()==null?new LinearLayoutManager(mContext):mIFastRefreshLoadView.getLayoutManager());
72+
mRecyclerView.setLayoutManager(mIFastRefreshLoadView.getLayoutManager() == null ? new LinearLayoutManager(mContext) : mIFastRefreshLoadView.getLayoutManager());
7273
mRecyclerView.setOverScrollMode(View.OVER_SCROLL_NEVER);
7374
mRecyclerView.setAdapter(mAdapter);
7475
if (mAdapter != null) {
@@ -92,7 +93,9 @@ public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
9293
}
9394

9495
public void setLoadMore(boolean enable) {
95-
mAdapter.setOnLoadMoreListener(enable ? mIFastRefreshLoadView : null, mRecyclerView);
96+
if (mAdapter != null) {
97+
mAdapter.setOnLoadMoreListener(enable ? mIFastRefreshLoadView : null, mRecyclerView);
98+
}
9699
}
97100

98101
private void setStatusManager() {
@@ -113,10 +116,10 @@ private void setStatusManager() {
113116
StatusLayoutManager.Builder builder = new StatusLayoutManager.Builder(contentView)
114117
.setDefaultLayoutsBackgroundColor(android.R.color.transparent)
115118
.setDefaultEmptyText(R.string.fast_multi_empty)
116-
.setDefaultEmptyClickViewTextColor(ContextCompat.getColor(mContext,R.color.colorTitleText))
119+
.setDefaultEmptyClickViewTextColor(ContextCompat.getColor(mContext, R.color.colorTitleText))
117120
.setDefaultLoadingText(R.string.fast_multi_loading)
118121
.setDefaultErrorText(R.string.fast_multi_error)
119-
.setDefaultErrorClickViewTextColor(ContextCompat.getColor(mContext,R.color.colorTitleText))
122+
.setDefaultErrorClickViewTextColor(ContextCompat.getColor(mContext, R.color.colorTitleText))
120123
.setOnStatusChildClickListener(new OnStatusChildClickListener() {
121124
@Override
122125
public void onEmptyChildClick(View view) {

0 commit comments

Comments
 (0)