Picsart v24.6版本的 MD5 值为:21a61631d94e54da68d2ad9268b8b9d9
以下内容为反编译后的 x.java 源代码,内容仅作参考
package myobfuscated.l02;
import android.text.SpannableStringBuilder;
import android.text.TextUtils;
import com.picsart.image.ImageItem;
import com.picsart.studio.picsart.profile.model.TouchableSpan;
import java.util.concurrent.Callable;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import myobfuscated.l02.d0;
public final class x implements Callable {
public final d0 a;
public final CharSequence c;
public final d0.b e;
public final boolean f;
public final boolean b = true;
public final ImageItem d = null;
public x(d0 d0Var, CharSequence charSequence, d0.b bVar, boolean z) {
this.a = d0Var;
this.c = charSequence;
this.e = bVar;
this.f = z;
}
@Override
public final Object call() {
SpannableStringBuilder spannableStringBuilder;
String str;
final d0.b bVar = this.e;
this.a.getClass();
boolean z = this.b;
CharSequence charSequence = this.c;
if (z) {
String charSequence2 = charSequence.toString();
ImageItem imageItem = this.d;
if (imageItem != null) {
if (imageItem.y0().m() > 0) {
imageItem = imageItem.y0();
}
str = imageItem.getTitle();
} else {
str = null;
}
spannableStringBuilder = new SpannableStringBuilder(!TextUtils.isEmpty(str) ? charSequence2.replace(str, str.trim()).trim() : charSequence2.trim());
} else {
spannableStringBuilder = new SpannableStringBuilder(charSequence);
}
Matcher matcher = Pattern.compile("#([-_\\w]{1,50})").matcher(spannableStringBuilder);
while (matcher.find()) {
final String group = matcher.group();
final int start = matcher.start();
final int end = matcher.end();
final SpannableStringBuilder spannableStringBuilder2 = spannableStringBuilder;
myobfuscated.td0.a.a.execute(new Runnable() {
@Override
public final void run() {
String str2 = group;
int i = start;
int i2 = end;
SpannableStringBuilder spannableStringBuilder3 = spannableStringBuilder2;
d0.b bVar2 = d0.b.this;
if (bVar2 != null) {
bVar2.a(TouchableSpan.Type.HASHTAG, str2, i, i2, spannableStringBuilder3);
}
}
});
}
Matcher matcher2 = Pattern.compile("@([-_\\w]{1,50})").matcher(spannableStringBuilder);
while (matcher2.find()) {
final String group2 = matcher2.group();
final int start2 = matcher2.start();
final int end2 = matcher2.end();
final SpannableStringBuilder spannableStringBuilder3 = spannableStringBuilder;
myobfuscated.td0.a.a.execute(new Runnable() {
@Override
public final void run() {
String str2 = group2;
int i = start2;
int i2 = end2;
SpannableStringBuilder spannableStringBuilder4 = spannableStringBuilder3;
d0.b bVar2 = d0.b.this;
if (bVar2 != null) {
bVar2.a(TouchableSpan.Type.USERNAME, str2, i, i2, spannableStringBuilder4);
}
}
});
}
Matcher matcher3 = Pattern.compile(this.f ? "(?i)(((https?://(m.|www.|img.)?)|www.)[a-z0-9-=_?&/:.%]*)" : "(?i)(((https?://(m.|www.|img.)?)|www.)(youtube.[a-z]{2,}|youtu.be|picsart.(com|app.link))[a-z0-9-=_?&/:.%]*)").matcher(spannableStringBuilder);
while (matcher3.find()) {
final String replaceFirst = matcher3.group().replaceFirst("(?i)https", "https").replaceFirst("(?i)http", "http").replaceFirst("(?i)www", "www");
final int start3 = matcher3.start();
final int end3 = matcher3.end();
final SpannableStringBuilder spannableStringBuilder4 = spannableStringBuilder;
myobfuscated.td0.a.a.execute(new Runnable() {
@Override
public final void run() {
String str2 = replaceFirst;
int i = start3;
int i2 = end3;
SpannableStringBuilder spannableStringBuilder5 = spannableStringBuilder4;
d0.b bVar2 = d0.b.this;
if (bVar2 != null) {
bVar2.a(TouchableSpan.Type.URL, str2, i, i2, spannableStringBuilder5);
}
}
});
}
myobfuscated.td0.a.a.execute(new myobfuscated.xs1.a(7, bVar, spannableStringBuilder));
return null;
}
}