boolean resultGranted(int requestCode, String[] permissions, int[] grantResults) { if (requestCode != REQUEST_CODE) { return false; } if (grantResults.length < 1) { return false; } if (!(permissions[0].equals(Manifest.permission.CAMERA))) { return false; } View noPermissionView = activity.findViewById(R.id.no_permission); if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { noPermissionView.setVisibility(View.GONE); return true; } requestCameraPermission(); noPermissionView.setVisibility(View.VISIBLE); return false; } }
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (permissionsDelegate.resultGranted(requestCode, permissions, grantResults)) { fotoapparatSwitcher.start(); cameraView.setVisibility(View.VISIBLE); } }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cameraView = (CameraView) findViewById(R.id.camera_view); rectanglesView = (RectanglesView) findViewById(R.id.rectanglesView); hasCameraPermission = permissionsDelegate.hasCameraPermission(); if (hasCameraPermission) { cameraView.setVisibility(View.VISIBLE); } else { permissionsDelegate.requestCameraPermission(); } frontFotoapparat = createFotoapparat(LensPosition.FRONT); backFotoapparat = createFotoapparat(LensPosition.BACK); fotoapparatSwitcher = FotoapparatSwitcher.withDefault(backFotoapparat); View switchCameraButton = findViewById(R.id.switchCamera); switchCameraButton.setVisibility( canSwitchCameras() ? View.VISIBLE : View.GONE ); switchCameraButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { switchCamera(); } }); }