Skip to content

Commit cee2f09

Browse files
committed
Enhance null Safety on ProgressManager
1 parent 6d25c4c commit cee2f09

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

progress/src/main/java/me/jessyan/progressmanager/ProgressManager.java

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,12 @@ public final class ProgressManager {
6969

7070
private static volatile ProgressManager mProgressManager;
7171

72-
public static final String OKHTTP_PACKAGE_NAME = "okhttp3.OkHttpClient";
73-
public static final boolean DEPENDENCY_OKHTTP;
74-
public static final int DEFAULT_REFRESH_TIME = 150;
75-
public static final String IDENTIFICATION_NUMBER = "?JessYan=";
76-
public static final String IDENTIFICATION_HEADER = "JessYan";
77-
public static final String LOCATION_HEADER = "Location";
72+
private static final String OKHTTP_PACKAGE_NAME = "okhttp3.OkHttpClient";
73+
private static final boolean DEPENDENCY_OKHTTP;
74+
private static final int DEFAULT_REFRESH_TIME = 150;
75+
private static final String IDENTIFICATION_NUMBER = "?JessYan=";
76+
private static final String IDENTIFICATION_HEADER = "JessYan";
77+
private static final String LOCATION_HEADER = "Location";
7878

7979

8080
static {
@@ -131,6 +131,8 @@ public void setRefreshTime(int refreshTime) {
131131
* @param listener 当此 {@code url} 地址存在上传的动作时,此监听器将被调用
132132
*/
133133
public void addRequestListener(String url, ProgressListener listener) {
134+
checkNotNull(url, "url cannot be null");
135+
checkNotNull(listener, "listener cannot be null");
134136
List<ProgressListener> progressListeners;
135137
synchronized (ProgressManager.class) {
136138
progressListeners = mRequestListeners.get(url);
@@ -149,6 +151,8 @@ public void addRequestListener(String url, ProgressListener listener) {
149151
* @param listener 当此 {@code url} 地址存在下载的动作时,此监听器将被调用
150152
*/
151153
public void addResponseListener(String url, ProgressListener listener) {
154+
checkNotNull(url, "url cannot be null");
155+
checkNotNull(listener, "listener cannot be null");
152156
List<ProgressListener> progressListeners;
153157
synchronized (ProgressManager.class) {
154158
progressListeners = mResponseListeners.get(url);
@@ -171,6 +175,7 @@ public void addResponseListener(String url, ProgressListener listener) {
171175
* @param e 错误
172176
*/
173177
public void notifyOnErorr(String url, Exception e) {
178+
checkNotNull(url, "url cannot be null");
174179
forEachListenersOnError(mRequestListeners, url, e);
175180
forEachListenersOnError(mResponseListeners, url, e);
176181
}
@@ -453,4 +458,10 @@ private void forEachListenersOnError(Map<String, List<ProgressListener>> map, St
453458
}
454459
}
455460

461+
static <T> T checkNotNull(T object, String message) {
462+
if (object == null) {
463+
throw new NullPointerException(message);
464+
}
465+
return object;
466+
}
456467
}

0 commit comments

Comments
 (0)