导航菜单

页面标题

页面副标题

91看片 v1.0.4 - UCropActivity.java 源代码

正在查看: 91看片 v1.0.4 应用的 UCropActivity.java JAVA 源代码文件

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


package com.yalantis.ucrop;

import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.PorterDuff;
import android.graphics.drawable.Animatable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.animation.AccelerateInterpolator;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.appcompat.widget.Toolbar;
import com.yalantis.ucrop.view.GestureCropImageView;
import com.yalantis.ucrop.view.OverlayView;
import com.yalantis.ucrop.view.UCropView;
import com.yalantis.ucrop.view.b;
import com.yalantis.ucrop.view.widget.AspectRatioTextView;
import com.yalantis.ucrop.view.widget.HorizontalProgressWheelView;
import d8.i;
import d8.k;
import h3.l;
import h3.n;
import j8.j;
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;

public class UCropActivity extends androidx.appcompat.app.c {
    public static final Bitmap.CompressFormat O = Bitmap.CompressFormat.JPEG;
    private ViewGroup A;
    private ViewGroup B;
    private ViewGroup C;
    private ViewGroup D;
    private TextView F;
    private TextView G;
    private View H;
    private l I;

    private String f6735h;

    private int f6736i;

    private boolean f6737j;

    private int f6738k;

    private int f6739l;

    private int f6740m;

    private int f6741n;

    private int f6742o;

    private int f6743p;

    private int f6744q;

    private int f6745r;

    private boolean f6746s;

    private boolean f6748u;

    private UCropView f6749v;

    private GestureCropImageView f6750w;

    private OverlayView f6751x;

    private ViewGroup f6752y;

    private ViewGroup f6753z;

    private boolean f6747t = true;
    private List<ViewGroup> E = new ArrayList();
    private Bitmap.CompressFormat J = O;
    private int K = 90;
    private int[] L = {1, 2, 3};
    private b.c M = new a();
    private final View.OnClickListener N = new g();

    class a implements b.c {
        a() {
        }

        @Override
        public void a(float f10) {
            UCropActivity.this.T(f10);
        }

        @Override
        public void b() {
            UCropActivity.this.f6749v.animate().alpha(1.0f).setDuration(300L).setInterpolator(new AccelerateInterpolator());
            UCropActivity.this.H.setClickable(false);
            if (UCropActivity.this.getIntent().getBooleanExtra("com.yalantis.ucrop.ForbidCropGifWebp", false)) {
                String f10 = j8.f.f(UCropActivity.this, (Uri) UCropActivity.this.getIntent().getParcelableExtra("com.yalantis.ucrop.InputUri"));
                if (j8.f.m(f10) || j8.f.t(f10)) {
                    UCropActivity.this.H.setClickable(true);
                }
            }
            UCropActivity.this.f6747t = false;
            UCropActivity.this.supportInvalidateOptionsMenu();
        }

        @Override
        public void c(Exception exc) {
            UCropActivity.this.X(exc);
            UCropActivity.this.finish();
        }

        @Override
        public void d(float f10) {
            UCropActivity.this.Z(f10);
        }
    }

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

