From 13d376b25b473bb3ec7a8415a3614c647d6607b9 Mon Sep 17 00:00:00 2001 From: Adam Serbinski Date: Thu, 4 Nov 2021 10:36:01 -0400 Subject: [PATCH] Add toggles for crop and lowres Upper left -- crop Upper right -- lowres (1920x?) Signed-off-by: Adam Serbinski --- .../talk/activities/TakePhotoActivity.java | 26 +++++++- .../main/res/layout/activity_take_picture.xml | 59 +++++++++++++++++++ app/src/main/res/values/strings.xml | 2 + 3 files changed, 86 insertions(+), 1 deletion(-) 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