导航菜单

页面标题

页面副标题

零界绘 v1.0.2 - PreviewActivity.java 源代码

正在查看: 零界绘 v1.0.2 应用的 PreviewActivity.java JAVA 源代码文件

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


package com.donkingliang.imageselector;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;
import com.donkingliang.imageselector.adapter.ImagePagerAdapter;
import com.donkingliang.imageselector.entry.Image;
import com.donkingliang.imageselector.view.MyViewPager;
import java.util.ArrayList;

public class PreviewActivity extends AppCompatActivity {
    public static ArrayList<Image> C;
    public static ArrayList<Image> D;
    public BitmapDrawable A;
    public BitmapDrawable B;
    public MyViewPager n;
    public TextView o;
    public TextView p;
    public FrameLayout q;
    public TextView r;
    public RelativeLayout s;
    public RelativeLayout t;
    public ArrayList<Image> u;
    public ArrayList<Image> v;
    public boolean w = true;
    public boolean x = false;
    public boolean y;
    public int z;

    public class a implements View.OnClickListener {
        public a() {
        }

        @Override
        public void onClick(View view) {
            PreviewActivity.this.finish();
        }
    }

    public class b implements View.OnClickListener {
        public b() {
        }

        @Override
        public void onClick(View view) {
            PreviewActivity.this.x = true;
            PreviewActivity.this.finish();
        }
    }

    public class c implements View.OnClickListener {
        public c() {
        }

        @Override
        public void onClick(View view) {
            PreviewActivity.this.L0();
        }
    }

    public class d implements ImagePagerAdapter.c {
        public d() {
        }

        @Override
        public void a(int i, Image image) {
            if (PreviewActivity.this.w) {
                PreviewActivity.this.N0();
            } else {
                PreviewActivity.this.V0();
            }
        }
    }

    public class e implements ViewPager.OnPageChangeListener {
        public e() {
        }

        public void onPageScrollStateChanged(int i) {
        }

        public void onPageScrolled(int i, float f2, int i2) {
        }

        public void onPageSelected(int i) {
            PreviewActivity.this.o.setText((i + 1) + "/" + PreviewActivity.this.u.size());
            PreviewActivity previewActivity = PreviewActivity.this;
            previewActivity.K0((Image) previewActivity.u.get(i));
        }
    }

    public class f implements Runnable {

        public class a extends AnimatorListenerAdapter {
            public a() {
            }

            @Override
            public void onAnimationStart(Animator animator) {
                super.onAnimationStart(animator);
                if (PreviewActivity.this.s != null) {
                    PreviewActivity.this.s.setVisibility(0);
                }
            }
        }

        public f() {
        }

        @Override
        public void run() {
            if (PreviewActivity.this.s != null) {
                ObjectAnimator duration = ObjectAnimator.ofFloat(PreviewActivity.this.s, "translationY", PreviewActivity.this.s.getTranslationY(), 0.0f).setDuration(300L);
                duration.addListener(new a());
                duration.start();
                ObjectAnimator.ofFloat(PreviewActivity.this.t, "translationY", PreviewActivity.this.t.getTranslationY(), 0.0f).setDuration(300L).start();
            }
        }
    }

    public class g extends AnimatorListenerAdapter {

        public class a implements Runnable {
            public a() {
            }

            @Override
            public void run() {
                PreviewActivity.this.U0(false);
            }
        }

        public g() {
        }

        @Override
        public void onAnimationEnd(Animator animator) {
            super.onAnimationEnd(animator);
            if (PreviewActivity.this.s != null) {
                PreviewActivity.this.s.setVisibility(8);
                PreviewActivity.this.s.postDelayed(new a(), 5L);
            }
        }
    }

    public static int M0(Context context) {
        int identifier = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
        if (identifier > 0) {
            return context.getResources().getDimensionPixelSize(identifier);
        }
        return 0;
    }

    public static void R0(Activity activity, ArrayList<Image> arrayList, ArrayList<Image> arrayList2, boolean z, int i, int i2) {
        C = arrayList;
        D = arrayList2;
        Intent intent = new Intent(activity, (Class<?>) PreviewActivity.class);
        intent.putExtra("max_select_count", i);
        intent.putExtra("is_single", z);
        intent.putExtra("position", i2);
        activity.startActivityForResult(intent, 18);
    }

    public final void K0(Image image) {
        this.r.setCompoundDrawables(this.v.contains(image) ? this.A : this.B, null, null, null);
        S0(this.v.size());
    }

