discord-jadx/app/src/main/java/com/discord/utilities/images/MGImages.java

491 lines
22 KiB
Java

package com.discord.utilities.images;
import android.content.ActivityNotFoundException;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.widget.ImageView;
import androidx.annotation.ColorInt;
import androidx.annotation.DrawableRes;
import androidx.fragment.app.FragmentManager;
import c.a.d.o;
import c.f.g.a.a.d;
import c.f.g.f.a;
import c.f.g.f.c;
import c.f.j.d.e;
import com.airbnb.lottie.parser.AnimatableValueParser;
import com.discord.dialogs.ImageUploadDialog;
import com.discord.media_picker.MediaPicker;
import com.discord.media_picker.RequestType;
import com.discord.utilities.color.ColorCompat;
import com.facebook.drawee.controller.ControllerListener;
import com.facebook.drawee.drawable.ScalingUtils$ScaleType;
import com.facebook.drawee.generic.GenericDraweeHierarchy;
import com.facebook.drawee.interfaces.DraweeHierarchy;
import com.facebook.drawee.view.DraweeView;
import com.facebook.imagepipeline.image.ImageInfo;
import com.facebook.imagepipeline.request.ImageRequest;
import com.facebook.imagepipeline.request.ImageRequestBuilder;
import com.yalantis.ucrop.UCropActivity;
import d0.g0.s;
import d0.g0.t;
import d0.g0.w;
import d0.t.n;
import d0.y.b;
import d0.z.d.m;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
import rx.functions.Action1;
/* compiled from: MGImages.kt */
public final class MGImages {
public static final MGImages INSTANCE = new MGImages();
private static final ImageEncoder imageEncoder = new ImageEncoder();
/* compiled from: MGImages.kt */
public static final class AlwaysUpdateChangeDetector implements ChangeDetector {
public static final AlwaysUpdateChangeDetector INSTANCE = new AlwaysUpdateChangeDetector();
private AlwaysUpdateChangeDetector() {
}
@Override // com.discord.utilities.images.MGImages.ChangeDetector
public boolean track(Object obj, Object obj2) {
m.checkNotNullParameter(obj, "key");
return true;
}
}
/* compiled from: MGImages.kt */
public interface ChangeDetector {
boolean track(Object obj, Object obj2);
}
/* compiled from: MGImages.kt */
public static final class DistinctChangeDetector implements ChangeDetector {
private final HashMap<Object, Object> dataMap = new HashMap<>();
@Override // com.discord.utilities.images.MGImages.ChangeDetector
public boolean track(Object obj, Object obj2) {
m.checkNotNullParameter(obj, "key");
if (this.dataMap.containsKey(obj) && m.areEqual(this.dataMap.get(obj), obj2)) {
return false;
}
this.dataMap.put(obj, obj2);
return true;
}
}
private MGImages() {
}
private final DraweeView<?> getDrawee(ImageView imageView) {
Objects.requireNonNull(imageView, "null cannot be cast to non-null type com.facebook.drawee.view.DraweeView<*>");
return (DraweeView) imageView;
}
private final GenericDraweeHierarchy getHierarchy(ImageView imageView) {
DraweeView<?> drawee = getDrawee(imageView);
if (!drawee.hasHierarchy()) {
drawee.setHierarchy(new a(imageView.getResources()).a());
}
DraweeHierarchy hierarchy = drawee.getHierarchy();
Objects.requireNonNull(hierarchy, "null cannot be cast to non-null type com.facebook.drawee.generic.GenericDraweeHierarchy");
return (GenericDraweeHierarchy) hierarchy;
}
public static final ImageRequestBuilder getImageRequest(String str, int i, int i2, boolean z2) {
m.checkNotNullParameter(str, "url");
ImageRequestBuilder b = ImageRequestBuilder.b(Uri.parse(str));
b.b = ImageRequest.c.FULL_FETCH;
m.checkNotNullExpressionValue(b, "requestBuilder");
boolean z3 = false;
b.f = (z2 || !w.contains$default(str, "gif", false, 2, null)) ? ImageRequest.b.SMALL : ImageRequest.b.DEFAULT;
if (i > 0 && i2 > 0) {
z3 = true;
}
if (z3) {
b.f2184c = new e(i, i2);
}
return b;
}
public static final void prepareImageUpload(Uri uri, String str, FragmentManager fragmentManager, MediaPicker.Provider provider, Action1<String> action1, ImageUploadDialog.PreviewType previewType) {
m.checkNotNullParameter(uri, "uri");
m.checkNotNullParameter(str, "mimeType");
m.checkNotNullParameter(fragmentManager, "fragmentManager");
m.checkNotNullParameter(provider, "provider");
m.checkNotNullParameter(previewType, "previewType");
Objects.requireNonNull(ImageUploadDialog.j);
m.checkNotNullParameter(fragmentManager, "fragmentManager");
m.checkNotNullParameter(uri, "uri");
m.checkNotNullParameter(provider, "provider");
m.checkNotNullParameter(str, "mimeType");
m.checkNotNullParameter(previewType, "previewType");
ImageUploadDialog imageUploadDialog = new ImageUploadDialog();
m.checkNotNullParameter(uri, "<set-?>");
imageUploadDialog.l = uri;
m.checkNotNullParameter(provider, "<set-?>");
imageUploadDialog.m = provider;
imageUploadDialog.n = str;
imageUploadDialog.o = action1;
imageUploadDialog.p = previewType;
imageUploadDialog.show(fragmentManager, ImageUploadDialog.class.getName());
}
/* JADX WARNING: Code restructure failed: missing block: B:14:0x0036, code lost:
r11 = move-exception;
*/
/* JADX WARNING: Code restructure failed: missing block: B:15:0x0037, code lost:
d0.y.b.closeFinally(r9, r10);
*/
/* JADX WARNING: Code restructure failed: missing block: B:16:0x003a, code lost:
throw r11;
*/
public static final void requestDataUrl(Context context, Uri uri, String str, Action1<String> action1) {
InputStream openInputStream;
m.checkNotNullParameter(uri, "uri");
m.checkNotNullParameter(str, "mimeType");
if (context != null) {
try {
ContentResolver contentResolver = context.getContentResolver();
if (contentResolver != null && (openInputStream = contentResolver.openInputStream(uri)) != null) {
if (action1 != null) {
ImageEncoder imageEncoder2 = imageEncoder;
m.checkNotNullExpressionValue(openInputStream, "it");
action1.call(imageEncoder2.getDataUrl(str, openInputStream));
}
b.closeFinally(openInputStream, null);
}
} catch (IOException e) {
o.h(context, c.a.l.b.g(context, 2131886798, new Object[]{e.getMessage()}, null, 4), 0, null, 12);
} catch (NullPointerException e2) {
o.h(context, c.a.l.b.g(context, 2131886798, new Object[]{e2.getMessage()}, null, 4), 0, null, 12);
} catch (IllegalStateException e3) {
o.h(context, c.a.l.b.g(context, 2131886798, new Object[]{e3.getMessage()}, null, 4), 0, null, 12);
}
}
}
public static final void requestImageCrop(Context context, MediaPicker.Provider provider, Uri uri, float f, float f2, int i) {
m.checkNotNullParameter(provider, "provider");
m.checkNotNullParameter(uri, "inputUri");
MGImages$requestImageCrop$1 mGImages$requestImageCrop$1 = new MGImages$requestImageCrop$1(context);
int themedColor = ColorCompat.getThemedColor(context, 2130969007);
int color = ColorCompat.getColor(context, 2131100428);
int themedColor2 = ColorCompat.getThemedColor(context, 2130969011);
int themedColor3 = ColorCompat.getThemedColor(context, 2130969007);
m.checkNotNullParameter(provider, "provider");
m.checkNotNullParameter(uri, "uri");
m.checkNotNullParameter(mGImages$requestImageCrop$1, "onError");
try {
Bundle bundle = new Bundle();
bundle.putInt("com.yalantis.ucrop.ToolbarColor", themedColor);
bundle.putInt("com.yalantis.ucrop.StatusBarColor", themedColor2);
bundle.putInt("com.yalantis.ucrop.UcropToolbarWidgetColor", color);
bundle.putInt("com.yalantis.ucrop.UcropColorControlsWidgetActive", themedColor3);
bundle.putInt("com.yalantis.ucrop.CropFrameColor", themedColor3);
bundle.putInt("com.yalantis.ucrop.CropGridColor", themedColor3);
if (bundle.getString("com.yalantis.ucrop.CompressionFormatName") == null) {
bundle.putString("com.yalantis.ucrop.CompressionFormatName", Bitmap.CompressFormat.PNG.name());
}
Context requireContext = provider.requireContext();
Uri fromFile = Uri.fromFile(provider.getImageFile());
m.checkNotNullExpressionValue(fromFile, "Uri.fromFile(provider.getImageFile())");
c.q.a.a aVar = new c.q.a.a(uri, fromFile);
m.checkNotNullExpressionValue(aVar, "UCrop.of(uri, destUri)");
aVar.b.putAll(bundle);
int i2 = i < 10 ? 10 : i;
if (i < 10) {
i = 10;
}
aVar.b.putInt("com.yalantis.ucrop.MaxSizeX", i2);
aVar.b.putInt("com.yalantis.ucrop.MaxSizeY", i);
aVar.b.putFloat("com.yalantis.ucrop.AspectRatioX", f);
aVar.b.putFloat("com.yalantis.ucrop.AspectRatioY", f2);
aVar.a.setClass(requireContext, UCropActivity.class);
aVar.a.putExtras(aVar.b);
Intent intent = aVar.a;
m.checkNotNullExpressionValue(intent, "uCrop.getIntent(context)");
List<ResolveInfo> queryIntentActivities = requireContext.getPackageManager().queryIntentActivities(intent, 65536);
m.checkNotNullExpressionValue(queryIntentActivities, "context\n .package…nager.MATCH_DEFAULT_ONLY)");
for (ResolveInfo resolveInfo : queryIntentActivities) {
requireContext.grantUriPermission(resolveInfo.activityInfo.packageName, fromFile, 3);
}
try {
provider.startActivityForResult(intent, RequestType.CROP.getCode$media_picker_release());
} catch (ActivityNotFoundException unused) {
throw new IOException("No application available for media picker.");
}
} catch (IOException e) {
mGImages$requestImageCrop$1.invoke((MGImages$requestImageCrop$1) e);
}
}
public static /* synthetic */ void requestImageCrop$default(Context context, MediaPicker.Provider provider, Uri uri, float f, float f2, int i, int i2, Object obj) {
requestImageCrop(context, provider, uri, (i2 & 8) != 0 ? 1.0f : f, (i2 & 16) != 0 ? 1.0f : f2, (i2 & 32) != 0 ? 1024 : i);
}
public static final void setImage(ImageView imageView, String str) {
setImage$default(imageView, str, 0, 0, false, null, null, 124, null);
}
public static final void setImage(ImageView imageView, String str, int i) {
setImage$default(imageView, str, i, 0, false, null, null, 120, null);
}
public static final void setImage(ImageView imageView, String str, int i, int i2) {
setImage$default(imageView, str, i, i2, false, null, null, 112, null);
}
public static final void setImage(ImageView imageView, String str, int i, int i2, boolean z2) {
setImage$default(imageView, str, i, i2, z2, null, null, 96, null);
}
public static final void setImage(ImageView imageView, String str, int i, int i2, boolean z2, Function1<? super ImageRequestBuilder, Unit> function1) {
setImage$default(imageView, str, i, i2, z2, function1, null, 64, null);
}
public static final void setImage(ImageView imageView, String str, int i, int i2, boolean z2, Function1<? super ImageRequestBuilder, Unit> function1, ChangeDetector changeDetector) {
m.checkNotNullParameter(imageView, "view");
m.checkNotNullParameter(changeDetector, "changeDetector");
setImage$default(imageView, (str == null || t.isBlank(str)) ? n.emptyList() : d0.t.m.listOf(str), i, i2, z2, function1, changeDetector, null, 128, null);
}
public static final void setImage(ImageView imageView, List<String> list) {
setImage$default(imageView, list, 0, 0, false, null, null, null, 252, null);
}
public static final void setImage(ImageView imageView, List<String> list, int i) {
setImage$default(imageView, list, i, 0, false, null, null, null, 248, null);
}
public static final void setImage(ImageView imageView, List<String> list, int i, int i2) {
setImage$default(imageView, list, i, i2, false, null, null, null, 240, null);
}
public static final void setImage(ImageView imageView, List<String> list, int i, int i2, boolean z2) {
setImage$default(imageView, list, i, i2, z2, null, null, null, 224, null);
}
public static final void setImage(ImageView imageView, List<String> list, int i, int i2, boolean z2, Function1<? super ImageRequestBuilder, Unit> function1) {
setImage$default(imageView, list, i, i2, z2, function1, null, null, 192, null);
}
public static final void setImage(ImageView imageView, List<String> list, int i, int i2, boolean z2, Function1<? super ImageRequestBuilder, Unit> function1, ChangeDetector changeDetector) {
setImage$default(imageView, list, i, i2, z2, function1, changeDetector, null, 128, null);
}
/* JADX WARNING: Unknown variable types count: 1 */
public static final void setImage(ImageView imageView, List<String> list, int i, int i2, boolean z2, Function1<? super ImageRequestBuilder, Unit> function1, ChangeDetector changeDetector, ControllerListener<ImageInfo> controllerListener) {
m.checkNotNullParameter(imageView, "view");
m.checkNotNullParameter(list, "urls");
m.checkNotNullParameter(changeDetector, "changeDetector");
if (changeDetector.track(imageView, list)) {
if (list.isEmpty()) {
INSTANCE.getDrawee(imageView).setController(null);
return;
}
ArrayList arrayList = new ArrayList(d0.t.o.collectionSizeOrDefault(list, 10));
for (String str : list) {
ImageRequestBuilder imageRequest = getImageRequest(str, i, i2, z2);
if (function1 != null) {
function1.invoke(imageRequest);
}
arrayList.add(imageRequest.a());
}
boolean z3 = false;
Object[] array = arrayList.toArray(new ImageRequest[0]);
Objects.requireNonNull(array, "null cannot be cast to non-null type kotlin.Array<T>");
?? r4 = (ImageRequest[]) array;
d a = c.f.g.a.a.b.a();
MGImages mGImages = INSTANCE;
a.n = mGImages.getDrawee(imageView).getController();
a.k = controllerListener;
a.m = true;
if (r4.length > 0) {
z3 = true;
}
AnimatableValueParser.l(z3, "No requests specified!");
a.i = r4;
a.j = true;
mGImages.getDrawee(imageView).setController(a.a());
}
}
public static /* synthetic */ void setImage$default(ImageView imageView, String str, int i, int i2, boolean z2, Function1 function1, ChangeDetector changeDetector, int i3, Object obj) {
boolean z3 = false;
int i4 = (i3 & 4) != 0 ? 0 : i;
int i5 = (i3 & 8) != 0 ? 0 : i2;
if ((i3 & 16) == 0) {
z3 = z2;
}
setImage(imageView, str, i4, i5, z3, (i3 & 32) != 0 ? null : function1, (i3 & 64) != 0 ? AlwaysUpdateChangeDetector.INSTANCE : changeDetector);
}
public static /* synthetic */ void setImage$default(ImageView imageView, List list, int i, int i2, boolean z2, Function1 function1, ChangeDetector changeDetector, ControllerListener controllerListener, int i3, Object obj) {
boolean z3 = false;
int i4 = (i3 & 4) != 0 ? 0 : i;
int i5 = (i3 & 8) != 0 ? 0 : i2;
if ((i3 & 16) == 0) {
z3 = z2;
}
ControllerListener controllerListener2 = null;
Function1 function12 = (i3 & 32) != 0 ? null : function1;
ChangeDetector changeDetector2 = (i3 & 64) != 0 ? AlwaysUpdateChangeDetector.INSTANCE : changeDetector;
if ((i3 & 128) == 0) {
controllerListener2 = controllerListener;
}
setImage(imageView, list, i4, i5, z3, function12, changeDetector2, controllerListener2);
}
public static /* synthetic */ void setImage$default(MGImages mGImages, ImageView imageView, int i, ChangeDetector changeDetector, int i2, Object obj) {
if ((i2 & 4) != 0) {
changeDetector = AlwaysUpdateChangeDetector.INSTANCE;
}
mGImages.setImage(imageView, i, changeDetector);
}
public static /* synthetic */ void setImage$default(MGImages mGImages, ImageView imageView, Drawable drawable, ChangeDetector changeDetector, int i, Object obj) {
if ((i & 4) != 0) {
changeDetector = AlwaysUpdateChangeDetector.INSTANCE;
}
mGImages.setImage(imageView, drawable, changeDetector);
}
public static /* synthetic */ void setImage$default(MGImages mGImages, ImageView imageView, Uri uri, ChangeDetector changeDetector, int i, Object obj) {
if ((i & 4) != 0) {
changeDetector = AlwaysUpdateChangeDetector.INSTANCE;
}
mGImages.setImage(imageView, uri, changeDetector);
}
public static final void setRoundingParams(ImageView imageView, float f, boolean z2, @ColorInt Integer num, @ColorInt Integer num2, Float f2) {
c cVar;
m.checkNotNullParameter(imageView, "view");
boolean z3 = true;
if (z2) {
cVar = new c();
cVar.b = true;
cVar.a = 1;
} else {
c cVar2 = new c();
if (cVar2.f397c == null) {
cVar2.f397c = new float[8];
}
Arrays.fill(cVar2.f397c, f);
cVar = cVar2;
}
if (Build.VERSION.SDK_INT == 28) {
m.checkNotNullExpressionValue(cVar, "roundingParams");
cVar.h = true;
}
if (num != null) {
num.intValue();
m.checkNotNullExpressionValue(cVar, "roundingParams");
cVar.a(num.intValue());
}
if (num2 != null) {
num2.intValue();
m.checkNotNullExpressionValue(cVar, "roundingParams");
cVar.f = num2.intValue();
}
if (f2 != null) {
f2.floatValue();
m.checkNotNullExpressionValue(cVar, "roundingParams");
float floatValue = f2.floatValue();
if (floatValue < 0.0f) {
z3 = false;
}
AnimatableValueParser.l(z3, "the border width cannot be < 0");
cVar.e = floatValue;
}
INSTANCE.getHierarchy(imageView).r(cVar);
}
public static /* synthetic */ void setRoundingParams$default(ImageView imageView, float f, boolean z2, Integer num, Integer num2, Float f2, int i, Object obj) {
setRoundingParams(imageView, f, z2, (i & 8) != 0 ? null : num, (i & 16) != 0 ? null : num2, (i & 32) != 0 ? null : f2);
}
public static final void setScaleType(ImageView imageView, ScalingUtils$ScaleType scalingUtils$ScaleType) {
m.checkNotNullParameter(imageView, "view");
m.checkNotNullParameter(scalingUtils$ScaleType, "scaleType");
INSTANCE.getHierarchy(imageView).n(scalingUtils$ScaleType);
}
public final void cancelImageRequests(ImageView imageView) {
m.checkNotNullParameter(imageView, "view");
getDrawee(imageView).setController(null);
}
public final Bitmap centerBitmapInTransparentBitmap(Bitmap bitmap, int i, int i2, int i3, int i4) {
m.checkNotNullParameter(bitmap, "src");
if (i4 <= i2 || i3 <= i) {
StringBuilder N = c.d.b.a.a.N("Cannot fit bitmap of size ", i2, " x ", i, " inside ");
N.append("bitmap of size ");
N.append(i4);
N.append(" x ");
N.append(i3);
throw new IllegalArgumentException(N.toString());
}
Bitmap createBitmap = Bitmap.createBitmap(i4, i3, bitmap.getConfig());
float f = ((float) (i4 - i2)) / 2.0f;
float f2 = ((float) (i3 - i)) / 2.0f;
new Canvas(createBitmap).drawBitmap(bitmap, (Rect) null, new RectF(f, f2, ((float) i2) + f, ((float) i) + f2), (Paint) null);
m.checkNotNullExpressionValue(createBitmap, "dest");
return createBitmap;
}
public final void setImage(ImageView imageView, @DrawableRes int i, ChangeDetector changeDetector) {
m.checkNotNullParameter(imageView, "view");
m.checkNotNullParameter(changeDetector, "changeDetector");
if (changeDetector.track(imageView, Integer.valueOf(i))) {
GenericDraweeHierarchy hierarchy = getHierarchy(imageView);
hierarchy.o(1, hierarchy.b.getDrawable(i));
}
}
public final void setImage(ImageView imageView, Drawable drawable, ChangeDetector changeDetector) {
m.checkNotNullParameter(imageView, "view");
m.checkNotNullParameter(drawable, "drawable");
m.checkNotNullParameter(changeDetector, "changeDetector");
if (changeDetector.track(imageView, drawable)) {
getHierarchy(imageView).o(1, drawable);
}
}
public final void setImage(ImageView imageView, Uri uri, ChangeDetector changeDetector) {
Integer intOrNull;
m.checkNotNullParameter(imageView, "view");
m.checkNotNullParameter(uri, "uri");
m.checkNotNullParameter(changeDetector, "changeDetector");
if (m.areEqual(uri.getScheme(), "android.resource")) {
String host = uri.getHost();
Context context = imageView.getContext();
m.checkNotNullExpressionValue(context, "view.context");
if (m.areEqual(host, context.getPackageName())) {
String lastPathSegment = uri.getLastPathSegment();
setImage(imageView, (lastPathSegment == null || (intOrNull = s.toIntOrNull(lastPathSegment)) == null) ? 0 : intOrNull.intValue(), changeDetector);
return;
}
}
setImage$default(imageView, uri.toString(), 0, 0, false, null, changeDetector, 60, null);
}
}