package cn.com.magnity.magnitycx.sdk; import android.hardware.Camera; import android.view.SurfaceHolder; import cn.com.magnity.magnitycx.MagApplication; import java.util.List; /* loaded from: classes.dex */ public class VisibleCamera { private static Camera camera_; private static boolean isPreview_; public static void initCamera(int id, SurfaceHolder surfaceHolder, int size) { if (Camera.getNumberOfCameras() >= 1) { if (!isPreview_) { camera_ = Camera.open(id); setPreviewOrientation(id); } if (camera_ != null && !isPreview_) { try { Camera.Parameters parameters = camera_.getParameters(); setPreviewSize(parameters, size); parameters.setPictureFormat(256); parameters.set("jpeg-quality", 85); parameters.setFlashMode("auto"); parameters.setFocusMode("continuous-picture"); camera_.setParameters(parameters); camera_.setPreviewDisplay(surfaceHolder); camera_.startPreview(); camera_.cancelAutoFocus(); } catch (Exception e) { } isPreview_ = true; } } } public static void deinitCamera() { if (camera_ != null) { if (isPreview_) { camera_.stopPreview(); isPreview_ = false; } camera_.release(); camera_ = null; } } private static void setPreviewSize(Camera.Parameters parameters, int size) { List list = parameters.getSupportedPreviewSizes(); int num = list.size(); for (int i = 0; i < num; i++) { Camera.Size s = list.get(i); if ((s.width <= s.height || s.width * 3 == s.height * 4) && ((s.width >= s.height || s.width * 4 == s.height * 3) && Math.min(s.width, s.height) >= size)) { parameters.setPreviewSize(s.width, s.height); return; } } } private static void setPreviewOrientation(int id) { int result; if (camera_ != null) { Camera.CameraInfo info = new Camera.CameraInfo(); Camera.getCameraInfo(id, info); int rotation = MagApplication.windowManager.getDefaultDisplay().getRotation(); int degrees = 0; switch (rotation) { case 0: degrees = 0; break; case 1: degrees = 90; break; case 2: degrees = 180; break; case 3: degrees = 270; break; } if (info.facing == 1) { int result2 = (info.orientation + degrees) % 360; result = (360 - result2) % 360; } else { result = ((info.orientation - degrees) + 360) % 360; } camera_.setDisplayOrientation(result); } } public static boolean isCameraPermission() { if (camera_ != null) { return true; } try { Camera.open().release(); return true; } catch (Exception e) { return false; } } }