导航菜单

页面标题

页面副标题

SpeedCash v6.5.1482 - ImageChooserActivity.java 源代码

正在查看: SpeedCash v6.5.1482 应用的 ImageChooserActivity.java JAVA 源代码文件

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


package com.bm.sc.bebasbayar.ui.activity.info;

import android.animation.Animator;
import android.annotation.SuppressLint;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.Parcelable;
import android.util.Base64;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import com.bm.sc.bebasbayar.R;
import com.bm.sc.bebasbayar.handler.MessageComposer;
import com.bm.sc.bebasbayar.helper.Affinity;
import com.bm.sc.bebasbayar.helper.WidgetHelper;
import com.bm.sc.bebasbayar.setting.session.AppSession;
import com.bm.sc.bebasbayar.setting.session.ConfigSession;
import com.bm.sc.bebasbayar.ui.BaseActivity;
import com.bm.sc.bebasbayar.ui.activity.info.ImageChooserActivity;
import com.bm.sc.util.android.Imagery;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.firebase.perf.network.FirebasePerfUrlConnection;
import com.theartofdev.edmodo.cropper.CropImageView;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;

public class ImageChooserActivity extends BaseActivity implements CropImageView.OnCropImageCompleteListener {
    public static final int MODE_LANDSCAPE = 2;
    public static final int MODE_PORTRAIT = 1;
    public static final int MODE_SQUARE = 3;
    public Uri c;
    public int d;
    public boolean e = false;
    public boolean f;
    public CropImageView g;
    public TextView h;
    public FloatingActionButton i;
    public FloatingActionButton j;
    public FloatingActionButton k;
    public String l;
    public ProgressDialog m;

    public class a extends e {
        public a() {
            super(null);
        }

        @Override
        @SuppressLint({"RestrictedApi"})
        public void onAnimationEnd(@NonNull Animator animator) {
            ImageChooserActivity.this.j.setVisibility(8);
        }
    }

    public class b extends e {
        public b() {
            super(null);
        }

        @Override
        @SuppressLint({"RestrictedApi"})
        public void onAnimationEnd(@NonNull Animator animator) {
            ImageChooserActivity.this.k.setVisibility(8);
        }
    }

    public class c extends f {
        public c() {
            super(null);
        }

        @Override
        @SuppressLint({"RestrictedApi"})
        public void onAnimationStart(@NonNull Animator animator) {
            ImageChooserActivity.this.j.setVisibility(0);
        }
    }

    public class d extends f {
        public d() {
            super(null);
        }

        @Override
        @SuppressLint({"RestrictedApi"})
        public void onAnimationStart(@NonNull Animator animator) {
            ImageChooserActivity.this.k.setVisibility(0);
        }
    }

    public static abstract class e implements Animator.AnimatorListener {
        public e() {
        }

        @Override
        public void onAnimationCancel(@NonNull Animator animator) {
        }

        @Override
        public void onAnimationRepeat(@NonNull Animator animator) {
        }

        @Override
        public void onAnimationStart(@NonNull Animator animator) {
        }

        public e(a aVar) {
            this();
        }
    }

    public static abstract class f implements Animator.AnimatorListener {
        public f() {
        }

        @Override
        public void onAnimationCancel(@NonNull Animator animator) {
        }

        @Override
        public void onAnimationEnd(@NonNull Animator animator) {
        }

        @Override
        public void onAnimationRepeat(@NonNull Animator animator) {
        }

        public f(a aVar) {
            this();
        }
    }

    @SuppressLint({"StaticFieldLeak"})
    public class g extends AsyncTask<Void, Void, Void> {
        public g() {
        }

