正在查看: SpeedCash v6.5.1482 应用的 ImageChooserActivity.java JAVA 源代码文件
本页面展示 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);
}
}
}