Picsart v24.6版本的 MD5 值为:21a61631d94e54da68d2ad9268b8b9d9
以下内容为反编译后的 b.java 源代码,内容仅作参考
package com.picsart.create.selection.factory;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Point;
import android.graphics.PointF;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
import android.text.TextUtils;
import com.google.android.gms.tasks.Continuation;
import com.google.android.gms.tasks.Task;
import com.google.android.gms.tasks.TaskCompletionSource;
import com.google.android.gms.tasks.Tasks;
import com.picsart.create.selection.ItemProvider;
import com.picsart.create.selection.domain.EffectModel;
import com.picsart.create.selection.factory.CanvasEffectLoader;
import com.picsart.editor.base.EditorCache;
import com.picsart.editor.base.ToolType;
import com.picsart.picore.effects.FXBuilder;
import com.picsart.picore.effects.FXBuilderFactory;
import com.picsart.picore.effects.FXEffect;
import com.picsart.picore.effects.parameters.FXParameter;
import com.picsart.studio.editor.core.CacheableBitmap;
import com.picsart.studio.editor.tool.remove.history.ObjectRemovalHistoryController;
import com.socialin.android.photo.effects.EffectsViewModel;
import com.socialin.android.photo.effectsnew.model.EffectItem;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.Ref$ObjectRef;
import myobfuscated.je0.h0;
import myobfuscated.o31.a;
import myobfuscated.t5.o;
import myobfuscated.v2.t;
import org.jetbrains.annotations.NotNull;
public final class b implements Continuation {
public final int a;
public final Object b;
public final Object c;
public final Object d;
public b(CanvasEffectLoader canvasEffectLoader, myobfuscated.le0.f fVar, EffectItem effectItem) {
this.a = 1;
this.c = canvasEffectLoader;
this.b = fVar;
this.d = effectItem;
}
public b(InPaintingEffectLoader inPaintingEffectLoader, myobfuscated.le0.f fVar, EffectItem effectItem) {
this.a = 3;
this.c = inPaintingEffectLoader;
this.d = effectItem;
this.b = fVar;
}
public b(Object obj, int i, Object obj2, Object obj3) {
this.a = i;
this.b = obj;
this.c = obj2;
this.d = obj3;
}
@Override
public final Object then(Task task) {
Bitmap copy;
Rect rect;
Task a;
Task task2;
myobfuscated.h4.k kVar;
Task forCanceled;
int i = this.a;
Object obj = this.d;
Object obj2 = this.c;
Object obj3 = this.b;
switch (i) {
case 0:
myobfuscated.le0.f fVar = (myobfuscated.le0.f) obj3;
BGBlurEffectLoader this$0 = (BGBlurEffectLoader) obj2;
FXEffect fXEffect = (FXEffect) obj;
Intrinsics.checkNotNullParameter(this$0, "this$0");
Intrinsics.checkNotNullParameter(task, "task");
if (!task.isSuccessful()) {
if (fVar != null) {
fVar.c(task.getException());
return null;
}
return null;
}
Bitmap bitmap = (Bitmap) task.getResult();
this$0.q = bitmap;
Paint paint = new Paint();
if (bitmap != null) {
Canvas canvas = new Canvas(bitmap);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
canvas.drawRect(0.0f, 0.0f, 15.0f, 15.0f, paint);
canvas.drawRect(bitmap.getWidth() - 15.0f, 0.0f, bitmap.getWidth(), 15.0f, paint);
canvas.drawRect(0.0f, bitmap.getHeight() - 15.0f, 15.0f, bitmap.getHeight(), paint);
canvas.drawRect(bitmap.getWidth() - 15.0f, bitmap.getHeight() - 15.0f, bitmap.getWidth(), bitmap.getHeight(), paint);
}
RectF rectF = new RectF();
if (bitmap != null) {
myobfuscated.yn1.a.h(bitmap, new Rect(), 0, 0);
rectF.left = rect.left / bitmap.getWidth();
rectF.top = rect.top / bitmap.getHeight();
rectF.right = rect.right / bitmap.getWidth();
rectF.bottom = rect.bottom / bitmap.getHeight();
} else {
rectF.set(0.0f, 0.0f, 1.0f, 1.0f);
}
Intrinsics.e(fXEffect);
FXParameter K0 = fXEffect.K0("point");
if (K0 != null) {
float f = 100;
myobfuscated.hh2.a.b(K0, new PointF(new Point((int) (rectF.centerX() * f), (int) (rectF.centerY() * f))));
}
Bitmap bitmap2 = this$0.q;
if (bitmap2 != null) {
Bitmap g = this$0.g();
float[] fArr = new float[2];
fArr[0] = 1.0f;
float height = 512.0f / g.getHeight();
int i2 = myobfuscated.n81.c.a;
float f2 = new float[]{512.0f / g.getWidth(), height}[0];
if (height >= f2) {
height = f2;
}
fArr[1] = height;
float f3 = fArr[0];
if (height >= f3) {
height = f3;
}
this$0.q = myobfuscated.yo1.d.c(myobfuscated.zk2.c.b(g.getWidth() * height), myobfuscated.zk2.c.b(height * g.getHeight()), bitmap2);
}
Bitmap bitmap3 = this$0.q;
int width = bitmap3 != null ? bitmap3.getWidth() : 1;
int height2 = bitmap3 != null ? bitmap3.getHeight() : 1;
Bitmap.Config config = Bitmap.Config.ARGB_8888;
Bitmap createBitmap = Bitmap.createBitmap(width, height2, config);
copy = bitmap3 != null ? bitmap3.copy(config, true) : null;
createBitmap.eraseColor(-1);
if (copy != null) {
new Canvas(copy).drawColor(-16777216, PorterDuff.Mode.SRC_IN);
}
if (copy != null) {
new Canvas(createBitmap).drawBitmap(copy, 0.0f, 0.0f, new Paint());
}
this$0.m().E0(new t(24, createBitmap, this$0));
return Unit.a;
case 1:
final CanvasEffectLoader this$02 = (CanvasEffectLoader) obj2;
myobfuscated.le0.f fVar2 = (myobfuscated.le0.f) obj3;
final EffectItem effectItem = (EffectItem) obj;
Intrinsics.checkNotNullParameter(this$02, "this$0");
Intrinsics.checkNotNullParameter(effectItem, "$effectItem");
Intrinsics.checkNotNullParameter(task, "it");
if (!task.isSuccessful()) {
Exception exc = new Exception("Fail to load effect");
this$02.getClass();
EffectLoader.f(fVar2, exc);
return null;
}
final FXBuilder a2 = FXBuilderFactory.a.a(effectItem.getEffectId());
ArrayList arrayList = new ArrayList();
final ArrayList arrayList2 = new ArrayList();
String effectId = effectItem.getEffectId();
int i3 = CanvasEffectLoader.y;
this$02.getClass();
TaskCompletionSource taskCompletionSource = new TaskCompletionSource();
this$02.n = new TaskCompletionSource<>();
if (this$02.s.containsKey(effectId)) {
taskCompletionSource.setResult(null);
} else if (new File((String) this$02.q.getValue()).exists()) {
this$02.t(effectId);
} else {
if (this$02.o == null) {
final TaskCompletionSource taskCompletionSource2 = new TaskCompletionSource();
this$02.p.a(this$02.g(), new Function1<myobfuscated.o31.a<? extends List<? extends myobfuscated.ci0.c>>, Unit>() {
{
super(1);
}
@Override
public Unit invoke(myobfuscated.o31.a<? extends List<? extends myobfuscated.ci0.c>> aVar) {
invoke2((myobfuscated.o31.a<? extends List<myobfuscated.ci0.c>>) aVar);
return Unit.a;
}
public final void invoke2(@NotNull myobfuscated.o31.a<? extends List<myobfuscated.ci0.c>> actionResult) {
Unit unit;
Intrinsics.checkNotNullParameter(actionResult, "actionResult");
if (!(actionResult instanceof a.b)) {
if (actionResult instanceof a.C1354a) {
taskCompletionSource2.setException(((a.C1354a) actionResult).a);
return;
}
return;
}
myobfuscated.ci0.c cVar = (myobfuscated.ci0.c) kotlin.collections.c.Q((List) ((a.b) actionResult).a);
if (cVar != null) {
taskCompletionSource2.setResult(cVar);
unit = Unit.a;
} else {
unit = null;
}
if (unit == null) {
taskCompletionSource2.setException(new IllegalStateException("Face not found"));
}
}
});
this$02.o = taskCompletionSource2.getTask().continueWithTask(myobfuscated.td0.a.c(CanvasEffectLoader.class.getSimpleName()), new myobfuscated.d8.a(this$02, 1)).continueWithTask(new myobfuscated.cs1.c(this$02, 1));
}
Task<Object> task3 = this$02.o;
if (task3 != null) {
task3.continueWith(myobfuscated.td0.a.c(CanvasEffectLoader.class.getSimpleName()), new myobfuscated.d4.c(2, this$02, effectId));
}
}
this$02.n.getTask().continueWith(myobfuscated.td0.a.c(CanvasEffectLoader.class.getSimpleName()), new myobfuscated.sc0.g(this$02, effectId, taskCompletionSource));
Task task4 = taskCompletionSource.getTask();
Intrinsics.checkNotNullExpressionValue(task4, "getTask(...)");
arrayList.add(task4);
arrayList.addAll(this$02.o(effectItem, a2.J0(), arrayList2));
return Tasks.whenAll(arrayList).continueWith(myobfuscated.td0.a.e(DefaultEffectLoader.class.getSimpleName()), new Continuation() {
@Override
public final Object then(Task task5) {
FXBuilder builder = a2;
List resources = arrayList2;
EffectItem effectItem2 = EffectItem.this;
Intrinsics.checkNotNullParameter(effectItem2, "$effectItem");
CanvasEffectLoader this$03 = this$02;
Intrinsics.checkNotNullParameter(this$03, "this$0");
Intrinsics.checkNotNullParameter(builder, "$builder");
Intrinsics.checkNotNullParameter(resources, "$resources");
Intrinsics.checkNotNullParameter(task5, "task");
EffectModel effectModel = new EffectModel();
effectModel.h = effectItem2.getEffectId();
effectModel.i = effectItem2.getLicense();
effectModel.j = effectItem2;
if (task5.isSuccessful()) {
CacheableBitmap cacheableBitmap = this$03.s.get(effectItem2.getEffectId());
if (cacheableBitmap != null) {
Bitmap d = cacheableBitmap.d();
Ref$ObjectRef ref$ObjectRef = new Ref$ObjectRef();
this$03.m().E0(new f(builder, new LinkedHashMap(), this$03, d, ref$ObjectRef, resources, 0));
effectModel.g = (FXEffect) ref$ObjectRef.element;
return effectModel;
}
return effectModel;
}
return null;
}
}).continueWith(myobfuscated.td0.a.a, new e(fVar2, 0, this$02, effectItem)).addOnFailureListener(new myobfuscated.je0.h(0));
case 2:
EffectLoader this$03 = (EffectLoader) obj3;
String jsonName = (String) obj2;
String effectId2 = (String) obj;
Exception exc2 = EffectLoader.k;
Intrinsics.checkNotNullParameter(this$03, "this$0");
Intrinsics.checkNotNullParameter(jsonName, "$jsonName");
Intrinsics.checkNotNullParameter(effectId2, "$effectId");
Intrinsics.checkNotNullParameter(task, "it");
if (task.getResult() != null) {
Task forResult = Tasks.forResult(null);
Intrinsics.e(forResult);
return forResult;
}
this$03.getClass();
myobfuscated.xl1.c cVar = myobfuscated.xl1.c.a;
String D = myobfuscated.sr.e.D(jsonName);
StringBuilder sb = new StringBuilder("https://effres.");
defpackage.j.z(sb, this$03.h, "/", "", "effects/effects/");
String m = defpackage.e.m(sb, D, ".json");
if (TextUtils.isEmpty(m)) {
task2 = Tasks.forException(new Exception("Fail to load effect json"));
Intrinsics.checkNotNullExpressionValue(task2, "forException(...)");
} else {
HashMap hashMap = this$03.b;
if (!hashMap.containsKey(m) || (a = (Task) hashMap.get(m)) == null || (a.isComplete() && !a.isSuccessful())) {
a = h0.a(this$03.a, m, EffectLoader.l(m));
Intrinsics.checkNotNullExpressionValue(a, "downloadResource(...)");
hashMap.put(m, a);
}
task2 = a;
}
Task continueWithTask = task2.continueWithTask(myobfuscated.td0.a.e(EffectLoader.l), new myobfuscated.l20.d(1, this$03, effectId2));
Intrinsics.e(continueWithTask);
return continueWithTask;
case 3:
InPaintingEffectLoader this$04 = (InPaintingEffectLoader) obj2;
EffectItem effectItem2 = (EffectItem) obj;
myobfuscated.le0.f fVar3 = (myobfuscated.le0.f) obj3;
Intrinsics.checkNotNullParameter(this$04, "this$0");
Intrinsics.checkNotNullParameter(effectItem2, "$effectItem");
Intrinsics.checkNotNullParameter(task, "it");
CacheableBitmap cacheableBitmap = this$04.t.get(effectItem2.getEffectId());
if (cacheableBitmap != null) {
this$04.v(effectItem2, cacheableBitmap.d(), fVar3, true);
return Unit.a;
}
EffectsViewModel effectsViewModel = this$04.u;
if (effectsViewModel != null && (kVar = effectsViewModel.y) != null) {
myobfuscated.ee0.b.c(kVar, new InPaintingEffectLoader$executeInPaintingEffect$1(this$04, effectItem2, fVar3, null));
}
return Unit.a;
case 4:
MagicEffectLoader this$05 = (MagicEffectLoader) obj3;
ItemProvider effectProvider = (ItemProvider) obj2;
EffectItem effectItem3 = (EffectItem) obj;
Intrinsics.checkNotNullParameter(this$05, "this$0");
Intrinsics.checkNotNullParameter(effectProvider, "$effectProvider");
Intrinsics.checkNotNullParameter(effectItem3, "$effectItem");
Intrinsics.checkNotNullParameter(task, "task");
if (!task.isSuccessful() || task.isCanceled()) {
if (task.isSuccessful()) {
return Tasks.forCanceled();
}
Exception exception = task.getException();
if (exception != null) {
return Tasks.forException(exception);
}
return null;
}
Bitmap bitmap4 = (Bitmap) task.getResult();
if (bitmap4 != null) {
copy = Intrinsics.c(this$05.w, effectProvider.a) ? bitmap4 : null;
if (copy != null) {
this$05.t.put(effectItem3.getEffectId(), new CacheableBitmap(copy, new File(EditorCache.i(ToolType.EFFECTS), effectItem3.getEffectId()), true));
forCanceled = Tasks.call(myobfuscated.td0.a.c(MagicEffectLoader.class.getSimpleName()), new o(effectItem3, 1, this$05, copy));
Intrinsics.checkNotNullExpressionValue(forCanceled, "call(...)");
break;
}
}
forCanceled = Tasks.forCanceled();
Intrinsics.checkNotNullExpressionValue(forCanceled, "forCanceled(...)");
return forCanceled;
default:
ObjectRemovalHistoryController this$06 = (ObjectRemovalHistoryController) obj3;
Bitmap mask = (Bitmap) obj2;
Bitmap image = (Bitmap) obj;
Intrinsics.checkNotNullParameter(this$06, "this$0");
Intrinsics.checkNotNullParameter(mask, "$mask");
Intrinsics.checkNotNullParameter(image, "$image");
Intrinsics.checkNotNullParameter(task, "it");
Object result = task.getResult();
Intrinsics.e(result);
this$06.c(((ObjectRemovalHistoryController.CombinedRegionData) result).a, mask);
Object result2 = task.getResult();
Intrinsics.e(result2);
this$06.c(((ObjectRemovalHistoryController.CombinedRegionData) result2).b, image);
return Unit.a;
}
}
}