导航菜单

页面标题

页面副标题

Credmex v3.12.2 - PicturePreviewActivity.java 源代码

正在查看: Credmex v3.12.2 应用的 PicturePreviewActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.credmex.activity;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ValueAnimator;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
import butterknife.BindView;
import com.credmex.commom.CommonActivity;
import com.veda.android.imageloaderlib.IImageLoader;
import com.veda.android.imageloaderlib.Imager;
import com.veda.supertoolkit.customtools.CollectionUtils;
import com.veda.supertoolkit.lifecycle.LifecycleEvent;
import com.veda.supertoolkit.widgets.BaseUtils;
import io.reactivex.disposables.Disposable;
import java.util.LinkedList;
import java.util.List;

public class PicturePreviewActivity extends CommonActivity {
    private static String F = "info";
    private PreviewPictureInfo D;
    private boolean E;

    @BindView(2131362685)
    LinearLayout llContainer;

    @BindView(2131363313)
    ViewPager vpPicture;

    private static class PictureAdapter extends PagerAdapter {
        private List<ImageView> a = new LinkedList();
        private Context b;
        private List<String> c;

        public PictureAdapter(Context context, List<String> list) {
            this.b = context;
            this.c = list;
        }

        public void destroyItem(@NonNull ViewGroup viewGroup, int i2, @NonNull Object obj) {
            ImageView imageView = (ImageView) obj;
            viewGroup.removeView(imageView);
            this.a.add(imageView);
        }

        public int getCount() {
            return this.c.size();
        }

        @NonNull
        public Object instantiateItem(@NonNull ViewGroup viewGroup, int i2) {
            ImageView remove = !this.a.isEmpty() ? this.a.remove(0) : new ImageView(this.b);
            remove.setScaleType(ImageView.ScaleType.FIT_CENTER);
            Imager.a().a(this.b, this.c.get(i2), remove);
            viewGroup.addView(remove);
            return remove;
        }

        public boolean isViewFromObject(@NonNull View view, @NonNull Object obj) {
            return view == obj;
        }
    }

    public static class PreviewPictureInfo implements Parcelable {
        public static final Parcelable.Creator<PreviewPictureInfo> CREATOR = new Parcelable.Creator<PreviewPictureInfo>() {
            @Override
            public PreviewPictureInfo createFromParcel(Parcel parcel) {
                return new PreviewPictureInfo(parcel);
            }

            @Override
            public PreviewPictureInfo[] newArray(int i2) {
                return new PreviewPictureInfo[i2];
            }
        };
        public List<String> a;
        public int b;
        public int c;
        public int d;
        public int e;
        public int f;

        public PreviewPictureInfo() {
        }

        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(Parcel parcel, int i2) {
            parcel.writeStringList(this.a);
            parcel.writeInt(this.b);
            parcel.writeInt(this.c);
            parcel.writeInt(this.d);
            parcel.writeInt(this.e);
            parcel.writeInt(this.f);
        }

        protected PreviewPictureInfo(Parcel parcel) {
            this.a = parcel.createStringArrayList();
            this.b = parcel.readInt();
            this.c = parcel.readInt();
            this.d = parcel.readInt();
            this.e = parcel.readInt();
            this.f = parcel.readInt();
        }
    }