    public final void L0() {
        int currentItem = this.n.getCurrentItem();
        ArrayList<Image> arrayList = this.u;
        if (arrayList == null || arrayList.size() <= currentItem) {
            return;
        }
        Image image = this.u.get(currentItem);
        if (this.v.contains(image)) {
            this.v.remove(image);
        } else if (this.y) {
            this.v.clear();
            this.v.add(image);
        } else if (this.z <= 0 || this.v.size() < this.z) {
            this.v.add(image);
        }
        K0(image);
    }

    public final void N0() {
        this.w = false;
        ObjectAnimator duration = ObjectAnimator.ofFloat(this.s, "translationY", 0.0f, -r1.getHeight()).setDuration(300L);
        duration.addListener(new g());
        duration.start();
        ObjectAnimator.ofFloat(this.t, "translationY", 0.0f, r1.getHeight()).setDuration(300L).start();
    }

    public final void O0() {
        findViewById(R$id.btn_back).setOnClickListener(new a());
        this.q.setOnClickListener(new b());
        this.r.setOnClickListener(new c());
    }

    public final void P0() {
        this.n = (MyViewPager) findViewById(R$id.vp_image);
        this.o = (TextView) findViewById(R$id.tv_indicator);
        this.p = (TextView) findViewById(R$id.tv_confirm);
        this.q = (FrameLayout) findViewById(R$id.btn_confirm);
        this.r = (TextView) findViewById(R$id.tv_select);
        this.s = (RelativeLayout) findViewById(R$id.rl_top_bar);
        this.t = (RelativeLayout) findViewById(R$id.rl_bottom_bar);
        RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) this.s.getLayoutParams();
        layoutParams.topMargin = M0(this);
        this.s.setLayoutParams(layoutParams);
    }

    public final void Q0() {
        ImagePagerAdapter imagePagerAdapter = new ImagePagerAdapter(this, this.u);
        this.n.setAdapter(imagePagerAdapter);
        imagePagerAdapter.g(new d());
        this.n.addOnPageChangeListener(new e());
    }

    public final void S0(int i) {
        if (i == 0) {
            this.q.setEnabled(false);
            this.p.setText(R$string.selector_send);
            return;
        }
        this.q.setEnabled(true);
        if (this.y) {
            this.p.setText(R$string.selector_send);
            return;
        }
        if (this.z <= 0) {
            this.p.setText(getString(R$string.selector_send) + "(" + i + ")");
            return;
        }
        this.p.setText(getString(R$string.selector_send) + "(" + i + "/" + this.z + ")");
    }

    public final void T0() {
        if (f.j.a.c.f.a()) {
            Window window = getWindow();
            window.addFlags(Integer.MIN_VALUE);
            window.setStatusBarColor(Color.parseColor("#373c3d"));
        }
    }

    public final void U0(boolean z) {
        if (Build.VERSION.SDK_INT >= 16) {
            if (z) {
                getWindow().getDecorView().setSystemUiVisibility(1024);
            } else {
                getWindow().getDecorView().setSystemUiVisibility(1028);
            }
        }
    }

    public final void V0() {
        this.w = true;
        U0(true);
        this.s.postDelayed(new f(), 100L);
    }

    public void finish() {
        Intent intent = new Intent();
        intent.putExtra("is_confirm", this.x);
        setResult(18, intent);
        super/*android.app.Activity*/.finish();
    }

    public void onCreate(@Nullable Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R$layout.activity_preview);
        if (f.j.a.c.f.c()) {
            WindowManager.LayoutParams attributes = getWindow().getAttributes();
            attributes.layoutInDisplayCutoutMode = 1;
            getWindow().setAttributes(attributes);
        }
        U0(true);
        this.u = C;
        C = null;
        this.v = D;
        D = null;
        Intent intent = getIntent();
        this.z = intent.getIntExtra("max_select_count", 0);
        this.y = intent.getBooleanExtra("is_single", false);
        Resources resources = getResources();
        Bitmap decodeResource = BitmapFactory.decodeResource(resources, R$drawable.icon_image_select);
        BitmapDrawable bitmapDrawable = new BitmapDrawable(resources, decodeResource);
        this.A = bitmapDrawable;
        bitmapDrawable.setBounds(0, 0, decodeResource.getWidth(), decodeResource.getHeight());
        Bitmap decodeResource2 = BitmapFactory.decodeResource(resources, R$drawable.icon_image_un_select);
        BitmapDrawable bitmapDrawable2 = new BitmapDrawable(resources, decodeResource2);
        this.B = bitmapDrawable2;
        bitmapDrawable2.setBounds(0, 0, decodeResource2.getWidth(), decodeResource2.getHeight());
        T0();
        P0();
        O0();
        Q0();
        this.o.setText("1/" + this.u.size());
        K0(this.u.get(0));
        this.n.setCurrentItem(intent.getIntExtra("position", 0));
    }
}