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

343 lines
11 KiB
Java

package com.squareup.picasso;
import android.annotation.TargetApi;
import android.app.ActivityManager;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.os.Process;
import android.os.StatFs;
import android.provider.Settings;
import android.util.Log;
import com.ubt.jimu.base.util.FileUtil;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.concurrent.ThreadFactory;
/* loaded from: classes.dex */
final class Utils {
static final StringBuilder a = new StringBuilder();
@TargetApi(11)
private static class ActivityManagerHoneycomb {
static int a(ActivityManager activityManager) {
return activityManager.getLargeMemoryClass();
}
}
@TargetApi(12)
private static class BitmapHoneycombMR1 {
static int a(Bitmap bitmap) {
return bitmap.getByteCount();
}
}
private static class OkHttpLoaderCreator {
static Downloader a(Context context) {
return new OkHttpDownloader(context);
}
}
private static class PicassoThread extends Thread {
public PicassoThread(Runnable runnable) {
super(runnable);
}
@Override // java.lang.Thread, java.lang.Runnable
public void run() {
Process.setThreadPriority(10);
super.run();
}
}
static class PicassoThreadFactory implements ThreadFactory {
PicassoThreadFactory() {
}
@Override // java.util.concurrent.ThreadFactory
public Thread newThread(Runnable runnable) {
return new PicassoThread(runnable);
}
}
static int a(Bitmap bitmap) {
int a2 = Build.VERSION.SDK_INT >= 12 ? BitmapHoneycombMR1.a(bitmap) : bitmap.getRowBytes() * bitmap.getHeight();
if (a2 >= 0) {
return a2;
}
throw new IllegalStateException("Negative size: " + bitmap);
}
static boolean b() {
return Looper.getMainLooper().getThread() == Thread.currentThread();
}
static Downloader c(Context context) {
try {
Class.forName("com.squareup.okhttp.OkHttpClient");
return OkHttpLoaderCreator.a(context);
} catch (ClassNotFoundException unused) {
return new UrlConnectionDownloader(context);
}
}
static boolean d(Context context) {
try {
return Settings.System.getInt(context.getContentResolver(), "airplane_mode_on", 0) != 0;
} catch (NullPointerException unused) {
return false;
}
}
static File b(Context context) {
File file = new File(context.getApplicationContext().getCacheDir(), "picasso-cache");
if (!file.exists()) {
file.mkdirs();
}
return file;
}
static byte[] c(InputStream inputStream) throws IOException {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
byte[] bArr = new byte[FileUtil.ZIP_BUFFER_SIZE];
while (true) {
int read = inputStream.read(bArr);
if (-1 != read) {
byteArrayOutputStream.write(bArr, 0, read);
} else {
return byteArrayOutputStream.toByteArray();
}
}
}
static <T> T a(T t, String str) {
if (t != null) {
return t;
}
throw new NullPointerException(str);
}
static boolean b(Context context, String str) {
return context.checkCallingOrSelfPermission(str) == 0;
}
static void a() {
if (!b()) {
throw new IllegalStateException("Method call should happen from the main thread.");
}
}
static boolean b(InputStream inputStream) throws IOException {
byte[] bArr = new byte[12];
return inputStream.read(bArr, 0, 12) == 12 && "RIFF".equals(new String(bArr, 0, 4, "US-ASCII")) && "WEBP".equals(new String(bArr, 8, 4, "US-ASCII"));
}
static String a(BitmapHunter bitmapHunter) {
return a(bitmapHunter, "");
}
static String a(BitmapHunter bitmapHunter, String str) {
StringBuilder sb = new StringBuilder(str);
Action a2 = bitmapHunter.a();
if (a2 != null) {
sb.append(a2.b.d());
}
List<Action> b = bitmapHunter.b();
if (b != null) {
int size = b.size();
for (int i = 0; i < size; i++) {
if (i > 0 || a2 != null) {
sb.append(", ");
}
sb.append(b.get(i).b.d());
}
}
return sb.toString();
}
static void a(String str, String str2, String str3) {
a(str, str2, str3, "");
}
static void a(String str, String str2, String str3, String str4) {
Log.d("Picasso", String.format("%1$-11s %2$-12s %3$s %4$s", str, str2, str3, str4));
}
static String a(Request request) {
String a2 = a(request, a);
a.setLength(0);
return a2;
}
static String a(Request request, StringBuilder sb) {
String str = request.f;
if (str != null) {
sb.ensureCapacity(str.length() + 50);
sb.append(request.f);
} else {
Uri uri = request.d;
if (uri != null) {
String uri2 = uri.toString();
sb.ensureCapacity(uri2.length() + 50);
sb.append(uri2);
} else {
sb.ensureCapacity(50);
sb.append(request.e);
}
}
sb.append('\n');
if (request.m != 0.0f) {
sb.append("rotation:");
sb.append(request.m);
if (request.p) {
sb.append('@');
sb.append(request.n);
sb.append('x');
sb.append(request.o);
}
sb.append('\n');
}
if (request.c()) {
sb.append("resize:");
sb.append(request.h);
sb.append('x');
sb.append(request.i);
sb.append('\n');
}
if (request.j) {
sb.append("centerCrop");
sb.append('\n');
} else if (request.k) {
sb.append("centerInside");
sb.append('\n');
}
List<Transformation> list = request.g;
if (list != null) {
int size = list.size();
for (int i = 0; i < size; i++) {
sb.append(request.g.get(i).a());
sb.append('\n');
}
}
return sb.toString();
}
static void a(InputStream inputStream) {
if (inputStream == null) {
return;
}
try {
inputStream.close();
} catch (IOException unused) {
}
}
static boolean a(String str) {
if (str == null) {
return false;
}
String[] split = str.split(" ", 2);
if ("CACHE".equals(split[0])) {
return true;
}
if (split.length == 1) {
return false;
}
try {
if ("CONDITIONAL_CACHE".equals(split[0])) {
return Integer.parseInt(split[1]) == 304;
}
return false;
} catch (NumberFormatException unused) {
return false;
}
}
static long a(File file) {
long j;
try {
StatFs statFs = new StatFs(file.getAbsolutePath());
j = (statFs.getBlockCount() * statFs.getBlockSize()) / 50;
} catch (IllegalArgumentException unused) {
j = 5242880;
}
return Math.max(Math.min(j, 52428800L), 5242880L);
}
static int a(Context context) {
ActivityManager activityManager = (ActivityManager) a(context, "activity");
boolean z = (context.getApplicationInfo().flags & 1048576) != 0;
int memoryClass = activityManager.getMemoryClass();
if (z && Build.VERSION.SDK_INT >= 11) {
memoryClass = ActivityManagerHoneycomb.a(activityManager);
}
return (memoryClass * 1048576) / 7;
}
static <T> T a(Context context, String str) {
return (T) context.getSystemService(str);
}
static int a(Resources resources, Request request) throws FileNotFoundException {
Uri uri;
if (request.e == 0 && (uri = request.d) != null) {
String authority = uri.getAuthority();
if (authority != null) {
List<String> pathSegments = request.d.getPathSegments();
if (pathSegments != null && !pathSegments.isEmpty()) {
if (pathSegments.size() == 1) {
try {
return Integer.parseInt(pathSegments.get(0));
} catch (NumberFormatException unused) {
throw new FileNotFoundException("Last path segment is not a resource ID: " + request.d);
}
}
if (pathSegments.size() == 2) {
return resources.getIdentifier(pathSegments.get(1), pathSegments.get(0), authority);
}
throw new FileNotFoundException("More than two path segments: " + request.d);
}
throw new FileNotFoundException("No path segments: " + request.d);
}
throw new FileNotFoundException("No package provided: " + request.d);
}
return request.e;
}
static Resources a(Context context, Request request) throws FileNotFoundException {
Uri uri;
if (request.e == 0 && (uri = request.d) != null) {
String authority = uri.getAuthority();
if (authority != null) {
try {
return context.getPackageManager().getResourcesForApplication(authority);
} catch (PackageManager.NameNotFoundException unused) {
throw new FileNotFoundException("Unable to obtain resources for package: " + request.d);
}
}
throw new FileNotFoundException("No package provided: " + request.d);
}
return context.getResources();
}
static void a(Looper looper) {
Handler handler = new Handler(looper) { // from class: com.squareup.picasso.Utils.1
@Override // android.os.Handler
public void handleMessage(Message message) {
sendMessageDelayed(obtainMessage(), 1000L);
}
};
handler.sendMessageDelayed(handler.obtainMessage(), 1000L);
}
}