    private void d0() {
        this.llContainer.setAlpha(0.0f);
        final ImageView imageView = new ImageView(this);
        imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
        IImageLoader a = Imager.a();
        PreviewPictureInfo previewPictureInfo = this.D;
        a.b(this, previewPictureInfo.a.get(previewPictureInfo.b), imageView);
        PreviewPictureInfo previewPictureInfo2 = this.D;
        final FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(previewPictureInfo2.e, previewPictureInfo2.f);
        PreviewPictureInfo previewPictureInfo3 = this.D;
        layoutParams.leftMargin = previewPictureInfo3.c;
        layoutParams.topMargin = previewPictureInfo3.d;
        final FrameLayout frameLayout = (FrameLayout) getWindow().getDecorView();
        frameLayout.addView(imageView, layoutParams);
        this.vpPicture.setAlpha(0.0f);
        ValueAnimator ofFloat = ValueAnimator.ofFloat(0.0f, 1.0f);
        ofFloat.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            int[] a = new int[2];
            int b = 0;
            int c = 0;

            @Override
            public void onAnimationUpdate(ValueAnimator valueAnimator) {
                float floatValue = ((Float) valueAnimator.getAnimatedValue()).floatValue();
                PicturePreviewActivity.this.llContainer.setAlpha(floatValue);
                if (this.b == 0 || this.c == 0) {
                    PicturePreviewActivity.this.vpPicture.getLocationOnScreen(this.a);
                    this.b = PicturePreviewActivity.this.vpPicture.getWidth();
                    this.c = PicturePreviewActivity.this.vpPicture.getHeight();
                }
                float f = 1.0f - floatValue;
                layoutParams.width = (int) ((PicturePreviewActivity.this.D.e * f) + (this.b * floatValue));
                layoutParams.height = (int) ((PicturePreviewActivity.this.D.f * f) + (this.c * floatValue));
                layoutParams.leftMargin = (int) ((PicturePreviewActivity.this.D.c * f) + (this.a[0] * floatValue));
                layoutParams.topMargin = (int) ((f * PicturePreviewActivity.this.D.d) + (floatValue * this.a[1]));
                imageView.requestLayout();
            }
        });
        ofFloat.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animator) {
                PicturePreviewActivity.this.vpPicture.setAlpha(1.0f);
                imageView.animate().alpha(0.0f).setListener(new AnimatorListenerAdapter() {
                    @Override
                    public void onAnimationEnd(Animator animator2) {
                        AnonymousClass2 anonymousClass2 = AnonymousClass2.this;
                        frameLayout.removeView(imageView);
                    }
                }).start();
            }
        });
        ofFloat.start();
    }

    private void e0() {
        final int[] iArr = new int[2];
        this.vpPicture.getLocationOnScreen(iArr);
        final int width = this.vpPicture.getWidth();
        final int height = this.vpPicture.getHeight();
        final ImageView imageView = new ImageView(this);
        imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
        Imager.a().b(this, this.D.a.get(this.vpPicture.getCurrentItem()), imageView);
        final FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(width, height);
        layoutParams.leftMargin = iArr[0];
        layoutParams.topMargin = iArr[1];
        final FrameLayout frameLayout = (FrameLayout) getWindow().getDecorView();
        frameLayout.addView(imageView, layoutParams);
        this.vpPicture.setVisibility(4);
        ValueAnimator ofFloat = ValueAnimator.ofFloat(1.0f, 0.0f);
        ofFloat.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public final void onAnimationUpdate(ValueAnimator valueAnimator) {
                PicturePreviewActivity.this.f0(layoutParams, width, height, iArr, imageView, valueAnimator);
            }
        });
        ofFloat.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animator) {
                frameLayout.removeView(imageView);
                PicturePreviewActivity.this.finish();
            }
        });
        ofFloat.start();
    }

    public void f0(FrameLayout.LayoutParams layoutParams, int i2, int i3, int[] iArr, ImageView imageView, ValueAnimator valueAnimator) {
        float floatValue = ((Float) valueAnimator.getAnimatedValue()).floatValue();
        this.llContainer.setAlpha(floatValue);
        float f = 1.0f - floatValue;
        PreviewPictureInfo previewPictureInfo = this.D;
        layoutParams.width = (int) ((previewPictureInfo.e * f) + (i2 * floatValue));
        layoutParams.height = (int) ((previewPictureInfo.f * f) + (i3 * floatValue));
        layoutParams.leftMargin = (int) ((previewPictureInfo.c * f) + (iArr[0] * floatValue));
        layoutParams.topMargin = (int) ((f * previewPictureInfo.d) + (floatValue * iArr[1]));
        imageView.requestLayout();
    }

    public static void startPreviewPicture(Activity activity, PreviewPictureInfo previewPictureInfo) {
        if (CollectionUtils.a(previewPictureInfo.a)) {
            BaseUtils.c(activity, activity.getString(2131821338));
            return;
        }
        Intent intent = new Intent(activity, (Class<?>) PicturePreviewActivity.class);
        intent.putExtra(F, previewPictureInfo);
        activity.startActivity(intent);
        activity.overridePendingTransition(0, 0);
    }

    @Override
    protected void G(@NonNull Bundle bundle) {
        super.G(bundle);
        this.D = (PreviewPictureInfo) bundle.getParcelable(F);
    }

    @Override
    protected void K() {
        this.vpPicture.setAdapter(new PictureAdapter(this, this.D.a));
        this.vpPicture.setCurrentItem(this.D.b);
    }

    @Override
    public int getLayoutID() {
        return 2131558443;
    }

    public void onBackPressed() {
        e0();
    }

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        this.E = true;
    }

    @Override
    protected void onPause() {
        overridePendingTransition(0, 0);
        super.onPause();
    }

    @Override
    protected void onResume() {
        super.onResume();
        if (this.E) {
            this.E = false;
            d0();
        }
    }

    @Override
    @SuppressLint({"CheckResult"})
    public Disposable runOnCreated(@NonNull Runnable runnable) {
        return com.veda.supertoolkit.lifecycle.i.a(this, runnable);
    }

    @Override
    @SuppressLint({"CheckResult"})
    public Disposable runOnDestroy(@NonNull Runnable runnable) {
        return com.veda.supertoolkit.lifecycle.i.b(this, runnable);
    }

    @Override
    @SuppressLint({"CheckResult"})
    public Disposable runOnEvent(@NonNull LifecycleEvent lifecycleEvent, @Nullable Runnable runnable) {
        return com.veda.supertoolkit.lifecycle.i.c(this, lifecycleEvent, runnable);
    }
}