package com.google.android.gms.common.images; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.ParcelFileDescriptor; import android.os.ResultReceiver; import android.os.SystemClock; import android.util.Log; import androidx.collection.LruCache; import com.google.android.gms.common.annotation.KeepName; import com.google.android.gms.common.internal.Asserts; import com.google.android.gms.internal.base.zak; import com.google.android.gms.internal.base.zal; import java.io.IOException; import java.util.ArrayList; import java.util.HashSet; import java.util.Map; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; /* loaded from: classes.dex */ public final class ImageManager { private static final Object i = new Object(); private static HashSet j = new HashSet<>(); private final Context a; private final Handler b; private final ExecutorService c; private final zaa d; private final zak e; private final Map f; private final Map g; private final Map h; @KeepName private final class ImageReceiver extends ResultReceiver { private final Uri mUri; private final ArrayList zamp; ImageReceiver(Uri uri) { super(new zal(Looper.getMainLooper())); this.mUri = uri; this.zamp = new ArrayList<>(); } @Override // android.os.ResultReceiver public final void onReceiveResult(int i, Bundle bundle) { ImageManager.this.c.execute(ImageManager.this.new zab(this.mUri, (ParcelFileDescriptor) bundle.getParcelable("com.google.android.gms.extra.fileDescriptor"))); } public final void zab(com.google.android.gms.common.images.zaa zaaVar) { Asserts.a("ImageReceiver.addImageRequest() must be called in the main thread"); this.zamp.add(zaaVar); } public final void zac(com.google.android.gms.common.images.zaa zaaVar) { Asserts.a("ImageReceiver.removeImageRequest() must be called in the main thread"); this.zamp.remove(zaaVar); } public final void zace() { Intent intent = new Intent("com.google.android.gms.common.images.LOAD_IMAGE"); intent.putExtra("com.google.android.gms.extras.uri", this.mUri); intent.putExtra("com.google.android.gms.extras.resultReceiver", this); intent.putExtra("com.google.android.gms.extras.priority", 3); ImageManager.this.a.sendBroadcast(intent); } } private static final class zaa extends LruCache { } private final class zab implements Runnable { private final Uri a; private final ParcelFileDescriptor b; public zab(Uri uri, ParcelFileDescriptor parcelFileDescriptor) { this.a = uri; this.b = parcelFileDescriptor; } @Override // java.lang.Runnable public final void run() { boolean z; Bitmap bitmap; Asserts.b("LoadBitmapFromDiskRunnable can't be executed in the main thread"); ParcelFileDescriptor parcelFileDescriptor = this.b; boolean z2 = false; Bitmap bitmap2 = null; if (parcelFileDescriptor != null) { try { bitmap2 = BitmapFactory.decodeFileDescriptor(parcelFileDescriptor.getFileDescriptor()); } catch (OutOfMemoryError e) { String valueOf = String.valueOf(this.a); StringBuilder sb = new StringBuilder(String.valueOf(valueOf).length() + 34); sb.append("OOM while loading bitmap for uri: "); sb.append(valueOf); Log.e("ImageManager", sb.toString(), e); z2 = true; } try { this.b.close(); } catch (IOException e2) { Log.e("ImageManager", "closed failed", e2); } z = z2; bitmap = bitmap2; } else { bitmap = null; z = false; } CountDownLatch countDownLatch = new CountDownLatch(1); ImageManager.this.b.post(ImageManager.this.new zad(this.a, bitmap, z, countDownLatch)); try { countDownLatch.await(); } catch (InterruptedException unused) { String valueOf2 = String.valueOf(this.a); StringBuilder sb2 = new StringBuilder(String.valueOf(valueOf2).length() + 32); sb2.append("Latch interrupted while posting "); sb2.append(valueOf2); Log.w("ImageManager", sb2.toString()); } } } private final class zad implements Runnable { private final Uri a; private final Bitmap b; private final CountDownLatch c; private boolean d; public zad(Uri uri, Bitmap bitmap, boolean z, CountDownLatch countDownLatch) { this.a = uri; this.b = bitmap; this.d = z; this.c = countDownLatch; } @Override // java.lang.Runnable public final void run() { Asserts.a("OnBitmapLoadedRunnable must be executed in the main thread"); boolean z = this.b != null; if (ImageManager.this.d != null) { if (this.d) { ImageManager.this.d.a(); System.gc(); this.d = false; ImageManager.this.b.post(this); return; } if (z) { ImageManager.this.d.a(new com.google.android.gms.common.images.zab(this.a), this.b); } } ImageReceiver imageReceiver = (ImageReceiver) ImageManager.this.g.remove(this.a); if (imageReceiver != null) { ArrayList arrayList = imageReceiver.zamp; int size = arrayList.size(); for (int i = 0; i < size; i++) { com.google.android.gms.common.images.zaa zaaVar = (com.google.android.gms.common.images.zaa) arrayList.get(i); if (z) { zaaVar.a(ImageManager.this.a, this.b, false); } else { ImageManager.this.h.put(this.a, Long.valueOf(SystemClock.elapsedRealtime())); zaaVar.a(ImageManager.this.a, ImageManager.this.e, false); } ImageManager.this.f.remove(zaaVar); } } this.c.countDown(); synchronized (ImageManager.i) { ImageManager.j.remove(this.a); } } } }