正在查看: Namma Yatri v3.3.7 应用的 CropImageActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Namma Yatri v3.3.7 应用的 CropImageActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package in.juspay.mobility.common.cropImage;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.PorterDuff;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
import androidx.appcompat.app.d;
import in.juspay.mobility.common.R;
import in.juspay.mobility.common.cropImage.CropImage;
import in.juspay.mobility.common.cropImage.CropImageView;
import java.io.File;
import java.io.IOException;
public class CropImageActivity extends d implements CropImageView.OnSetImageUriCompleteListener, CropImageView.OnCropImageCompleteListener {
private Uri mCropImageUri;
private CropImageView mCropImageView;
private CropImageOptions mOptions;
private void updateMenuItemIconColor(Menu menu, int i, int i2) {
Drawable icon;
MenuItem findItem = menu.findItem(i);
if (findItem == null || (icon = findItem.getIcon()) == null) {
return;
}
try {
icon.mutate();
icon.setColorFilter(i2, PorterDuff.Mode.SRC_ATOP);
findItem.setIcon(icon);
} catch (Exception e) {
Log.w("AIC", "Failed to update menu item color", e);
}
}
protected void cropImage() {
if (this.mOptions.noOutputImage) {
setResult(null, null, 1);
return;
}
Uri outputUri = getOutputUri();
CropImageView cropImageView = this.mCropImageView;
CropImageOptions cropImageOptions = this.mOptions;
cropImageView.saveCroppedImageAsync(outputUri, cropImageOptions.outputCompressFormat, cropImageOptions.outputCompressQuality, cropImageOptions.outputRequestWidth, cropImageOptions.outputRequestHeight, cropImageOptions.outputRequestSizeOptions);
}
protected Uri getOutputUri() {
Uri uri = this.mOptions.outputUri;
if (uri != null && !uri.equals(Uri.EMPTY)) {
return uri;
}
try {
Bitmap.CompressFormat compressFormat = this.mOptions.outputCompressFormat;
return Uri.fromFile(File.createTempFile("cropped", compressFormat == Bitmap.CompressFormat.JPEG ? ".jpg" : compressFormat == Bitmap.CompressFormat.PNG ? ".png" : ".webp", getCacheDir()));
} catch (IOException e) {
throw new RuntimeException("Failed to create temp file for output image", e);
}
}
protected Intent getResultIntent(Uri uri, Exception exc, int i) {
CropImage.ActivityResult activityResult = new CropImage.ActivityResult(this.mCropImageView.getImageUri(), uri, exc, this.mCropImageView.getCropPoints(), this.mCropImageView.getCropRect(), this.mCropImageView.getRotatedDegrees(), this.mCropImageView.getWholeImageRect(), i);
Intent intent = new Intent();
intent.putExtras(getIntent());
intent.putExtra(CropImage.CROP_IMAGE_EXTRA_RESULT, activityResult);
return intent;
}
protected void onActivityResult(int i, int i2, Intent intent) {
if (i == 200) {
if (i2 == 0) {
setResultCancel();
}
if (i2 == -1) {
Uri pickImageResultUri = CropImage.getPickImageResultUri(this, intent);
this.mCropImageUri = pickImageResultUri;
if (CropImage.isReadExternalStoragePermissionsRequired(this, pickImageResultUri)) {
requestPermissions(new String[]{"android.permission.READ_EXTERNAL_STORAGE"}, CropImage.PICK_IMAGE_PERMISSIONS_REQUEST_CODE);
} else {
this.mCropImageView.setImageUriAsync(this.mCropImageUri);
}
}
}
}
public void onBackPressed() {
super/*androidx.activity.ComponentActivity*/.onBackPressed();
setResultCancel();
}
public void onCreate(Bundle bundle) {
CharSequence charSequence;
super/*androidx.fragment.app.FragmentActivity*/.onCreate(bundle);
setContentView(R.layout.ny_crop_image_activity);
this.mCropImageView = (CropImageView) findViewById(R.id.ny_cropImageView);
Bundle bundleExtra = getIntent().getBundleExtra(CropImage.CROP_IMAGE_EXTRA_BUNDLE);
this.mCropImageUri = (Uri) bundleExtra.getParcelable(CropImage.CROP_IMAGE_EXTRA_SOURCE);
this.mOptions = (CropImageOptions) bundleExtra.getParcelable(CropImage.CROP_IMAGE_EXTRA_OPTIONS);
if (bundle == null) {
Uri uri = this.mCropImageUri;
if (uri == null || uri.equals(Uri.EMPTY)) {
if (CropImage.isExplicitCameraPermissionRequired(this)) {
requestPermissions(new String[]{"android.permission.CAMERA"}, CropImage.CAMERA_CAPTURE_PERMISSIONS_REQUEST_CODE);
} else {
CropImage.startPickImageActivity(this);
}
} else if (CropImage.isReadExternalStoragePermissionsRequired(this, this.mCropImageUri)) {
requestPermissions(new String[]{"android.permission.READ_EXTERNAL_STORAGE"}, CropImage.PICK_IMAGE_PERMISSIONS_REQUEST_CODE);
} else {
this.mCropImageView.setImageUriAsync(this.mCropImageUri);
}
}
androidx.appcompat.app.a supportActionBar = getSupportActionBar();
if (supportActionBar != null) {
CropImageOptions cropImageOptions = this.mOptions;
supportActionBar.v((cropImageOptions == null || (charSequence = cropImageOptions.activityTitle) == null || charSequence.length() <= 0) ? getResources().getString(R.string.ny_crop_image_activity_title) : this.mOptions.activityTitle);
supportActionBar.s(true);
}
}
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.ny_crop_image_menu, menu);
CropImageOptions cropImageOptions = this.mOptions;
if (!cropImageOptions.allowRotation) {
menu.removeItem(R.id.ny_crop_image_menu_rotate_left);
menu.removeItem(R.id.ny_crop_image_menu_rotate_right);
} else if (cropImageOptions.allowCounterRotation) {
menu.findItem(R.id.ny_crop_image_menu_rotate_left).setVisible(true);
}
if (!this.mOptions.allowFlipping) {
menu.removeItem(R.id.ny_crop_image_menu_flip);
}
if (this.mOptions.cropMenuCropButtonTitle != null) {
menu.findItem(R.id.ny_crop_image_menu_crop).setTitle(this.mOptions.cropMenuCropButtonTitle);
}
Drawable drawable = null;
try {
int i = this.mOptions.cropMenuCropButtonIcon;
if (i != 0) {
drawable = androidx.core.content.a.getDrawable(this, i);
menu.findItem(R.id.ny_crop_image_menu_crop).setIcon(drawable);
}
} catch (Exception e) {
Log.w("AIC", "Failed to read menu crop drawable", e);
}
int i2 = this.mOptions.activityMenuIconColor;
if (i2 != 0) {
updateMenuItemIconColor(menu, R.id.ny_crop_image_menu_rotate_left, i2);
updateMenuItemIconColor(menu, R.id.ny_crop_image_menu_rotate_right, this.mOptions.activityMenuIconColor);
updateMenuItemIconColor(menu, R.id.ny_crop_image_menu_flip, this.mOptions.activityMenuIconColor);
if (drawable != null) {
updateMenuItemIconColor(menu, R.id.ny_crop_image_menu_crop, this.mOptions.activityMenuIconColor);
}
}
return true;
}
@Override
public void onCropImageComplete(CropImageView cropImageView, CropImageView.CropResult cropResult) {
setResult(cropResult.getUri(), cropResult.getError(), cropResult.getSampleSize());
}
public boolean onOptionsItemSelected(MenuItem menuItem) {
if (menuItem.getItemId() == R.id.ny_crop_image_menu_crop) {
cropImage();
return true;
}
if (menuItem.getItemId() == R.id.ny_crop_image_menu_rotate_left) {
rotateImage(-this.mOptions.rotationDegrees);
return true;
}
if (menuItem.getItemId() == R.id.ny_crop_image_menu_rotate_right) {
rotateImage(this.mOptions.rotationDegrees);
return true;
}
if (menuItem.getItemId() == R.id.ny_crop_image_menu_flip_horizontally) {
this.mCropImageView.flipImageHorizontally();
return true;
}
if (menuItem.getItemId() == R.id.ny_crop_image_menu_flip_vertically) {
this.mCropImageView.flipImageVertically();
return true;
}
if (menuItem.getItemId() != 16908332) {
return super/*android.app.Activity*/.onOptionsItemSelected(menuItem);
}
setResultCancel();
return true;
}
public void onRequestPermissionsResult(int i, String[] strArr, int[] iArr) {
if (i == 201) {
Uri uri = this.mCropImageUri;
if (uri == null || iArr.length <= 0 || iArr[0] != 0) {
Toast.makeText((Context) this, R.string.ny_crop_image_activity_no_permissions, 1).show();
setResultCancel();
} else {
this.mCropImageView.setImageUriAsync(uri);
}
}
if (i == 2011) {
CropImage.startPickImageActivity(this);
}
}
@Override
public void onSetImageUriComplete(CropImageView cropImageView, Uri uri, Exception exc) {
if (exc != null) {
setResult(null, exc, 1);
return;
}
Rect rect = this.mOptions.initialCropWindowRectangle;
if (rect != null) {
this.mCropImageView.setCropRect(rect);
}
int i = this.mOptions.initialRotation;
if (i > -1) {
this.mCropImageView.setRotatedDegrees(i);
}
}
protected void onStart() {
super.onStart();
this.mCropImageView.setOnSetImageUriCompleteListener(this);
this.mCropImageView.setOnCropImageCompleteListener(this);
}
protected void onStop() {
super.onStop();
this.mCropImageView.setOnSetImageUriCompleteListener(null);
this.mCropImageView.setOnCropImageCompleteListener(null);
}
protected void rotateImage(int i) {
this.mCropImageView.rotateImage(i);
}
protected void setResult(Uri uri, Exception exc, int i) {
setResult(exc == null ? -1 : CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE, getResultIntent(uri, exc, i));
finish();
}
protected void setResultCancel() {
setResult(0);
finish();
}
}