        @Override
        public Void doInBackground(Void... voidArr) {
            try {
                StringBuilder sb = new StringBuilder();
                sb.append("encodedImage = ");
                sb.append(ImageChooserActivity.this.l);
                String str = ImageChooserActivity.this.l;
                String str2 = ((BaseActivity) ImageChooserActivity.this).configSession.retrieveMap(ConfigSession.PROPERTY_URL, ConfigSession.KEY_URL_SC_IMAGE) + "profile/" + ((BaseActivity) ImageChooserActivity.this).appSession.retrieve(AppSession.PROPERTY_MERCHANT_ID);
                StringBuilder sb2 = new StringBuilder();
                sb2.append("doInBackground: ");
                sb2.append(str2);
                HttpURLConnection httpURLConnection = (HttpURLConnection) ((URLConnection) FirebasePerfUrlConnection.instrument(new URL(str2).openConnection()));
                httpURLConnection.setDoOutput(true);
                httpURLConnection.setDoInput(true);
                httpURLConnection.setRequestMethod(MessageComposer.POST);
                httpURLConnection.setFixedLengthStreamingMode(str.getBytes().length);
                httpURLConnection.setRequestProperty("Content-Type", " text/plain");
                httpURLConnection.setConnectTimeout(30);
                BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(httpURLConnection.getOutputStream());
                BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(bufferedOutputStream, StandardCharsets.UTF_8));
                bufferedWriter.write(str);
                StringBuilder sb3 = new StringBuilder();
                sb3.append("Data to url = ");
                sb3.append(str);
                bufferedWriter.flush();
                bufferedWriter.close();
                bufferedOutputStream.close();
                httpURLConnection.connect();
                BufferedInputStream bufferedInputStream = new BufferedInputStream(httpURLConnection.getInputStream());
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(bufferedInputStream, StandardCharsets.UTF_8));
                StringBuilder sb4 = new StringBuilder();
                while (true) {
                    String readLine = bufferedReader.readLine();
                    if (readLine == null) {
                        bufferedInputStream.close();
                        String sb5 = sb4.toString();
                        StringBuilder sb6 = new StringBuilder();
                        sb6.append("Response from url = ");
                        sb6.append(sb5);
                        httpURLConnection.disconnect();
                        return null;
                    }
                    sb4.append(readLine);
                }
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }

        @Override
        public void onPostExecute(Void r2) {
            ImageChooserActivity.this.m.dismiss();
            ImageChooserActivity.this.f = false;
            ImageChooserActivity.this.e = false;
            ImageChooserActivity.this.finish();
        }

        @Override
        public void onCancelled() {
            ImageChooserActivity.this.m.dismiss();
            ImageChooserActivity.this.m = null;
            super.onCancelled();
        }

        @Override
        public void onPreExecute() {
            ?? r0 = ImageChooserActivity.this;
            r0.m = ProgressDialog.show(r0, "Mohon Tunggu", "Foto sedang dimuat...", true);
        }