        @Override
        public void onClick(View view) {
            UCropActivity.this.f6750w.setTargetAspectRatio(((AspectRatioTextView) ((ViewGroup) view).getChildAt(0)).s(view.isSelected()));
            UCropActivity.this.f6750w.A();
            if (view.isSelected()) {
                return;
            }
            for (ViewGroup viewGroup : UCropActivity.this.E) {
                viewGroup.setSelected(viewGroup == view);
            }
        }
    }

    class c implements HorizontalProgressWheelView.a {
        c() {
        }

        @Override
        public void a() {
            UCropActivity.this.f6750w.A();
        }

        @Override
        public void b(float f10, float f11) {
            UCropActivity.this.f6750w.y(f10 / 42.0f);
        }

        @Override
        public void c() {
            UCropActivity.this.f6750w.u();
        }
    }

    class d implements View.OnClickListener {
        d() {
        }

        @Override
        public void onClick(View view) {
            UCropActivity.this.Q();
        }
    }

    class e implements View.OnClickListener {
        e() {
        }

        @Override
        public void onClick(View view) {
            UCropActivity.this.R(90);
        }
    }

    class f implements HorizontalProgressWheelView.a {
        f() {
        }

        @Override
        public void a() {
            UCropActivity.this.f6750w.A();
        }

        @Override
        public void b(float f10, float f11) {
            if (f10 > 0.0f) {
                UCropActivity.this.f6750w.D(UCropActivity.this.f6750w.getCurrentScale() + (f10 * ((UCropActivity.this.f6750w.getMaxScale() - UCropActivity.this.f6750w.getMinScale()) / 15000.0f)));
            } else {
                UCropActivity.this.f6750w.F(UCropActivity.this.f6750w.getCurrentScale() + (f10 * ((UCropActivity.this.f6750w.getMaxScale() - UCropActivity.this.f6750w.getMinScale()) / 15000.0f)));
            }
        }

        @Override
        public void c() {
            UCropActivity.this.f6750w.u();
        }
    }

    class g implements View.OnClickListener {
        g() {
        }

        @Override
        public void onClick(View view) {
            if (view.isSelected()) {
                return;
            }
            UCropActivity.this.c0(view.getId());
        }
    }

    class h implements e8.a {
        h() {
        }

        @Override
        public void a(Uri uri, int i10, int i11, int i12, int i13) {
            UCropActivity uCropActivity = UCropActivity.this;
            uCropActivity.Y(uri, uCropActivity.f6750w.getTargetAspectRatio(), i10, i11, i12, i13);
            UCropActivity.this.finish();
        }

        @Override
        public void b(Throwable th) {
            UCropActivity.this.X(th);
            UCropActivity.this.finish();
        }
    }

    static {
        androidx.appcompat.app.f.H(true);
    }

    private void K() {
        if (this.H == null) {
            this.H = new View(this);
            RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(-1, -1);
            layoutParams.addRule(3, d8.f.f7411w);
            this.H.setLayoutParams(layoutParams);
            this.H.setClickable(true);
        }
        ((RelativeLayout) findViewById(d8.f.A)).addView(this.H);
    }

    private void L(int i10) {
        n.a((ViewGroup) findViewById(d8.f.A), this.I);
        this.A.findViewById(d8.f.f7410v).setVisibility(i10 == d8.f.f7407s ? 0 : 8);
        this.f6752y.findViewById(d8.f.f7408t).setVisibility(i10 == d8.f.f7405q ? 0 : 8);
        this.f6753z.findViewById(d8.f.f7409u).setVisibility(i10 != d8.f.f7406r ? 8 : 0);
    }

    private void N() {
        Intent intent = getIntent();
        boolean booleanExtra = intent.getBooleanExtra("com.yalantis.ucrop.isDarkStatusBarBlack", false);
        int intExtra = intent.getIntExtra("com.yalantis.ucrop.StatusBarColor", androidx.core.content.a.b(this, d8.c.f7370j));
        this.f6739l = intExtra;
        h8.a.a(this, intExtra, intExtra, booleanExtra);
    }

    private void O() {
        UCropView uCropView = (UCropView) findViewById(d8.f.f7413y);
        this.f6749v = uCropView;
        this.f6750w = uCropView.getCropImageView();
        this.f6751x = this.f6749v.getOverlayView();
        this.f6750w.setTransformImageListener(this.M);
        ((ImageView) findViewById(d8.f.f7392d)).setColorFilter(this.f6745r, PorterDuff.Mode.SRC_ATOP);
        int i10 = d8.f.f7414z;
        findViewById(i10).setBackgroundColor(this.f6742o);
        if (this.f6746s) {
            return;
        }
        ((RelativeLayout.LayoutParams) findViewById(i10).getLayoutParams()).bottomMargin = 0;
        findViewById(i10).requestLayout();
    }

    private void P(android.content.Intent r8) {
        throw new UnsupportedOperationException("Method not decompiled: com.yalantis.ucrop.UCropActivity.P(android.content.Intent):void");
    }

    public void Q() {
        GestureCropImageView gestureCropImageView = this.f6750w;
        gestureCropImageView.y(-gestureCropImageView.getCurrentAngle());
        this.f6750w.A();
    }

    public void R(int i10) {
        this.f6750w.y(i10);
        this.f6750w.A();
    }

    private void S(int i10) {
        GestureCropImageView gestureCropImageView = this.f6750w;
        int i11 = this.L[i10];
        gestureCropImageView.setScaleEnabled(i11 == 3 || i11 == 1);
        GestureCropImageView gestureCropImageView2 = this.f6750w;
        int i12 = this.L[i10];
        gestureCropImageView2.setRotateEnabled(i12 == 3 || i12 == 2);
        this.f6750w.setGestureEnabled(getIntent().getBooleanExtra("com.yalantis.ucrop.isDragImages", true));
    }

    public void T(float f10) {
        TextView textView = this.F;
        if (textView != null) {
            textView.setText(String.format(Locale.getDefault(), "%.1f°", Float.valueOf(f10)));
        }
    }

    private void U(int i10) {
        TextView textView = this.F;
        if (textView != null) {
            textView.setTextColor(i10);
        }
    }

    private void V(Intent intent) {
        Throwable e10;
        Uri uri = (Uri) intent.getParcelableExtra("com.yalantis.ucrop.InputUri");
        Uri uri2 = (Uri) intent.getParcelableExtra("com.yalantis.ucrop.OutputUri");
        P(intent);
        if (uri == null || uri2 == null) {
            e10 = new NullPointerException(getString(i.f7423a));
        } else {
            try {
                String stringExtra = getIntent().getStringExtra("com.yalantis.ucrop.CropOutputDir");
                if (!TextUtils.isEmpty(stringExtra) && "file".equalsIgnoreCase(uri2.getScheme())) {
                    uri2 = Uri.fromFile(new File(stringExtra, new File(uri2.getPath()).getName()));
                }
                this.f6750w.m(uri, j8.f.u(this, this.f6748u, uri, uri2), this.f6737j);
                return;
            } catch (Exception e11) {
                e10 = e11;
            }
        }
        X(e10);
        finish();
    }

    private void W() {
        if (this.f6746s) {
            c0(this.f6752y.getVisibility() == 0 ? d8.f.f7405q : d8.f.f7407s);
        } else {
            S(0);
        }
    }

    public void Z(float f10) {
        TextView textView = this.G;
        if (textView != null) {
            textView.setText(String.format(Locale.getDefault(), "%d%%", Integer.valueOf((int) (f10 * 100.0f))));
        }
    }

    private void a0(int i10) {
        TextView textView = this.G;
        if (textView != null) {
            textView.setTextColor(i10);
        }
    }

    private void b0(int i10) {
        Window window = getWindow();
        if (window != null) {
            window.addFlags(Integer.MIN_VALUE);
            window.setStatusBarColor(i10);
        }
    }

    public void c0(int i10) {
        if (this.f6746s) {
            ViewGroup viewGroup = this.f6752y;
            int i11 = d8.f.f7405q;
            viewGroup.setSelected(i10 == i11);
            ViewGroup viewGroup2 = this.f6753z;
            int i12 = d8.f.f7406r;
            viewGroup2.setSelected(i10 == i12);
            ViewGroup viewGroup3 = this.A;
            int i13 = d8.f.f7407s;
            viewGroup3.setSelected(i10 == i13);
            this.B.setVisibility(i10 == i11 ? 0 : 8);
            this.C.setVisibility(i10 == i12 ? 0 : 8);
            this.D.setVisibility(i10 == i13 ? 0 : 8);
            L(i10);
            if (i10 == i13) {
                S(0);
            } else if (i10 == i12) {
                S(1);
            } else {
                S(2);
            }
        }
    }

    private void d0() {
        b0(this.f6739l);
        Toolbar toolbar = (Toolbar) findViewById(d8.f.f7411w);
        toolbar.setBackgroundColor(this.f6738k);
        toolbar.setTitleTextColor(this.f6741n);
        TextView textView = (TextView) toolbar.findViewById(d8.f.f7412x);
        textView.setTextColor(this.f6741n);
        textView.setText(this.f6735h);
        textView.setTextSize(this.f6736i);
        Drawable mutate = e.a.b(this, this.f6743p).mutate();
        mutate.setColorFilter(androidx.core.graphics.a.a(this.f6741n, androidx.core.graphics.b.SRC_ATOP));
        toolbar.setNavigationIcon(mutate);
        x(toolbar);
        androidx.appcompat.app.a n10 = n();
        if (n10 != null) {
            n10.r(false);
        }
    }

    private void e0(Intent intent) {
        int intExtra = intent.getIntExtra("com.yalantis.ucrop.AspectRatioSelectedByDefault", 0);
        ArrayList parcelableArrayListExtra = intent.getParcelableArrayListExtra("com.yalantis.ucrop.AspectRatioOptions");
        if (parcelableArrayListExtra == null || parcelableArrayListExtra.isEmpty()) {
            intExtra = 2;
            parcelableArrayListExtra = new ArrayList();
            parcelableArrayListExtra.add(new g8.a(null, 1.0f, 1.0f));
            parcelableArrayListExtra.add(new g8.a(null, 3.0f, 4.0f));
            parcelableArrayListExtra.add(new g8.a(getString(i.f7425c).toUpperCase(), 0.0f, 0.0f));
            parcelableArrayListExtra.add(new g8.a(null, 3.0f, 2.0f));
            parcelableArrayListExtra.add(new g8.a(null, 16.0f, 9.0f));
        }
        LinearLayout linearLayout = (LinearLayout) findViewById(d8.f.f7397i);
        LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(0, -1);
        layoutParams.weight = 1.0f;
        Iterator it = parcelableArrayListExtra.iterator();
        while (it.hasNext()) {
            g8.a aVar = (g8.a) it.next();
            FrameLayout frameLayout = (FrameLayout) getLayoutInflater().inflate(d8.g.f7417c, (ViewGroup) null);
            frameLayout.setLayoutParams(layoutParams);
            AspectRatioTextView aspectRatioTextView = (AspectRatioTextView) frameLayout.getChildAt(0);
            aspectRatioTextView.setActiveColor(this.f6740m);
            aspectRatioTextView.setAspectRatio(aVar);
            linearLayout.addView(frameLayout);
            this.E.add(frameLayout);
        }
        this.E.get(intExtra).setSelected(true);
        Iterator<ViewGroup> it2 = this.E.iterator();
        while (it2.hasNext()) {
            it2.next().setOnClickListener(new b());
        }
    }

    private void f0() {
        this.F = (TextView) findViewById(d8.f.f7409u);
        int i10 = d8.f.f7403o;
        ((HorizontalProgressWheelView) findViewById(i10)).setScrollingListener(new c());
        ((HorizontalProgressWheelView) findViewById(i10)).setMiddleLineColor(this.f6740m);
        findViewById(d8.f.D).setOnClickListener(new d());
        findViewById(d8.f.E).setOnClickListener(new e());
        U(this.f6740m);
    }

    private void g0() {
        this.G = (TextView) findViewById(d8.f.f7410v);
        int i10 = d8.f.f7404p;
        ((HorizontalProgressWheelView) findViewById(i10)).setScrollingListener(new f());
        ((HorizontalProgressWheelView) findViewById(i10)).setMiddleLineColor(this.f6740m);
        a0(this.f6740m);
    }

    private void h0() {
        ImageView imageView = (ImageView) findViewById(d8.f.f7395g);
        ImageView imageView2 = (ImageView) findViewById(d8.f.f7394f);
        ImageView imageView3 = (ImageView) findViewById(d8.f.f7393e);
        imageView.setImageDrawable(new j(imageView.getDrawable(), this.f6740m));
        imageView2.setImageDrawable(new j(imageView2.getDrawable(), this.f6740m));
        imageView3.setImageDrawable(new j(imageView3.getDrawable(), this.f6740m));
    }

    private void i0(Intent intent) {
        this.f6748u = intent.getBooleanExtra("com.yalantis.ucrop.ForbidCropGifWebp", false);
        this.f6739l = intent.getIntExtra("com.yalantis.ucrop.StatusBarColor", androidx.core.content.a.b(this, d8.c.f7370j));
        this.f6738k = intent.getIntExtra("com.yalantis.ucrop.ToolbarColor", androidx.core.content.a.b(this, d8.c.f7371k));
        this.f6740m = intent.getIntExtra("com.yalantis.ucrop.UcropColorControlsWidgetActive", androidx.core.content.a.b(this, d8.c.f7363c));
        this.f6741n = intent.getIntExtra("com.yalantis.ucrop.UcropToolbarWidgetColor", androidx.core.content.a.b(this, d8.c.f7372l));
        this.f6743p = intent.getIntExtra("com.yalantis.ucrop.UcropToolbarCancelDrawable", d8.e.f7387b);
        this.f6744q = intent.getIntExtra("com.yalantis.ucrop.UcropToolbarCropDrawable", d8.e.f7388c);
        this.f6735h = intent.getStringExtra("com.yalantis.ucrop.UcropToolbarTitleText");
        this.f6736i = intent.getIntExtra("com.yalantis.ucrop.UcropToolbarTitleTextSize", 18);
        String str = this.f6735h;
        if (str == null) {
            str = getResources().getString(i.f7424b);
        }
        this.f6735h = str;
        this.f6745r = intent.getIntExtra("com.yalantis.ucrop.UcropLogoColor", androidx.core.content.a.b(this, d8.c.f7368h));
        this.f6746s = !intent.getBooleanExtra("com.yalantis.ucrop.HideBottomControls", false);
        this.f6742o = intent.getIntExtra("com.yalantis.ucrop.UcropRootViewBackgroundColor", androidx.core.content.a.b(this, d8.c.f7364d));
        d0();
        O();
        if (this.f6746s) {
            ViewGroup viewGroup = (ViewGroup) ((ViewGroup) findViewById(d8.f.A)).findViewById(d8.f.f7389a);
            viewGroup.setVisibility(0);
            LayoutInflater.from(this).inflate(d8.g.f7418d, viewGroup, true);
            h3.b bVar = new h3.b();
            this.I = bVar;
            bVar.X(50L);
            ViewGroup viewGroup2 = (ViewGroup) findViewById(d8.f.f7405q);
            this.f6752y = viewGroup2;
            viewGroup2.setOnClickListener(this.N);
            ViewGroup viewGroup3 = (ViewGroup) findViewById(d8.f.f7406r);
            this.f6753z = viewGroup3;
            viewGroup3.setOnClickListener(this.N);
            ViewGroup viewGroup4 = (ViewGroup) findViewById(d8.f.f7407s);
            this.A = viewGroup4;
            viewGroup4.setOnClickListener(this.N);
            this.B = (ViewGroup) findViewById(d8.f.f7397i);
            this.C = (ViewGroup) findViewById(d8.f.f7398j);
            this.D = (ViewGroup) findViewById(d8.f.f7399k);
            e0(intent);
            f0();
            g0();
            h0();
        }
    }

    protected void M() {
        this.H.setClickable(true);
        this.f6747t = true;
        supportInvalidateOptionsMenu();
        this.f6750w.v(this.J, this.K, new h());
    }

    protected void X(Throwable th) {
        setResult(96, new Intent().putExtra("com.yalantis.ucrop.Error", th));
    }

    protected void Y(Uri uri, float f10, int i10, int i11, int i12, int i13) {
        setResult(-1, new Intent().putExtra("com.yalantis.ucrop.OutputUri", uri).putExtra("com.yalantis.ucrop.CropAspectRatio", f10).putExtra("com.yalantis.ucrop.ImageWidth", i12).putExtra("com.yalantis.ucrop.ImageHeight", i13).putExtra("com.yalantis.ucrop.OffsetX", i10).putExtra("com.yalantis.ucrop.OffsetY", i11).putExtra("com.yalantis.ucrop.CropInputOriginal", j8.f.e((Uri) getIntent().getParcelableExtra("com.yalantis.ucrop.InputUri"))));
    }

    @Override
    public void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        N();
        setContentView(d8.g.f7416b);
        Intent intent = getIntent();
        i0(intent);
        V(intent);
        W();
        K();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(d8.h.f7422a, menu);
        MenuItem findItem = menu.findItem(d8.f.f7401m);
        Drawable icon = findItem.getIcon();
        if (icon != null) {
            try {
                icon.mutate();
                icon.setColorFilter(androidx.core.graphics.a.a(this.f6741n, androidx.core.graphics.b.SRC_ATOP));
                findItem.setIcon(icon);
            } catch (IllegalStateException e10) {
                Log.i("UCropActivity", String.format("%s - %s", e10.getMessage(), getString(i.f7426d)));
            }
            ((Animatable) findItem.getIcon()).start();
        }
        MenuItem findItem2 = menu.findItem(d8.f.f7400l);
        Drawable d10 = androidx.core.content.a.d(this, this.f6744q);
        if (d10 != null) {
            d10.mutate();
            d10.setColorFilter(androidx.core.graphics.a.a(this.f6741n, androidx.core.graphics.b.SRC_ATOP));
            findItem2.setIcon(d10);
        }
        return true;
    }

    @Override
    protected void onDestroy() {
        k.a();
        super.onDestroy();
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem menuItem) {
        if (menuItem.getItemId() == d8.f.f7400l) {
            M();
            return true;
        }
        if (menuItem.getItemId() != 16908332) {
            return super.onOptionsItemSelected(menuItem);
        }
        onBackPressed();
        return true;
    }

    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        menu.findItem(d8.f.f7400l).setVisible(!this.f6747t);
        menu.findItem(d8.f.f7401m).setVisible(this.f6747t);
        return super.onPrepareOptionsMenu(menu);
    }

    @Override
    protected void onStop() {
        super.onStop();
        GestureCropImageView gestureCropImageView = this.f6750w;
        if (gestureCropImageView != null) {
            gestureCropImageView.u();
        }
    }
}