Kate Mobile v109.1版本的 MD5 值为:fcd76ded5f363ecbfac46035a4ed2a23
以下内容为反编译后的 StickerAdapter.java 源代码,内容仅作参考
package com.perm.kate.smile;
import android.content.Context;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.FragmentActivity;
import com.airbnb.lottie.LottieComposition;
import com.airbnb.lottie.LottieCompositionFactory;
import com.airbnb.lottie.LottieDrawable;
import com.airbnb.lottie.LottieResult;
import com.perm.kate.AttachmentsHelper;
import com.perm.kate.Helper;
import com.perm.kate.KApplication;
import com.perm.kate.R;
import com.perm.kate.RecentStickers;
import com.perm.kate.StickerHints;
import com.perm.kate.Vmoji;
import com.perm.kate.smile.SmilePagerAdapter;
import com.perm.kate.theme.ThemeColorsHelper;
import com.perm.utils.LeakDetector;
import com.perm.utils.SmileHelper;
import java.lang.ref.WeakReference;
public class StickerAdapter extends BaseAdapter {
final WeakReference activity;
private final View.OnClickListener clickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
Integer num = (Integer) view.getTag();
RecentStickers.add(num.intValue());
if (StickerAdapter.this.listener.get() != null) {
((SmilePagerAdapter.SmileSelectedListener) StickerAdapter.this.listener.get()).stickerSelected(num);
}
}
};
public int[] ids;
final WeakReference listener;
public StickerAdapter(WeakReference weakReference, WeakReference weakReference2, int[] iArr) {
this.listener = weakReference;
this.activity = weakReference2;
this.ids = iArr;
LeakDetector.getInstance().monitorObject(this);
}
public boolean lambda$getView$0(int i, View view) {
showPreview(i);
return true;
}
public static void lambda$showAnimationPreview$1(LottieComposition lottieComposition, ImageView imageView) {
try {
LottieDrawable lottieDrawable = new LottieDrawable();
lottieDrawable.setComposition(lottieComposition);
imageView.setImageDrawable(lottieDrawable);
lottieDrawable.setRepeatCount(3);
lottieDrawable.playAnimation();
} catch (Throwable th) {
th.printStackTrace();
Helper.reportError(th);
}
}
public void lambda$showAnimationPreview$2(int i, final ImageView imageView) {
try {
StringBuilder sb = new StringBuilder();
sb.append("https://vk.com/sticker/3-");
sb.append(i);
sb.append(!ThemeColorsHelper.isLightTheme() ? "b" : "");
sb.append(".json");
String sb2 = sb.toString();
String serverResponse = AttachmentsHelper.getServerResponse(sb2);
if (TextUtils.isEmpty(serverResponse)) {
return;
}
LottieResult fromJsonStringSync = LottieCompositionFactory.fromJsonStringSync(serverResponse, sb2);
Throwable exception = fromJsonStringSync.getException();
if (exception != null) {
Helper.reportError(exception, sb2);
exception.printStackTrace();
}
final LottieComposition lottieComposition = (LottieComposition) fromJsonStringSync.getValue();
if (lottieComposition == null) {
return;
}
((FragmentActivity) this.activity.get()).runOnUiThread(new Runnable() {
@Override
public final void run() {
StickerAdapter.lambda$showAnimationPreview$1(LottieComposition.this, imageView);
}
});
} catch (Throwable th) {
th.printStackTrace();
Helper.reportError(th);
}
}
private void showAnimationPreview(final int i, final ImageView imageView) {
new Thread(new Runnable() {
@Override
public final void run() {
StickerAdapter.this.lambda$showAnimationPreview$2(i, imageView);
}
}).start();
}
private void showPreview(int i) {
int dip = Helper.getDIP(128.0d);
int i2 = dip > 64 ? 128 : 64;
if (dip > 128) {
i2 = 256;
}
StringBuilder sb = new StringBuilder();
sb.append("https://vk.com/sticker/1-");
sb.append(i);
sb.append("-");
sb.append(i2);
sb.append(!ThemeColorsHelper.isLightTheme() ? "b" : "");
String sb2 = sb.toString();
String str = Vmoji.get(i);
String str2 = str != null ? str : sb2;
View inflate = LayoutInflater.from((Context) this.activity.get()).inflate(R.layout.sticker_preview, (ViewGroup) null, false);
ImageView imageView = (ImageView) inflate.findViewById(R.id.img_photo_photo);
KApplication.getImageLoader().DisplayImage(str2, imageView, true, dip, AttachmentsHelper.getResIdForNoPhoto4(), false);
new AlertDialog.Builder((Context) this.activity.get()).setView(inflate).create().show();
showAnimationPreview(i, imageView);
}
@Override
public int getCount() {
return this.ids.length;
}
@Override
public Object getItem(int i) {
return Integer.valueOf(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
int i2;
if (view == null) {
view = ((LayoutInflater) ((FragmentActivity) this.activity.get()).getSystemService("layout_inflater")).inflate(R.layout.sticker_item, viewGroup, false);
}
view.setOnClickListener(this.clickListener);
ImageView imageView = (ImageView) view.findViewById(R.id.img_photo_photo);
final int i3 = this.ids[i];
int dip = Helper.getDIP(64.0d);
int i4 = dip > 64 ? 128 : 64;
if (dip > 128) {
i4 = 256;
}
StringBuilder sb = new StringBuilder();
sb.append("https://vk.com/sticker/1-");
sb.append(i3);
sb.append("-");
sb.append(i4);
sb.append(!ThemeColorsHelper.isLightTheme() ? "b" : "");
String sb2 = sb.toString();
String str = Vmoji.get(i3);
if (str != null) {
i2 = Helper.getDIP(128.0d);
sb2 = str;
} else {
i2 = dip;
}
KApplication.getImageLoader().DisplayImage(sb2, imageView, true, i2, AttachmentsHelper.getResIdForNoPhoto4(), false);
view.setTag(Integer.valueOf(i3));
view.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public final boolean onLongClick(View view2) {
boolean lambda$getView$0;
lambda$getView$0 = StickerAdapter.this.lambda$getView$0(i3, view2);
return lambda$getView$0;
}
});
if (SmileHelper.isBlind()) {
imageView.setContentDescription(StickerHints.getStickerDescription(i3));
}
return view;
}
}