湘游汇 v1.0版本的 MD5 值为:85338391d88b5d57da66e240ece801c7
以下内容为反编译后的 f.java 源代码,内容仅作参考
package com.wildma.pictureselector;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.provider.MediaStore;
import android.widget.Toast;
import androidx.core.content.FileProvider;
import java.io.File;
import java.io.FileNotFoundException;
public class f {
private static Uri f804a;
private static Uri b;
private static File c;
public static Intent a(Activity activity, Uri uri, int i, int i2, int i3, int i4) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
intent.putExtra("crop", "true");
if (i3 != 0 && i3 == i4 && Build.MANUFACTURER.equals("HUAWEI")) {
i3 = 9998;
i4 = 9999;
}
if (i != 0 && i2 != 0) {
intent.putExtra("outputX", i);
intent.putExtra("outputY", i2);
}
if (i3 != 0 || i4 != 0) {
intent.putExtra("aspectX", i3);
intent.putExtra("aspectY", i4);
}
intent.putExtra("scale", true);
intent.putExtra("scaleUpIfNeeded", true);
if (Build.VERSION.SDK_INT >= 24) {
intent.addFlags(1);
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("file:///");
stringBuffer.append(a.a(activity));
stringBuffer.append(File.separator);
stringBuffer.append(System.currentTimeMillis());
stringBuffer.append(".jpg");
b = Uri.parse(stringBuffer.toString());
intent.putExtra("output", b);
intent.putExtra("outputFormat", "JPEG");
intent.putExtra("noFaceDetection", true);
intent.putExtra("return-data", false);
return intent;
}
public static Bitmap a(Context context) {
try {
return BitmapFactory.decodeStream(context.getContentResolver().openInputStream(b));
} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
}
}
public static String a(Activity activity, int i, int i2, Intent intent, boolean z, int i3, int i4, int i5, int i6) {
String str = null;
if (i2 == -1) {
switch (i) {
case 17:
Uri data = intent.getData();
if (z) {
activity.startActivityForResult(a(activity, data, i3, i4, i5, i6), 19);
return null;
}
return b.a(activity, data);
case 18:
Uri uri = f804a;
if (z) {
activity.startActivityForResult(a(activity, uri, i3, i4, i5, i6), 19);
} else {
str = Build.VERSION.SDK_INT >= 29 ? b.a(activity, uri) : c.getAbsolutePath();
}
if (Build.VERSION.SDK_INT < 29) {
activity.sendBroadcast(new Intent("android.intent.action.MEDIA_SCANNER_SCAN_FILE", Uri.fromFile(c)));
return str;
}
return str;
case 19:
a((Context) activity);
return new File(b.getPath()).getAbsolutePath();
default:
return null;
}
}
return null;
}
public static void a(Activity activity) {
Intent intent = new Intent("android.intent.action.PICK", MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setType("image/*");
activity.startActivityForResult(intent, 17);
}
public static void b(Activity activity) {
f804a = c(activity);
if (f804a == null) {
Toast.makeText(activity, "打开相机失败", 1).show();
return;
}
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra("output", f804a);
activity.startActivityForResult(intent, 18);
}
public static Uri c(Activity activity) {
Uri fromFile;
ContentResolver contentResolver;
Uri uri;
if (Build.VERSION.SDK_INT >= 29) {
String valueOf = String.valueOf(System.currentTimeMillis());
ContentValues contentValues = new ContentValues(2);
contentValues.put("_display_name", valueOf);
contentValues.put("mime_type", "image/jpeg");
if (Environment.getExternalStorageState().equals("mounted")) {
contentResolver = activity.getContentResolver();
uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
} else {
contentResolver = activity.getContentResolver();
uri = MediaStore.Images.Media.INTERNAL_CONTENT_URI;
}
fromFile = contentResolver.insert(uri, contentValues);
} else {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(a.a());
stringBuffer.append(File.separator);
stringBuffer.append(System.currentTimeMillis());
stringBuffer.append(".jpg");
c = new File(stringBuffer.toString());
if (Build.VERSION.SDK_INT >= 24) {
fromFile = FileProvider.a(activity, activity.getPackageName() + ".fileProvider", c);
} else {
fromFile = Uri.fromFile(c);
}
}
f804a = fromFile;
return f804a;
}
}