正在查看: 公务员之家 v1.0.1 应用的 PictureCameraActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 公务员之家 v1.0.1 应用的 PictureCameraActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.luck.lib.camerax;
import android.content.Intent;
import android.content.res.Configuration;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.luck.lib.camerax.listener.CameraListener;
import com.luck.lib.camerax.listener.ClickListener;
import com.luck.lib.camerax.listener.IObtainCameraView;
import com.luck.lib.camerax.listener.ImageCallbackListener;
import com.luck.lib.camerax.permissions.PermissionChecker;
import com.luck.lib.camerax.permissions.PermissionResultCallback;
import com.luck.lib.camerax.utils.SimpleXSpUtils;
import com.umeng.analytics.pro.bb;
public class PictureCameraActivity extends AppCompatActivity implements IObtainCameraView {
private CustomCameraView mCameraView;
private PermissionResultCallback mPermissionResultCallback;
protected void onCreate(Bundle bundle) {
getWindow().setFlags(1024, 1024);
getWindow().setFlags(67108864, 67108864);
getWindow().setFlags(134217728, 134217728);
if (Build.VERSION.SDK_INT >= 28) {
WindowManager.LayoutParams attributes = getWindow().getAttributes();
attributes.layoutInDisplayCutoutMode = 1;
getWindow().setAttributes(attributes);
}
getWindow().addFlags(bb.d);
super.onCreate(bundle);
this.mCameraView = new CustomCameraView(this);
this.mCameraView.setLayoutParams(new RelativeLayout.LayoutParams(-1, -1));
setContentView(this.mCameraView);
this.mCameraView.post(new Runnable() {
@Override
public void run() {
PictureCameraActivity.this.mCameraView.setCameraConfig(PictureCameraActivity.this.getIntent());
}
});
this.mCameraView.setImageCallbackListener(new ImageCallbackListener() {
@Override
public void onLoadImage(String str, ImageView imageView) {
if (CustomCameraConfig.imageEngine != null) {
CustomCameraConfig.imageEngine.loadImage(imageView.getContext(), str, imageView);
}
}
});
this.mCameraView.setCameraListener(new CameraListener() {
@Override
public void onPictureSuccess(String str) {
PictureCameraActivity.this.handleCameraSuccess();
}
@Override
public void onRecordSuccess(String str) {
PictureCameraActivity.this.handleCameraSuccess();
}
@Override
public void onError(int i, String str, Throwable th) {
Toast.makeText(PictureCameraActivity.this.getApplicationContext(), str, 1).show();
}
});
this.mCameraView.setOnCancelClickListener(new ClickListener() {
@Override
public void onClick() {
PictureCameraActivity.this.handleCameraCancel();
}
});
}
public void handleCameraSuccess() {
new Intent().putExtra("output", (Uri) getIntent().getParcelableExtra("output"));
setResult(-1, getIntent());
onBackPressed();
}
public void handleCameraCancel() {
setResult(0);
onBackPressed();
}
public boolean onKeyDown(int i, KeyEvent keyEvent) {
if (i == 4) {
this.mCameraView.onCancelMedia();
}
return super.onKeyDown(i, keyEvent);
}
public void onConfigurationChanged(Configuration configuration) {
super.onConfigurationChanged(configuration);
this.mCameraView.onConfigurationChanged(configuration);
}
public void onBackPressed() {
CustomCameraConfig.destroy();
if (Build.VERSION.SDK_INT == 29) {
finishAfterTransition();
} else {
super.onBackPressed();
}
}
protected void onActivityResult(int i, int i2, Intent intent) {
super.onActivityResult(i, i2, intent);
if (CustomCameraConfig.explainListener != null) {
CustomCameraConfig.explainListener.onDismiss(this.mCameraView);
}
if (i == 1102) {
if (PermissionChecker.checkSelfPermission(this, new String[]{"android.permission.CAMERA"})) {
this.mCameraView.buildUseCameraCases();
return;
} else {
SimpleXSpUtils.putBoolean(this, "android.permission.CAMERA", true);
handleCameraCancel();
return;
}
}
if (i != 1103 || PermissionChecker.checkSelfPermission(this, new String[]{"android.permission.RECORD_AUDIO"})) {
return;
}
SimpleXSpUtils.putBoolean(this, "android.permission.RECORD_AUDIO", true);
Toast.makeText(getApplicationContext(), "Missing recording permission", 1).show();
}
public void setPermissionsResultAction(PermissionResultCallback permissionResultCallback) {
this.mPermissionResultCallback = permissionResultCallback;
}
protected void onDestroy() {
this.mCameraView.onDestroy();
super.onDestroy();
}
public void onRequestPermissionsResult(int i, String[] strArr, int[] iArr) {
super.onRequestPermissionsResult(i, strArr, iArr);
if (this.mPermissionResultCallback != null) {
PermissionChecker.getInstance().onRequestPermissionsResult(iArr, this.mPermissionResultCallback);
this.mPermissionResultCallback = null;
}
}
@Override
public ViewGroup getCustomCameraView() {
return this.mCameraView;
}
}