Skip to content

Commit 3258f5b

Browse files
committed
优化框架的代码逻辑
1 parent 8f42982 commit 3258f5b

17 files changed

+252
-182
lines changed

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,14 @@ dependencyResolutionManagement {
4949
* 配置完远程仓库后,在项目 app 模块下的 `build.gradle` 文件中加入远程依赖
5050

5151
```groovy
52+
android {
53+
// 支持 JDK 1.8 及以上
54+
compileOptions {
55+
targetCompatibility JavaVersion.VERSION_1_8
56+
sourceCompatibility JavaVersion.VERSION_1_8
57+
}
58+
}
59+
5260
dependencies {
5361
// 日志调试框架:https://github.com/getActivity/Logcat
5462
debugImplementation 'com.github.getActivity:Logcat:12.0'

app/build.gradle

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ android {
77
applicationId "com.hjq.logcat.demo"
88
}
99

10+
// 支持 JDK 1.8 及以上
11+
compileOptions {
12+
targetCompatibility JavaVersion.VERSION_1_8
13+
sourceCompatibility JavaVersion.VERSION_1_8
14+
}
15+
1016
// Apk 签名的那些事:https://www.jianshu.com/p/a1f8e5896aa2
1117
signingConfigs {
1218
config {

library/build.gradle

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ android {
1010
abortOnError false
1111
}
1212

13+
// 支持 JDK 1.8 及以上
14+
compileOptions {
15+
targetCompatibility JavaVersion.VERSION_1_8
16+
sourceCompatibility JavaVersion.VERSION_1_8
17+
}
18+
1319
android.libraryVariants.configureEach { variant ->
1420
// aar 输出文件名配置
1521
variant.outputs.configureEach { output ->

library/src/main/java/com/hjq/logcat/ChooseAdapter.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import android.view.ViewGroup;
66
import android.widget.BaseAdapter;
77
import android.widget.TextView;
8-
98
import java.util.List;
109

1110
/**

library/src/main/java/com/hjq/logcat/ChooseWindow.java

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

33
import android.app.Activity;
4+
import android.content.Context;
45
import android.os.Build;
56
import android.support.annotation.NonNull;
67
import android.view.Gravity;
@@ -26,6 +27,7 @@ final class ChooseWindow extends EasyWindow<ChooseWindow> implements
2627
private final ChooseAdapter mAdapter;
2728
private OnListener mListener;
2829

30+
@SuppressWarnings("deprecation")
2931
ChooseWindow(Activity activity) {
3032
super(activity);
3133
setContentView(R.layout.logcat_window_choose);
@@ -36,10 +38,12 @@ final class ChooseWindow extends EasyWindow<ChooseWindow> implements
3638
}
3739
removeWindowFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
3840

39-
ListView listView = findViewById(R.id.lv_choose_list);
4041
mAdapter = new ChooseAdapter();
41-
listView.setAdapter(mAdapter);
42-
listView.setOnItemClickListener(this);
42+
ListView listView = findViewById(R.id.lv_choose_list);
43+
if (listView != null) {
44+
listView.setAdapter(mAdapter);
45+
listView.setOnItemClickListener(this);
46+
}
4347

4448
setOnClickListenerByView(R.id.fl_choose_root, this);
4549
}
@@ -50,9 +54,13 @@ public void onClick(@NonNull EasyWindow<?> easyWindow, @NonNull View view) {
5054
}
5155

5256
ChooseWindow setList(int... stringIds) {
57+
Context context = getContext();
58+
if (context == null) {
59+
return this;
60+
}
5361
List<String> data = new ArrayList<>();
5462
for (int stringId : stringIds) {
55-
data.add(getContext().getResources().getString(stringId));
63+
data.add(context.getResources().getString(stringId));
5664
}
5765
return setList(data);
5866
}

library/src/main/java/com/hjq/logcat/FloatingActionBehavior.java

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
import android.animation.Animator;
44
import android.animation.AnimatorListenerAdapter;
55
import android.animation.ValueAnimator;
6+
import android.annotation.SuppressLint;
67
import android.content.Context;
78
import android.support.annotation.NonNull;
89
import android.support.design.widget.CoordinatorLayout;
910
import android.support.design.widget.Snackbar;
1011
import android.support.v4.view.ViewCompat;
1112
import android.util.AttributeSet;
1213
import android.view.View;
13-
1414
import java.util.List;
1515

1616
/**
@@ -27,6 +27,7 @@ public FloatingActionBehavior(Context context, AttributeSet attrs) {
2727
super();
2828
}
2929

30+
@SuppressLint("RestrictedApi")
3031
@Override
3132
public boolean layoutDependsOn(CoordinatorLayout parent, View child, View dependency) {
3233
return dependency instanceof Snackbar.SnackbarLayout;
@@ -50,7 +51,7 @@ private void updateTranslation(CoordinatorLayout parent, View child, View depend
5051
float translationY = this.getTranslationY(parent, child);
5152
if (translationY != this.mTranslationY) {
5253
ViewCompat.animate(child).cancel();
53-
if (Math.abs(translationY - this.mTranslationY) == (float) dependency.getHeight()) {
54+
if (Math.abs(translationY - this.mTranslationY) == dependency.getHeight()) {
5455
ViewCompat.animate(child).translationY(translationY);
5556
} else {
5657
child.setTranslationY(translationY);
@@ -60,6 +61,7 @@ private void updateTranslation(CoordinatorLayout parent, View child, View depend
6061
}
6162
}
6263

64+
@SuppressLint("RestrictedApi")
6365
private float getTranslationY(CoordinatorLayout parent, View child) {
6466
float minOffset = 0.0F;
6567
List<?> dependencies = parent.getDependencies(child);
@@ -68,7 +70,7 @@ private float getTranslationY(CoordinatorLayout parent, View child) {
6870
for (int z = dependencies.size(); i < z; ++i) {
6971
View view = (View) dependencies.get(i);
7072
if (view instanceof Snackbar.SnackbarLayout && parent.doViewsOverlap(child, view)) {
71-
minOffset = Math.min(minOffset, view.getTranslationY() - (float) view.getHeight());
73+
minOffset = Math.min(minOffset, view.getTranslationY() - view.getHeight());
7274
}
7375
}
7476

@@ -95,17 +97,14 @@ public void onNestedScroll(@NonNull CoordinatorLayout coordinatorLayout, @NonNul
9597
mAnimFlag = true;
9698
ValueAnimator animator = ValueAnimator.ofFloat(1, 0);
9799
animator.setDuration(300);
98-
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
99-
@Override
100-
public void onAnimationUpdate(ValueAnimator animation) {
101-
float scale = (float) animation.getAnimatedValue();
102-
child.setScaleX(scale);
103-
child.setScaleY(scale);
104-
if (scale != 0) {
105-
return;
106-
}
107-
child.setVisibility(View.INVISIBLE);
100+
animator.addUpdateListener(animation -> {
101+
float scale = (float) animation.getAnimatedValue();
102+
child.setScaleX(scale);
103+
child.setScaleY(scale);
104+
if (scale != 0) {
105+
return;
108106
}
107+
child.setVisibility(View.INVISIBLE);
109108
});
110109
animator.addListener(new AnimatorListenerAdapter() {
111110

@@ -128,13 +127,10 @@ public void onAnimationEnd(Animator animation) {
128127
child.setVisibility(View.VISIBLE);
129128
ValueAnimator animator = ValueAnimator.ofFloat(0, 1);
130129
animator.setDuration(300);
131-
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
132-
@Override
133-
public void onAnimationUpdate(ValueAnimator animation) {
134-
float scale = (float) animation.getAnimatedValue();
135-
child.setScaleX(scale);
136-
child.setScaleY(scale);
137-
}
130+
animator.addUpdateListener(animation -> {
131+
float scale = (float) animation.getAnimatedValue();
132+
child.setScaleX(scale);
133+
child.setScaleY(scale);
138134
});
139135
animator.addListener(new AnimatorListenerAdapter() {
140136

library/src/main/java/com/hjq/logcat/ForegroundServiceStartTask.java

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import android.content.Intent;
66
import android.os.Build;
77
import android.os.Bundle;
8+
import android.support.annotation.NonNull;
89

910
/**
1011
* author : Android 轮子哥
@@ -19,7 +20,7 @@ static void with(Application application) {
1920
}
2021

2122
@Override
22-
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
23+
public void onActivityCreated(@NonNull Activity activity, Bundle savedInstanceState) {
2324
Intent intent = new Intent(activity, LogcatService.class);
2425
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
2526
// Android 8.0 启动后台 service 出错 IllegalStateException: Not allowed to start service Intent
@@ -88,20 +89,32 @@ public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
8889
}
8990

9091
@Override
91-
public void onActivityStarted(Activity activity) {}
92+
public void onActivityStarted(@NonNull Activity activity) {
93+
// default implementation ignored
94+
}
9295

9396
@Override
94-
public void onActivityResumed(Activity activity) {}
97+
public void onActivityResumed(@NonNull Activity activity) {
98+
// default implementation ignored
99+
}
95100

96101
@Override
97-
public void onActivityPaused(Activity activity) {}
102+
public void onActivityPaused(@NonNull Activity activity) {
103+
// default implementation ignored
104+
}
98105

99106
@Override
100-
public void onActivityStopped(Activity activity) {}
107+
public void onActivityStopped(@NonNull Activity activity) {
108+
// default implementation ignored
109+
}
101110

102111
@Override
103-
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {}
112+
public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle outState) {
113+
// default implementation ignored
114+
}
104115

105116
@Override
106-
public void onActivityDestroyed(Activity activity) {}
117+
public void onActivityDestroyed(@NonNull Activity activity) {
118+
// default implementation ignored
119+
}
107120
}

0 commit comments

Comments
 (0)