diff --git a/app/src/main/java/com/nextcloud/talk/activities/TakePhotoActivity.java b/app/src/main/java/com/nextcloud/talk/activities/TakePhotoActivity.java index a3a693b94..c14da0b89 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/TakePhotoActivity.java +++ b/app/src/main/java/com/nextcloud/talk/activities/TakePhotoActivity.java @@ -109,8 +109,32 @@ public class TakePhotoActivity extends AppCompatActivity { .observe( this, enabled -> camera.getCameraControl().enableTorch(enabled)); - binding.toggleTorch.setOnClickListener((v) -> viewModel.toggleTorchEnabled()); + + binding.toggleCrop.setOnClickListener((v) -> { + crop = !crop; + binding.toggleCrop.setIcon(ContextCompat.getDrawable(this, crop ? + R.drawable.ic_baseline_flash_on_24 : R.drawable.ic_baseline_flash_off_24)); + cameraProvider.unbindAll(); + camera = cameraProvider.bindToLifecycle( + this, + viewModel.getCameraSelector(), + getImageCapture(crop, lowres), + getPreview(crop)); + }); + + binding.toggleLowres.setOnClickListener((v) -> { + lowres = !lowres; + binding.toggleLowres.setIcon(ContextCompat.getDrawable(this, lowres ? + R.drawable.ic_baseline_flash_on_24 : R.drawable.ic_baseline_flash_off_24)); + cameraProvider.unbindAll(); + camera = cameraProvider.bindToLifecycle( + this, + viewModel.getCameraSelector(), + getImageCapture(crop, lowres), + getPreview(crop)); + }); + binding.switchCamera.setOnClickListener((v) -> { viewModel.toggleCameraSelector(); cameraProvider.unbindAll(); diff --git a/app/src/main/res/layout/activity_take_picture.xml b/app/src/main/res/layout/activity_take_picture.xml index fd898ba12..90af7976f 100644 --- a/app/src/main/res/layout/activity_take_picture.xml +++ b/app/src/main/res/layout/activity_take_picture.xml @@ -43,6 +43,65 @@ android:scaleType="fitCenter" android:visibility="invisible" /> + + + + Switch camera Re-take photo Toggle torch + Crop photo + Reduce image size Send Error taking picture Taking a photo is not possible without permissions