Skip to content

Commit a57c6bf

Browse files
committed
优化代码写法及代码逻辑
1 parent ff69bb1 commit a57c6bf

118 files changed

Lines changed: 1605 additions & 1098 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/src/main/java/com/hjq/demo/action/TitleBarAction.java

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -157,20 +157,26 @@ default Drawable getRightIcon() {
157157
/**
158158
* 递归获取 ViewGroup 中的 TitleBar 对象
159159
*/
160-
default TitleBar findTitleBar(ViewGroup group) {
161-
if (group == null) {
160+
default TitleBar findTitleBar(@Nullable View contentView) {
161+
if (contentView == null) {
162162
return null;
163163
}
164-
for (int i = 0; i < group.getChildCount(); i++) {
165-
View view = group.getChildAt(i);
166-
if ((view instanceof TitleBar)) {
167-
return (TitleBar) view;
168-
}
164+
if (contentView instanceof TitleBar) {
165+
return (TitleBar) contentView;
166+
}
167+
if (contentView instanceof ViewGroup) {
168+
ViewGroup viewGroup = (ViewGroup) contentView;
169+
for (int i = 0; i < viewGroup.getChildCount(); i++) {
170+
View view = viewGroup.getChildAt(i);
171+
if ((view instanceof TitleBar)) {
172+
return (TitleBar) view;
173+
}
169174

170-
if (view instanceof ViewGroup) {
171-
TitleBar titleBar = findTitleBar((ViewGroup) view);
172-
if (titleBar != null) {
173-
return titleBar;
175+
if (view instanceof ViewGroup) {
176+
TitleBar titleBar = findTitleBar(view);
177+
if (titleBar != null) {
178+
return titleBar;
179+
}
174180
}
175181
}
176182
}

app/src/main/java/com/hjq/demo/app/AppAdapter.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,8 @@ public SimpleViewHolder(View itemView) {
233233
}
234234

235235
@Override
236-
public void onBindView(int position) {}
236+
public void onBindView(int position) {
237+
// default implementation ignored
238+
}
237239
}
238240
}

app/src/main/java/com/hjq/demo/app/TitleBarFragment.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import android.os.Bundle;
55
import android.view.View;
66
import android.view.View.OnApplyWindowInsetsListener;
7-
import android.view.ViewGroup;
87
import android.view.WindowInsets;
98
import androidx.annotation.NonNull;
109
import androidx.annotation.Nullable;
@@ -123,15 +122,19 @@ protected ImmersionBar createStatusBarConfig() {
123122
* 获取状态栏字体颜色
124123
*/
125124
protected boolean isStatusBarDarkFont() {
125+
A activity = getAttachActivity();
126+
if (activity == null) {
127+
return false;
128+
}
126129
// 返回真表示黑色字体
127-
return getAttachActivity().isStatusBarDarkFont();
130+
return activity.isStatusBarDarkFont();
128131
}
129132

130133
@Override
131134
@Nullable
132135
public TitleBar acquireTitleBar() {
133136
if (mTitleBar == null || !isLoading()) {
134-
mTitleBar = findTitleBar((ViewGroup) getView());
137+
mTitleBar = findTitleBar(getView());
135138
}
136139
return mTitleBar;
137140
}

app/src/main/java/com/hjq/demo/http/glide/GlideConfig.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,16 @@ public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder
3838
// 如果这个路径是一个文件
3939
if (diskCacheFile.exists() && diskCacheFile.isFile()) {
4040
// 执行删除操作
41+
// noinspection ResultOfMethodCallIgnored
4142
diskCacheFile.delete();
4243
}
4344
// 如果这个路径不存在
4445
if (!diskCacheFile.exists()) {
4546
// 创建多级目录
46-
diskCacheFile.mkdirs();
47+
if (!diskCacheFile.mkdirs()) {
48+
// 如果创建失败,并且文件夹不存在
49+
return;
50+
}
4751
}
4852
builder.setDiskCache(() -> DiskLruCacheWrapper.create(diskCacheFile, IMAGE_DISK_CACHE_MAX_SIZE));
4953

app/src/main/java/com/hjq/demo/http/glide/OkHttpLoader.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ public ModelLoader<GlideUrl, InputStream> build(@NonNull MultiModelLoaderFactory
5050
}
5151

5252
@Override
53-
public void teardown() {}
53+
public void teardown() {
54+
// default implementation ignored
55+
}
5456
}
5557
}

app/src/main/java/com/hjq/demo/http/model/RequestHandler.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
import android.net.ConnectivityManager;
99
import android.net.NetworkInfo;
1010
import androidx.annotation.NonNull;
11-
import androidx.annotation.Nullable;
12-
import com.google.gson.JsonSyntaxException;
1311
import com.hjq.demo.R;
1412
import com.hjq.demo.http.exception.ResultException;
1513
import com.hjq.demo.http.exception.TokenException;

app/src/main/java/com/hjq/demo/manager/ActivityManager.java

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,23 @@ public final class ActivityManager implements Application.ActivityLifecycleCallb
3030
private static volatile ActivityManager sInstance;
3131

3232
/** Activity 存放集合 */
33+
@NonNull
3334
private final List<Activity> mActivityList = new ArrayList<>();
3435

3536
/** 应用生命周期回调 */
37+
@NonNull
3638
private final ArrayList<ApplicationLifecycleCallback> mLifecycleCallbacks = new ArrayList<>();
3739

3840
/** 当前应用上下文对象 */
41+
@NonNull
3942
private Application mApplication;
43+
4044
/** 栈顶的 Activity 对象 */
45+
@Nullable
4146
private Activity mTopActivity;
47+
4248
/** 前台并且可见的 Activity 对象 */
49+
@Nullable
4350
private Activity mResumedActivity;
4451

4552
private ActivityManager() {}
@@ -55,7 +62,7 @@ public static ActivityManager getInstance() {
5562
return sInstance;
5663
}
5764

58-
public void init(Application application) {
65+
public void init(@NonNull Application application) {
5966
mApplication = application;
6067
mApplication.registerActivityLifecycleCallbacks(this);
6168
}
@@ -243,7 +250,7 @@ public void onActivityDestroyed(@NonNull Activity activity) {
243250
/**
244251
* 判断是否在主进程中
245252
*/
246-
public static boolean isMainProcess(Context context) {
253+
public static boolean isMainProcess(@NonNull Context context) {
247254
String processName = getProcessName();
248255
if (TextUtils.isEmpty(processName)) {
249256
// 如果获取不到进程名称,那么则将它当做主进程
@@ -310,21 +317,21 @@ public interface ApplicationLifecycleCallback {
310317
/**
311318
* 第一个 Activity 创建了
312319
*/
313-
void onApplicationCreate(Activity activity);
320+
void onApplicationCreate(@NonNull Activity activity);
314321

315322
/**
316323
* 最后一个 Activity 销毁了
317324
*/
318-
void onApplicationDestroy(Activity activity);
325+
void onApplicationDestroy(@NonNull Activity activity);
319326

320327
/**
321328
* 应用从前台进入到后台
322329
*/
323-
void onApplicationBackground(Activity activity);
330+
void onApplicationBackground(@NonNull Activity activity);
324331

325332
/**
326333
* 应用从后台进入到前台
327334
*/
328-
void onApplicationForeground(Activity activity);
335+
void onApplicationForeground(@NonNull Activity activity);
329336
}
330337
}

app/src/main/java/com/hjq/demo/manager/CacheDataManager.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import android.content.Context;
44
import android.os.Environment;
5+
import androidx.annotation.NonNull;
56
import java.io.File;
67
import java.math.BigDecimal;
78

@@ -16,7 +17,7 @@ public final class CacheDataManager {
1617
/**
1718
* 获取缓存大小
1819
*/
19-
public static String getTotalCacheSize(Context context) {
20+
public static String getTotalCacheSize(@NonNull Context context) {
2021
long cacheSize = getFolderSize(context.getCacheDir());
2122
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
2223
File externalCacheDir = context.getExternalCacheDir();
@@ -30,7 +31,7 @@ public static String getTotalCacheSize(Context context) {
3031
/**
3132
* 清除缓存
3233
*/
33-
public static void clearAllCache(Context context) {
34+
public static void clearAllCache(@NonNull Context context) {
3435
deleteDir(context.getCacheDir());
3536
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
3637
deleteDir(context.getExternalCacheDir());
@@ -45,6 +46,7 @@ private static boolean deleteDir(File dir) {
4546
return false;
4647
}
4748
if (!dir.isDirectory()) {
49+
// noinspection ResultOfMethodCallIgnored
4850
return dir.delete();
4951
}
5052

app/src/main/java/com/hjq/demo/manager/DialogManager.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.hjq.demo.manager;
22

33
import androidx.annotation.NonNull;
4+
import androidx.annotation.Nullable;
45
import androidx.lifecycle.Lifecycle;
56
import androidx.lifecycle.LifecycleEventObserver;
67
import androidx.lifecycle.LifecycleOwner;
@@ -19,6 +20,7 @@
1920
@SuppressWarnings("MapOrSetKeyShouldOverrideHashCodeEquals")
2021
public final class DialogManager implements LifecycleEventObserver, BaseDialog.OnDismissListener {
2122

23+
@NonNull
2224
private static final Map<LifecycleOwner, DialogManager> DIALOG_MANAGER = new HashMap<>();
2325

2426
public static DialogManager getInstance(LifecycleOwner lifecycleOwner) {
@@ -30,9 +32,11 @@ public static DialogManager getInstance(LifecycleOwner lifecycleOwner) {
3032
return manager;
3133
}
3234

35+
@NonNull
3336
private final List<BaseDialog> mDialogList = new ArrayList<>();
3437

35-
private final HashMap<BaseDialog, Integer> mDialogPriority = new HashMap<>();
38+
@NonNull
39+
private final Map<BaseDialog, Integer> mDialogPriority = new HashMap<>();
3640

3741
private DialogManager(LifecycleOwner lifecycleOwner) {
3842
lifecycleOwner.getLifecycle().addObserver(this);
@@ -41,11 +45,12 @@ private DialogManager(LifecycleOwner lifecycleOwner) {
4145
/**
4246
* 获取所有排队显示的对话框
4347
*/
48+
@NonNull
4449
public List<BaseDialog> getDialogList() {
4550
return mDialogList;
4651
}
4752

48-
public void addDialog(BaseDialog dialog) {
53+
public void addDialog(@Nullable BaseDialog dialog) {
4954
addDialog(dialog, 0);
5055
}
5156

@@ -54,7 +59,7 @@ public void addDialog(BaseDialog dialog) {
5459
*
5560
* @param priority 弹窗优先级
5661
*/
57-
public void addDialog(BaseDialog dialog, int priority) {
62+
public void addDialog(@Nullable BaseDialog dialog, int priority) {
5863
if (dialog == null) {
5964
return;
6065
}
@@ -109,7 +114,7 @@ public void clearShow() {
109114
}
110115

111116
@Override
112-
public void onDismiss(BaseDialog dialog) {
117+
public void onDismiss(@NonNull BaseDialog dialog) {
113118
dialog.removeOnDismissListener(this);
114119
mDialogList.remove(dialog);
115120
mDialogPriority.remove(dialog);
@@ -127,12 +132,12 @@ public void onDismiss(BaseDialog dialog) {
127132
*/
128133

129134
@Override
130-
public void onStateChanged(@NonNull LifecycleOwner lifecycleOwner, @NonNull Lifecycle.Event event) {
135+
public void onStateChanged(@NonNull LifecycleOwner source, @NonNull Lifecycle.Event event) {
131136
if (event != Lifecycle.Event.ON_DESTROY) {
132137
return;
133138
}
134-
DIALOG_MANAGER.remove(lifecycleOwner);
135-
lifecycleOwner.getLifecycle().removeObserver(this);
139+
DIALOG_MANAGER.remove(source);
140+
source.getLifecycle().removeObserver(this);
136141
clearShow();
137142
}
138143
}

app/src/main/java/com/hjq/demo/manager/InitManager.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,23 +58,23 @@ public final class InitManager {
5858
/**
5959
* 是否同意了隐私协议
6060
*/
61-
public static boolean isAgreePrivacy(Context context) {
61+
public static boolean isAgreePrivacy(@NonNull Context context) {
6262
SharedPreferences sharedPreferences = context.getSharedPreferences(AGREE_PRIVACY_NAME, Context.MODE_PRIVATE);
6363
return sharedPreferences.getBoolean(KEY_AGREE_PRIVACY_RESULT, false);
6464
}
6565

6666
/**
6767
* 设置隐私协议结果
6868
*/
69-
public static void setAgreePrivacy(Context context, boolean result) {
69+
public static void setAgreePrivacy(@NonNull Context context, boolean result) {
7070
SharedPreferences sharedPreferences = context.getSharedPreferences(AGREE_PRIVACY_NAME, Context.MODE_PRIVATE);
7171
sharedPreferences.edit().putBoolean(KEY_AGREE_PRIVACY_RESULT, result).apply();
7272
}
7373

7474
/**
7575
* 预初始化第三方 SDK
7676
*/
77-
public static void preInitSdk(Application application) {
77+
public static void preInitSdk(@NonNull Application application) {
7878
// 初始化日志打印
7979
if (AppConfig.isLogEnable()) {
8080
Timber.plant(new DebugLoggerTree());
@@ -216,7 +216,7 @@ public void onLost(@NonNull Network network) {
216216
/**
217217
* 初始化第三方 SDK
218218
*/
219-
public static void initSdk(Application application) {
219+
public static void initSdk(@NonNull Application application) {
220220
// 友盟统计、登录、分享 SDK
221221
UmengClient.init(application, AppConfig.isLogEnable());
222222
}

0 commit comments

Comments
 (0)