        public g(ImageChooserActivity imageChooserActivity, a aVar) {
            this();
        }
    }

    public static Bundle getBundle(int i, boolean z) {
        Bundle bundle = new Bundle();
        bundle.putInt("mode", i);
        bundle.putBoolean("show_gallery", z);
        return bundle;
    }

    @Nullable
    public static Uri getCroppedImageUri(@Nullable Intent intent) {
        if (intent == null || intent.getExtras() == null) {
            return null;
        }
        Parcelable parcelableExtra = intent.getParcelableExtra("img_uri");
        if (parcelableExtra instanceof Uri) {
            return (Uri) parcelableExtra;
        }
        return null;
    }

    public void l(View view) {
        this.f = false;
        this.e = false;
        onBackPressed();
    }

    public void A(View view) {
        z();
        if (view.getId() == 2131362277) {
            setResult(0);
            finish();
            return;
        }
        if (view.getId() == 2131362408) {
            if (this.c == null) {
                Toast.makeText((Context) this, (CharSequence) "Image Empty", 0).show();
                this.m.dismiss();
                return;
            }
            WidgetHelper.setReadonly(this.h, true);
            this.g.saveCroppedImageAsync(this.c, Bitmap.CompressFormat.JPEG, 80);
            Bitmap croppedImage = this.g.getCroppedImage();
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            if (croppedImage != null) {
                croppedImage.compress(Bitmap.CompressFormat.JPEG, 50, byteArrayOutputStream);
            }
            this.l = Base64.encodeToString(byteArrayOutputStream.toByteArray(), 2);
            new g(this, null).execute(new Void[0]);
        }
    }

    public void B() {
        z();
        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction("android.intent.action.GET_CONTENT");
        startActivityForResult(Intent.createChooser(intent, "Gallery"), 124);
    }

    public final void C() {
        if (this.f) {
            return;
        }
        this.f = true;
        this.j.animate().setListener(new c()).translationY(-getResources().getDimension(R.dimen.fab_icon_size_in_dimen));
        this.k.animate().setListener(new d()).translationY(-getResources().getDimension(R.dimen.fab_icon_size_in_dimen));
        this.i.setImageResource(R.drawable.button_cancel);
    }

    @Override
    public int getLayoutResource() {
        return R.layout.activity_image_chooser;
    }

    @Override
    public String getWikiNameSpace() {
        return null;
    }

    @Override
    public boolean isEligibleForFavorit() {
        return false;
    }

    @Override
    public void onActivityResult(int i, int i2, Intent intent) {
        if (i == 123) {
            if (i2 != -1) {
                this.c = null;
                this.h.setVisibility(8);
                return;
            }
            Bitmap rotatedBitmap = Imagery.getRotatedBitmap(this, this.c);
            if (rotatedBitmap == null) {
                this.h.setVisibility(8);
                return;
            }
            this.g.setCropShape(CropImageView.CropShape.OVAL);
            this.g.setImageBitmap(rotatedBitmap);
            this.h.setVisibility(0);
            return;
        }
        if (i != 124) {
            super.onActivityResult(i, i2, intent);
            return;
        }
        if (i2 != -1) {
            this.c = null;
            this.h.setVisibility(8);
            return;
        }
        Uri parse = Uri.parse("file://" + Imagery.getRealPathFromURI(this, intent.getData()));
        this.c = parse;
        if (parse == null) {
            this.h.setVisibility(8);
            return;
        }
        Bitmap rotatedBitmap2 = Imagery.getRotatedBitmap(this, parse);
        if (rotatedBitmap2 == null) {
            this.h.setVisibility(8);
            return;
        }
        this.g.setCropShape(CropImageView.CropShape.OVAL);
        this.g.setImageBitmap(rotatedBitmap2);
        this.h.setVisibility(0);
    }

    @Override
    public void onBackPressed() {
        if (this.f && this.e) {
            z();
        } else {
            super.onBackPressed();
        }
    }

    @SuppressLint({"NewApi"})
    public void onCaptureCameraRequest() {
        z();
        if (!Affinity.isPermissionGranted(this, "android.permission.CAMERA") || !Affinity.isPermissionGranted(this, "android.permission.WRITE_EXTERNAL_STORAGE")) {
            ArrayList arrayList = new ArrayList();
            arrayList.add("android.permission.CAMERA");
            arrayList.add("android.permission.WRITE_EXTERNAL_STORAGE");
            requestPermissions((String[]) arrayList.toArray(new String[0]), 125);
            return;
        }
        Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
        Uri fromFile = Uri.fromFile(Imagery.getSaveDirectory("image", "capture", "jpeg"));
        this.c = fromFile;
        try {
            intent.putExtra("output", fromFile);
            intent.putExtra("return-data", true);
            startActivityForResult(intent, 123);
        } catch (Exception e2) {
            e2.printStackTrace();
        }
    }

    public void onCaptureRequest() {
        if (!this.e) {
            onCaptureCameraRequest();
        } else if (this.f) {
            z();
        } else {
            C();
        }
    }

    @Override
    public void onClick(View view) {
        if (view.getId() == 2131362285) {
            onCaptureRequest();
            return;
        }
        if (view.getId() == 2131362286) {
            onCaptureCameraRequest();
            return;
        }
        if (view.getId() == 2131362287) {
            B();
        } else if (view.getId() == 2131362277 || view.getId() == 2131362408) {
            A(view);
        } else {
            super.onClick(view);
        }
    }

    @Override
    public void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        this.m = new ProgressDialog(this);
        if (bundle != null) {
            this.d = bundle.getInt("mode", 3);
            this.e = bundle.getBoolean("show_gallery", false);
        } else if (getIntent().getExtras() != null) {
            this.d = getIntent().getExtras().getInt("mode", 3);
            this.e = getIntent().getExtras().getBoolean("show_gallery", false);
        } else {
            this.d = 3;
            this.e = false;
        }
        this.g = findViewById(R.id.image_cropper);
        ((ImageView) findViewById(R.id.btn_back)).setOnClickListener(this);
        TextView textView = (TextView) findViewById(R.id.btn_save);
        this.h = textView;
        textView.setOnClickListener(this);
        FloatingActionButton findViewById = findViewById(R.id.btn_capture);
        this.i = findViewById;
        findViewById.setOnClickListener(this);
        FloatingActionButton findViewById2 = findViewById(R.id.btn_capture_camera);
        this.j = findViewById2;
        findViewById2.setOnClickListener(this);
        FloatingActionButton findViewById3 = findViewById(R.id.btn_capture_gallery);
        this.k = findViewById3;
        findViewById3.setOnClickListener(this);
        this.g.setOnCropImageCompleteListener(this);
        int i = this.d;
        if (i == 1) {
            this.g.setAspectRatio(3, 4);
            this.g.setCropShape(CropImageView.CropShape.RECTANGLE);
        } else if (i == 2) {
            this.g.setAspectRatio(4, 3);
            this.g.setCropShape(CropImageView.CropShape.RECTANGLE);
        } else {
            this.g.setAspectRatio(1, 1);
            this.g.setCropShape(Build.VERSION.SDK_INT >= 24 ? CropImageView.CropShape.RECTANGLE : CropImageView.CropShape.OVAL);
        }
        this.h.setVisibility(8);
        if (this.e) {
            this.i.setImageResource(R.drawable.ic_jay_take_gallery);
        } else {
            this.i.setImageResource(R.drawable.ic_camera);
        }
        onCaptureRequest();
        getToolbar().setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                ImageChooserActivity.this.l(view);
            }
        });
    }

    public void onCropImageComplete(CropImageView cropImageView, CropImageView.CropResult cropResult) {
        WidgetHelper.setReadonly(this.h, false);
        if (cropResult == null || cropResult.getUri() == null) {
            return;
        }
        Intent intent = new Intent();
        intent.putExtra("img_uri", cropResult.getUri());
        setResult(-1, intent);
        finish();
    }

    public void onDestroy() {
        this.c = null;
        super.onDestroy();
    }

    @Override
    public void onRequestPermissionsResult(int i, @NonNull String[] strArr, @NonNull int[] iArr) {
        String str;
        super.onRequestPermissionsResult(i, strArr, iArr);
        if (i == 125) {
            int i2 = 0;
            boolean z = true;
            while (true) {
                str = "";
                if (i2 >= iArr.length) {
                    break;
                }
                z = iArr[i2] == 0;
                if (z) {
                    i2++;
                } else if (strArr[i2].equals("android.permission.CAMERA")) {
                    str = getString(R.string.splash_permission_ACCESS_CAMERA_PHOTO);
                } else if (strArr[i2].equals("android.permission.WRITE_EXTERNAL_STORAGE")) {
                    str = getString(R.string.splash_permission_READ_WRITE_EXTERNAL_STORAGE);
                }
            }
            if (z) {
                onCaptureCameraRequest();
            } else {
                Toast.makeText((Context) this, (CharSequence) str, 0).show();
            }
        }
    }

    public void onSaveInstanceState(Bundle bundle) {
        bundle.putSerializable("mode", Integer.valueOf(this.d));
        bundle.putBoolean("show_gallery", this.e);
        super/*androidx.activity.ComponentActivity*/.onSaveInstanceState(bundle);
    }

    public final void z() {
        if (this.f) {
            this.f = false;
            this.j.animate().setListener(new a()).translationY(RecyclerView.G0);
            this.k.animate().setListener(new b()).translationY(RecyclerView.G0);
            this.i.setImageResource(R.drawable.ic_camera);
        }
    }
}