Skip to content

Commit c66a144

Browse files
committed
see 02/22 log
1 parent 5e1eeaa commit c66a144

File tree

8 files changed

+128
-260
lines changed

8 files changed

+128
-260
lines changed

utilcode/README-CN.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -888,6 +888,7 @@ executeByCustom : 在自定义线程池执行任务
888888
executeByCustomWithDelay: 在自定义线程池延时执行任务
889889
executeByCustomAtFixRate: 在自定义线程池按固定频率执行任务
890890
cancel : 取消任务的执行
891+
setDeliver : 设置任务结束后交付的线程
891892
```
892893

893894
* ### 时间相关 -> [TimeUtils.java][time.java] -> [Test][time.test]

utilcode/lib/src/main/java/com/blankj/utilcode/util/LogUtils.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -473,8 +473,7 @@ private static void print2File(final int type, final String tag, final String ms
473473
String date = format.substring(0, 10);
474474
String time = format.substring(11);
475475
final String fullPath =
476-
(CONFIG.mDir == null ? CONFIG.mDefaultDir : CONFIG.mDir)
477-
+ CONFIG.mFilePrefix + "-" + date + ".txt";
476+
CONFIG.getDir() + CONFIG.getFilePrefix() + "-" + date + ".txt";
478477
if (!createOrExistsFile(fullPath)) {
479478
Log.e("LogUtils", "create " + fullPath + " failed!");
480479
return;
@@ -522,7 +521,7 @@ private static void deleteDueLogs(String filePath) {
522521
File[] files = parentFile.listFiles(new FilenameFilter() {
523522
@Override
524523
public boolean accept(File dir, String name) {
525-
return name.matches("^" + CONFIG.mFilePrefix + "-[0-9]{4}-[0-9]{2}-[0-9]{2}.txt$");
524+
return name.matches("^" + CONFIG.getFilePrefix() + "-[0-9]{4}-[0-9]{2}-[0-9]{2}.txt$");
526525
}
527526
});
528527
if (files.length <= 0) return;
@@ -686,7 +685,7 @@ public Config setDir(final String dir) {
686685
}
687686

688687
public Config setDir(final File dir) {
689-
mDir = dir == null ? null : dir.getAbsolutePath() + FILE_SEP;
688+
mDir = dir == null ? null : (dir.getAbsolutePath() + FILE_SEP);
690689
return this;
691690
}
692691

@@ -762,7 +761,7 @@ public boolean isLog2ConsoleSwitch() {
762761
}
763762

764763
public String getGlobalTag() {
765-
if (isSpace(mGlobalTag)) return "null";
764+
if (isSpace(mGlobalTag)) return "";
766765
return mGlobalTag;
767766
}
768767

utilcode/lib/src/main/java/com/blankj/utilcode/util/ThreadUtils.java

Lines changed: 31 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import java.util.HashMap;
1212
import java.util.Map;
13+
import java.util.concurrent.Executor;
1314
import java.util.concurrent.ExecutorService;
1415
import java.util.concurrent.Executors;
1516
import java.util.concurrent.LinkedBlockingQueue;
@@ -38,6 +39,8 @@ public final class ThreadUtils {
3839
private static final byte TYPE_IO = -4;
3940
private static final byte TYPE_CPU = -8;
4041

42+
private static Executor sDeliver;
43+
4144
private static final int CPU_COUNT = Runtime.getRuntime().availableProcessors();
4245

4346
/**
@@ -838,6 +841,15 @@ public static void cancel(final Task task) {
838841
task.cancel();
839842
}
840843

844+
/**
845+
* Set the deliver.
846+
*
847+
* @param deliver The deliver.
848+
*/
849+
public static void setDeliver(final Executor deliver) {
850+
sDeliver = deliver;
851+
}
852+
841853
private static <T> void execute(final ExecutorService pool, final Task<T> task) {
842854
executeWithDelay(pool, task, 0, TimeUnit.MILLISECONDS);
843855
}
@@ -949,6 +961,20 @@ private static ExecutorService createPoolByTypeAndPriority(final int type, final
949961
}
950962
}
951963

964+
private static Executor getDeliver() {
965+
if (sDeliver == null) {
966+
sDeliver = new Executor() {
967+
private final Handler mHandler = new Handler(Looper.getMainLooper());
968+
969+
@Override
970+
public void execute(@NonNull Runnable command) {
971+
mHandler.post(command);
972+
}
973+
};
974+
}
975+
return sDeliver;
976+
}
977+
952978
public abstract static class SimpleTask<T> extends Task<T> {
953979

954980
@Override
@@ -991,15 +1017,15 @@ public void run() {
9911017
if (state != NEW) return;
9921018

9931019
if (isSchedule) {
994-
Deliver.post(new Runnable() {
1020+
getDeliver().execute(new Runnable() {
9951021
@Override
9961022
public void run() {
9971023
onSuccess(result);
9981024
}
9991025
});
10001026
} else {
10011027
state = COMPLETING;
1002-
Deliver.post(new Runnable() {
1028+
getDeliver().execute(new Runnable() {
10031029
@Override
10041030
public void run() {
10051031
onSuccess(result);
@@ -1011,7 +1037,7 @@ public void run() {
10111037
if (state != NEW) return;
10121038

10131039
state = EXCEPTIONAL;
1014-
Deliver.post(new Runnable() {
1040+
getDeliver().execute(new Runnable() {
10151041
@Override
10161042
public void run() {
10171043
onFail(throwable);
@@ -1025,7 +1051,7 @@ public void cancel() {
10251051
if (state != NEW) return;
10261052

10271053
state = CANCELLED;
1028-
Deliver.post(new Runnable() {
1054+
getDeliver().execute(new Runnable() {
10291055
@Override
10301056
public void run() {
10311057
onCancel();
@@ -1043,21 +1069,18 @@ private static final class UtilsThreadFactory extends AtomicLong
10431069
implements ThreadFactory {
10441070
private static final AtomicInteger POOL_NUMBER = new AtomicInteger(1);
10451071
private static final long serialVersionUID = -9209200509960368598L;
1046-
private final ThreadGroup group;
10471072
private final String namePrefix;
10481073
private final int priority;
10491074

10501075
UtilsThreadFactory(String prefix, int priority) {
1051-
SecurityManager s = System.getSecurityManager();
1052-
group = s != null ? s.getThreadGroup() : Thread.currentThread().getThreadGroup();
10531076
namePrefix = prefix + "-pool-" +
10541077
POOL_NUMBER.getAndIncrement() +
10551078
"-thread-";
10561079
this.priority = priority;
10571080
}
10581081

10591082
public Thread newThread(@NonNull Runnable r) {
1060-
Thread t = new Thread(group, r, namePrefix + getAndIncrement(), 0) {
1083+
Thread t = new Thread(r, namePrefix + getAndIncrement()) {
10611084
@Override
10621085
public void run() {
10631086
try {
@@ -1073,32 +1096,6 @@ public void run() {
10731096
t.setPriority(priority);
10741097
return t;
10751098
}
1076-
}
1077-
1078-
private static class Deliver {
10791099

1080-
private static final Handler MAIN_HANDLER;
1081-
1082-
static {
1083-
Looper looper;
1084-
try {
1085-
looper = Looper.getMainLooper();
1086-
} catch (Exception e) {
1087-
looper = null;
1088-
}
1089-
if (looper != null) {
1090-
MAIN_HANDLER = new Handler(looper);
1091-
} else {
1092-
MAIN_HANDLER = null;
1093-
}
1094-
}
1095-
1096-
static void post(final Runnable runnable) {
1097-
if (MAIN_HANDLER != null) {
1098-
MAIN_HANDLER.post(runnable);
1099-
} else {
1100-
runnable.run();
1101-
}
1102-
}
11031100
}
11041101
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package com.blankj.utilcode.util.http;
2+
3+
import android.os.Handler;
4+
import android.os.Looper;
5+
import android.support.annotation.NonNull;
6+
7+
import java.util.concurrent.Executor;
8+
import java.util.concurrent.LinkedBlockingQueue;
9+
import java.util.concurrent.ThreadFactory;
10+
import java.util.concurrent.ThreadPoolExecutor;
11+
import java.util.concurrent.TimeUnit;
12+
import java.util.concurrent.atomic.AtomicInteger;
13+
14+
public final class ExecutorFactory {
15+
16+
private static final int CPU_COUNT = Runtime.getRuntime().availableProcessors();
17+
18+
private static final Executor DEFAULT_WORK_EXECUTOR = new ThreadPoolExecutor(2 * CPU_COUNT + 1,
19+
2 * CPU_COUNT + 1,
20+
30, TimeUnit.SECONDS,
21+
new LinkedBlockingQueue<Runnable>(128),
22+
new ThreadFactory() {
23+
private final AtomicInteger mCount = new AtomicInteger(1);
24+
25+
public Thread newThread(@NonNull Runnable r) {
26+
return new Thread(r, "http-pool-" + mCount.getAndIncrement());
27+
}
28+
}
29+
);
30+
31+
private static final Executor DEFAULT_MAIN_EXECUTOR = new Executor() {
32+
private final Handler mHandler = new Handler(Looper.getMainLooper());
33+
34+
@Override
35+
public void execute(@NonNull Runnable command) {
36+
mHandler.post(command);
37+
}
38+
};
39+
40+
public static Executor getDefaultWorkExecutor() {
41+
return DEFAULT_WORK_EXECUTOR;
42+
}
43+
44+
public static Executor getDefaultMainExecutor() {
45+
return DEFAULT_MAIN_EXECUTOR;
46+
}
47+
}

utilcode/lib/src/main/java/com/blankj/utilcode/util/http/HttpUtils.java

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import android.accounts.NetworkErrorException;
44
import android.annotation.SuppressLint;
5+
import android.os.Handler;
6+
import android.os.Looper;
57
import android.support.annotation.NonNull;
68

79
import java.io.BufferedOutputStream;
@@ -12,10 +14,17 @@
1214
import java.io.InputStream;
1315
import java.io.OutputStream;
1416
import java.net.HttpURLConnection;
17+
import java.net.Proxy;
1518
import java.security.cert.X509Certificate;
1619
import java.util.Deque;
1720
import java.util.LinkedList;
1821
import java.util.Map;
22+
import java.util.concurrent.Executor;
23+
import java.util.concurrent.LinkedBlockingQueue;
24+
import java.util.concurrent.ThreadFactory;
25+
import java.util.concurrent.ThreadPoolExecutor;
26+
import java.util.concurrent.TimeUnit;
27+
import java.util.concurrent.atomic.AtomicInteger;
1928

2029
import javax.net.ssl.HostnameVerifier;
2130
import javax.net.ssl.HttpsURLConnection;
@@ -39,8 +48,8 @@ public final class HttpUtils {
3948

4049
private static final int CONNECT_TIMEOUT_TIME = 15000;
4150
private static final int READ_TIMEOUT_TIME = 19000;
51+
private static final int BUFFER_SIZE = 8192;
4252

43-
private static final int BUFFER_SIZE = 8192;
4453

4554
private static final TrustManager[] DEFAULT_TRUST_MANAGERS = new TrustManager[]{
4655
new X509TrustManager() {
@@ -226,27 +235,11 @@ public static class Config {
226235
private int connectTimeout = CONNECT_TIMEOUT_TIME;
227236
private int readTimeout = READ_TIMEOUT_TIME;
228237
private boolean useCaches = false;
229-
}
230238

231-
public static class Dispatcher {
232-
private int maxRequests = 64;
233-
private int maxRequestsPerHost = 5;
234-
235-
private final Deque<Call> readyCalls = new LinkedList<>();
236-
private final Deque<Call> runningCalls = new LinkedList<>();
237-
238-
// synchronized void enqueue(Call call) {
239-
// // 不超过最大请求数并且不超过 host 最大请求数
240-
// if (runningCalls.size() < maxRequests && runningCallsForHost(call) < maxRequestsPerHost) {
241-
// // 添加到运行中的异步请求队列
242-
// runningAsyncCalls.add(call);
243-
// // 添加到线程池中运行
244-
// executorService().execute(call);
245-
// } else {
246-
// // 添加到就绪的异步请求队列
247-
// readyAsyncCalls.add(call);
248-
// }
249-
// }
239+
private SSLConfig sslConfig = SSLConfig.DEFAULT_SSL_CONFIG;
240+
private Executor workExecutor = ExecutorFactory.getDefaultWorkExecutor();
241+
private Executor mainExecutor = ExecutorFactory.getDefaultMainExecutor();
242+
private Proxy proxy = null;
250243
}
251244

252245
static class Call implements Runnable {

utilcode/lib/src/main/java/com/blankj/utilcode/util/http/SSLConfig.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,14 @@ public SSLConfig(@NonNull SSLSocketFactory factory, @NonNull HostnameVerifier ve
3838
mHostnameVerifier = verifier;
3939
}
4040

41-
public static final HostnameVerifier DEFAULT_VERIFIER = new HostnameVerifier() {
41+
public static final HostnameVerifier DEFAULT_VERIFIER = new HostnameVerifier() {
4242
public boolean verify(String hostname, SSLSession session) {
4343
return true;
4444
}
4545
};
46-
4746
public static final SSLSocketFactory DEFAULT_SSL_SOCKET_FACTORY = new DefaultSSLSocketFactory();
4847

49-
public SSLSocketFactory getSSLSocketFactory() {
50-
return mSSLSocketFactory;
51-
}
52-
53-
public HostnameVerifier getHostnameVerifier() {
54-
return mHostnameVerifier;
55-
}
48+
public static final SSLConfig DEFAULT_SSL_CONFIG = new SSLConfig(DEFAULT_SSL_SOCKET_FACTORY, DEFAULT_VERIFIER);
5649

5750
private static class DefaultSSLSocketFactory extends SSLSocketFactory {
5851

0 commit comments

Comments
 (0)