正在查看: Top浏览器 v4.6.16 应用的 CropImageActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Top浏览器 v4.6.16 应用的 CropImageActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.theartofdev.edmodo.cropper;
import android.annotation.SuppressLint;
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.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import com.theartofdev.edmodo.cropper.CropImage;
import com.theartofdev.edmodo.cropper.CropImageView;
import com.uc.crashsdk.export.CrashStatKey;
import java.io.File;
import java.io.IOException;
public class CropImageActivity extends AppCompatActivity implements CropImageView.i, CropImageView.e {
public CropImageView a;
public Uri b;
public CropImageOptions f2018c;
@Override
public void e(CropImageView cropImageView, Uri uri, Exception exc) {
if (exc != null) {
s(null, exc, 1);
return;
}
Rect rect = this.f2018c.W;
if (rect != null) {
this.a.setCropRect(rect);
}
int i2 = this.f2018c.X;
if (i2 > -1) {
this.a.setRotatedDegrees(i2);
}
}
@Override
public void g(CropImageView cropImageView, CropImageView.b bVar) {
s(bVar.g(), bVar.c(), bVar.f());
}
public void o() {
if (this.f2018c.V) {
s(null, null, 1);
return;
}
Uri p = p();
CropImageView cropImageView = this.a;
CropImageOptions cropImageOptions = this.f2018c;
cropImageView.p(p, cropImageOptions.Q, cropImageOptions.R, cropImageOptions.S, cropImageOptions.T, cropImageOptions.U);
}
@SuppressLint({"NewApi"})
public void onActivityResult(int i2, int i3, Intent intent) {
if (i2 == 200) {
if (i3 == 0) {
t();
}
if (i3 == -1) {
Uri h2 = CropImage.h(this, intent);
this.b = h2;
if (CropImage.k(this, h2)) {
requestPermissions(new String[]{"android.permission.READ_EXTERNAL_STORAGE"}, CrashStatKey.LOG_UPLOAD_ENCRYPT_COUNT);
} else {
this.a.setImageUriAsync(this.b);
}
}
}
}
public void onBackPressed() {
super/*androidx.activity.ComponentActivity*/.onBackPressed();
t();
}
@SuppressLint({"NewApi"})
public void onCreate(Bundle bundle) {
CharSequence charSequence;
super.onCreate(bundle);
setContentView(R$layout.crop_image_activity);
this.a = (CropImageView) findViewById(R$id.cropImageView);
Bundle bundleExtra = getIntent().getBundleExtra("CROP_IMAGE_EXTRA_BUNDLE");
this.b = (Uri) bundleExtra.getParcelable("CROP_IMAGE_EXTRA_SOURCE");
this.f2018c = (CropImageOptions) bundleExtra.getParcelable("CROP_IMAGE_EXTRA_OPTIONS");
if (bundle == null) {
Uri uri = this.b;
if (uri == null || uri.equals(Uri.EMPTY)) {
if (CropImage.j(this)) {
requestPermissions(new String[]{"android.permission.CAMERA"}, 2011);
} else {
CropImage.m(this);
}
} else if (CropImage.k(this, this.b)) {
requestPermissions(new String[]{"android.permission.READ_EXTERNAL_STORAGE"}, CrashStatKey.LOG_UPLOAD_ENCRYPT_COUNT);
} else {
this.a.setImageUriAsync(this.b);
}
}
ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar != null) {
CropImageOptions cropImageOptions = this.f2018c;
supportActionBar.setTitle((cropImageOptions == null || (charSequence = cropImageOptions.D) == null || charSequence.length() <= 0) ? getResources().getString(R$string.crop_image_activity_title) : this.f2018c.D);
supportActionBar.setDisplayHomeAsUpEnabled(true);
}
}
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R$menu.crop_image_menu, menu);
CropImageOptions cropImageOptions = this.f2018c;
if (!cropImageOptions.Y) {
menu.removeItem(R$id.crop_image_menu_rotate_left);
menu.removeItem(R$id.crop_image_menu_rotate_right);
} else if (cropImageOptions.a0) {
menu.findItem(R$id.crop_image_menu_rotate_left).setVisible(true);
}
if (!this.f2018c.Z) {
menu.removeItem(R$id.crop_image_menu_flip);
}
if (this.f2018c.e0 != null) {
menu.findItem(R$id.crop_image_menu_crop).setTitle(this.f2018c.e0);
}
Drawable drawable = null;
try {
int i2 = this.f2018c.f0;
if (i2 != 0) {
drawable = ContextCompat.getDrawable(this, i2);
menu.findItem(R$id.crop_image_menu_crop).setIcon(drawable);
}
} catch (Exception e2) {
Log.w("AIC", "Failed to read menu crop drawable", e2);
}
int i3 = this.f2018c.O;
if (i3 != 0) {
u(menu, R$id.crop_image_menu_rotate_left, i3);
u(menu, R$id.crop_image_menu_rotate_right, this.f2018c.O);
u(menu, R$id.crop_image_menu_flip, this.f2018c.O);
if (drawable != null) {
u(menu, R$id.crop_image_menu_crop, this.f2018c.O);
}
}
return true;
}
public boolean onOptionsItemSelected(MenuItem menuItem) {
if (menuItem.getItemId() == R$id.crop_image_menu_crop) {
o();
return true;
}
if (menuItem.getItemId() == R$id.crop_image_menu_rotate_left) {
r(-this.f2018c.b0);
return true;
}
if (menuItem.getItemId() == R$id.crop_image_menu_rotate_right) {
r(this.f2018c.b0);
return true;
}
if (menuItem.getItemId() == R$id.crop_image_menu_flip_horizontally) {
this.a.f();
return true;
}
if (menuItem.getItemId() == R$id.crop_image_menu_flip_vertically) {
this.a.g();
return true;
}
if (menuItem.getItemId() != 16908332) {
return super/*android.app.Activity*/.onOptionsItemSelected(menuItem);
}
t();
return true;
}
public void onRequestPermissionsResult(int i2, @NonNull String[] strArr, @NonNull int[] iArr) {
if (i2 == 201) {
Uri uri = this.b;
if (uri == null || iArr.length <= 0 || iArr[0] != 0) {
Toast.makeText((Context) this, R$string.crop_image_activity_no_permissions, 1).show();
t();
} else {
this.a.setImageUriAsync(uri);
}
}
if (i2 == 2011) {
CropImage.m(this);
}
}
public void onStart() {
super.onStart();
this.a.setOnSetImageUriCompleteListener(this);
this.a.setOnCropImageCompleteListener(this);
}
public void onStop() {
super.onStop();
this.a.setOnSetImageUriCompleteListener(null);
this.a.setOnCropImageCompleteListener(null);
}
public Uri p() {
Uri uri = this.f2018c.P;
if (uri != null && !uri.equals(Uri.EMPTY)) {
return uri;
}
try {
Bitmap.CompressFormat compressFormat = this.f2018c.Q;
return Uri.fromFile(File.createTempFile("cropped", compressFormat == Bitmap.CompressFormat.JPEG ? ".jpg" : compressFormat == Bitmap.CompressFormat.PNG ? ".png" : ".webp", getCacheDir()));
} catch (IOException e2) {
throw new RuntimeException("Failed to create temp file for output image", e2);
}
}
public Intent q(Uri uri, Exception exc, int i2) {
CropImage.ActivityResult activityResult = new CropImage.ActivityResult(this.a.getImageUri(), uri, exc, this.a.getCropPoints(), this.a.getCropRect(), this.a.getRotatedDegrees(), this.a.getWholeImageRect(), i2);
Intent intent = new Intent();
intent.putExtras(getIntent());
intent.putExtra("CROP_IMAGE_EXTRA_RESULT", activityResult);
return intent;
}
public void r(int i2) {
this.a.o(i2);
}
public void s(Uri uri, Exception exc, int i2) {
setResult(exc == null ? -1 : 204, q(uri, exc, i2));
finish();
}
public void t() {
setResult(0);
finish();
}
public final void u(Menu menu, int i2, int i3) {
Drawable icon;
MenuItem findItem = menu.findItem(i2);
if (findItem == null || (icon = findItem.getIcon()) == null) {
return;
}
try {
icon.mutate();
icon.setColorFilter(i3, PorterDuff.Mode.SRC_ATOP);
findItem.setIcon(icon);
} catch (Exception e2) {
Log.w("AIC", "Failed to update menu item color", e2);
}
}
}