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