Add toggles for crop and lowres

Upper left -- crop
Upper right -- lowres (1920x?)

Signed-off-by: Adam Serbinski <adam@serbinski.com>
This commit is contained in:
Adam Serbinski 2021-11-04 10:36:01 -04:00 committed by Andy Scherzinger
parent d2d98314ee
commit 13d376b25b
No known key found for this signature in database
GPG Key ID: 6CADC7E3523C308B
3 changed files with 86 additions and 1 deletions

View File

@ -109,8 +109,32 @@ public class TakePhotoActivity extends AppCompatActivity {
.observe( .observe(
this, this,
enabled -> camera.getCameraControl().enableTorch(enabled)); enabled -> camera.getCameraControl().enableTorch(enabled));
binding.toggleTorch.setOnClickListener((v) -> viewModel.toggleTorchEnabled()); 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) -> { binding.switchCamera.setOnClickListener((v) -> {
viewModel.toggleCameraSelector(); viewModel.toggleCameraSelector();
cameraProvider.unbindAll(); cameraProvider.unbindAll();

View File

@ -43,6 +43,65 @@
android:scaleType="fitCenter" android:scaleType="fitCenter"
android:visibility="invisible" /> android:visibility="invisible" />
<com.google.android.material.button.MaterialButton
android:id="@+id/toggle_crop"
style="@style/Widget.AppTheme.Button.IconButton"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginStart="0dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="12dp"
android:layout_marginBottom="12dp"
android:contentDescription="@string/take_photo_toggle_crop"
android:insetLeft="4dp"
android:insetTop="4dp"
android:insetRight="4dp"
android:insetBottom="4dp"
android:tint="@color/white"
app:backgroundTint="#99121212"
app:cornerRadius="@dimen/button_corner_radius"
app:elevation="0dp"
app:icon="@drawable/ic_baseline_flash_off_24"
app:iconGravity="textStart"
app:iconPadding="0dp"
app:iconSize="24dp"
app:iconTint="@color/white"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toStartOf="@id/takePhoto"
app:layout_constraintStart_toStartOf="parent" />
<com.google.android.material.button.MaterialButton
android:id="@+id/toggle_lowres"
style="@style/Widget.AppTheme.Button.IconButton"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="12dp"
android:contentDescription="@string/take_photo_toggle_lowres"
android:insetLeft="4dp"
android:insetTop="4dp"
android:insetRight="4dp"
android:insetBottom="4dp"
android:padding="0dp"
android:tint="@android:color/white"
app:backgroundTint="#99121212"
app:cornerRadius="@dimen/button_corner_radius"
app:elevation="0dp"
app:icon="@drawable/ic_baseline_flash_off_24"
app:iconGravity="textStart"
app:iconPadding="0dp"
app:iconSize="24dp"
app:iconTint="@color/white"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/takePhoto" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/toggle_torch" android:id="@+id/toggle_torch"
style="@style/Widget.AppTheme.Button.IconButton" style="@style/Widget.AppTheme.Button.IconButton"

View File

@ -478,6 +478,8 @@
<string name="take_photo_switch_camera">Switch camera</string> <string name="take_photo_switch_camera">Switch camera</string>
<string name="take_photo_retake_photo">Re-take photo</string> <string name="take_photo_retake_photo">Re-take photo</string>
<string name="take_photo_toggle_torch">Toggle torch</string> <string name="take_photo_toggle_torch">Toggle torch</string>
<string name="take_photo_toggle_crop">Crop photo</string>
<string name="take_photo_toggle_lowres">Reduce image size</string>
<string name="take_photo_send">Send</string> <string name="take_photo_send">Send</string>
<string name="take_photo_error_deleting_picture">Error taking picture</string> <string name="take_photo_error_deleting_picture">Error taking picture</string>
<string name="take_photo_permission">Taking a photo is not possible without permissions</string> <string name="take_photo_permission">Taking a photo is not possible without permissions</string>