jimu-decompiled/sources/com/squareup/picasso/PicassoExecutorService.java
2025-05-13 19:24:51 +02:00

92 lines
2.8 KiB
Java

package com.squareup.picasso;
import android.net.NetworkInfo;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.Utils;
import java.util.concurrent.Future;
import java.util.concurrent.FutureTask;
import java.util.concurrent.PriorityBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/* loaded from: classes.dex */
class PicassoExecutorService extends ThreadPoolExecutor {
private static final class PicassoFutureTask extends FutureTask<BitmapHunter> implements Comparable<PicassoFutureTask> {
private final BitmapHunter a;
public PicassoFutureTask(BitmapHunter bitmapHunter) {
super(bitmapHunter, null);
this.a = bitmapHunter;
}
@Override // java.lang.Comparable
/* renamed from: a, reason: merged with bridge method [inline-methods] */
public int compareTo(PicassoFutureTask picassoFutureTask) {
Picasso.Priority l = this.a.l();
Picasso.Priority l2 = picassoFutureTask.a.l();
return l == l2 ? this.a.a - picassoFutureTask.a.a : l2.ordinal() - l.ordinal();
}
}
PicassoExecutorService() {
super(3, 3, 0L, TimeUnit.MILLISECONDS, new PriorityBlockingQueue(), new Utils.PicassoThreadFactory());
}
void a(NetworkInfo networkInfo) {
if (networkInfo == null || !networkInfo.isConnectedOrConnecting()) {
a(3);
return;
}
int type = networkInfo.getType();
if (type != 0) {
if (type == 1 || type == 6 || type == 9) {
a(4);
return;
} else {
a(3);
return;
}
}
int subtype = networkInfo.getSubtype();
switch (subtype) {
case 1:
case 2:
a(1);
return;
case 3:
case 4:
case 5:
case 6:
break;
default:
switch (subtype) {
case 12:
break;
case 13:
case 14:
case 15:
a(3);
break;
default:
a(3);
break;
}
return;
}
a(2);
}
@Override // java.util.concurrent.AbstractExecutorService, java.util.concurrent.ExecutorService
public Future<?> submit(Runnable runnable) {
PicassoFutureTask picassoFutureTask = new PicassoFutureTask((BitmapHunter) runnable);
execute(picassoFutureTask);
return picassoFutureTask;
}
private void a(int i) {
setCorePoolSize(i);
setMaximumPoolSize(i);
}
}