From 45ca3bd7cfa6db704aff7be0b231d5001c8f7e64 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Mon, 14 Nov 2022 09:56:32 -0400 Subject: [PATCH] Show default gallery icon if permissions is disabled or media is not available. --- .../securesms/mediasend/Camera1Fragment.java | 33 ++++++------------- .../securesms/mediasend/CameraXFragment.java | 33 ++++++------------- 2 files changed, 20 insertions(+), 46 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/Camera1Fragment.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/Camera1Fragment.java index 58e3ba65ba..157e5d904d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/Camera1Fragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/Camera1Fragment.java @@ -5,6 +5,7 @@ import android.annotation.SuppressLint; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.graphics.Bitmap; +import android.graphics.Color; import android.graphics.Matrix; import android.graphics.Point; import android.graphics.PointF; @@ -83,9 +84,6 @@ public class Camera1Fragment extends LoggingFragment implements CameraFragment, private Disposable mostRecentItemDisposable = Disposable.disposed(); private CameraScreenBrightnessController cameraScreenBrightnessController; - private boolean isThumbAvailable; - private boolean isMediaSelected; - public static Camera1Fragment newInstance() { return new Camera1Fragment(); } @@ -274,21 +272,23 @@ public class Camera1Fragment extends LoggingFragment implements CameraFragment, } private void presentRecentItemThumbnail(@Nullable Media media) { - ImageView thumbnail = controlsContainer.findViewById(R.id.camera_gallery_button); + View thumbBackground = controlsContainer.findViewById(R.id.camera_gallery_button_background); + ImageView thumbnail = controlsContainer.findViewById(R.id.camera_gallery_button); if (media != null) { - thumbnail.setVisibility(View.VISIBLE); + thumbBackground.setBackgroundResource(R.drawable.circle_tintable); + thumbnail.clearColorFilter(); + thumbnail.setScaleType(ImageView.ScaleType.FIT_CENTER); Glide.with(this) .load(new DecryptableUri(media.getUri())) .centerCrop() .into(thumbnail); } else { - thumbnail.setVisibility(View.GONE); - thumbnail.setImageResource(0); + thumbBackground.setBackgroundResource(R.drawable.media_selection_camera_switch_background); + thumbnail.setImageResource(R.drawable.ic_gallery_outline_24); + thumbnail.setColorFilter(Color.WHITE); + thumbnail.setScaleType(ImageView.ScaleType.CENTER_INSIDE); } - - isThumbAvailable = media != null; - updateGalleryVisibility(); } @Override @@ -304,19 +304,6 @@ public class Camera1Fragment extends LoggingFragment implements CameraFragment, countButton.setVisibility(View.GONE); cameraGalleryContainer.setVisibility(View.VISIBLE); } - - isMediaSelected = selectedMediaCount > 0; - updateGalleryVisibility(); - } - - private void updateGalleryVisibility() { - View cameraGalleryContainer = controlsContainer.findViewById(R.id.camera_gallery_button_background); - - if (isMediaSelected || !isThumbAvailable) { - cameraGalleryContainer.setVisibility(View.GONE); - } else { - cameraGalleryContainer.setVisibility(View.VISIBLE); - } } private void initControls() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXFragment.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXFragment.java index d6a839cf25..75b6b45f39 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraXFragment.java @@ -6,6 +6,7 @@ import android.content.Context; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.content.res.Resources; +import android.graphics.Color; import android.os.Build; import android.os.Bundle; import android.util.Rational; @@ -94,9 +95,6 @@ public class CameraXFragment extends LoggingFragment implements CameraFragment { private CameraXModePolicy cameraXModePolicy; private CameraScreenBrightnessController cameraScreenBrightnessController; - private boolean isThumbAvailable; - private boolean isMediaSelected; - public static CameraXFragment newInstanceForAvatarCapture() { CameraXFragment fragment = new CameraXFragment(); Bundle args = new Bundle(); @@ -250,21 +248,23 @@ public class CameraXFragment extends LoggingFragment implements CameraFragment { } private void presentRecentItemThumbnail(@Nullable Media media) { - ImageView thumbnail = controlsContainer.findViewById(R.id.camera_gallery_button); + View thumbBackground = controlsContainer.findViewById(R.id.camera_gallery_button_background); + ImageView thumbnail = controlsContainer.findViewById(R.id.camera_gallery_button); if (media != null) { - thumbnail.setVisibility(View.VISIBLE); + thumbBackground.setBackgroundResource(R.drawable.circle_tintable); + thumbnail.clearColorFilter(); + thumbnail.setScaleType(ImageView.ScaleType.FIT_CENTER); Glide.with(this) .load(new DecryptableUri(media.getUri())) .centerCrop() .into(thumbnail); } else { - thumbnail.setVisibility(View.GONE); - thumbnail.setImageResource(0); + thumbBackground.setBackgroundResource(R.drawable.media_selection_camera_switch_background); + thumbnail.setImageResource(R.drawable.ic_gallery_outline_24); + thumbnail.setColorFilter(Color.WHITE); + thumbnail.setScaleType(ImageView.ScaleType.CENTER_INSIDE); } - - isThumbAvailable = media != null; - updateGalleryVisibility(); } @Override @@ -277,19 +277,6 @@ public class CameraXFragment extends LoggingFragment implements CameraFragment { } else { countButton.setVisibility(View.GONE); } - - isMediaSelected = selectedMediaCount > 0; - updateGalleryVisibility(); - } - - private void updateGalleryVisibility() { - View cameraGalleryContainer = controlsContainer.findViewById(R.id.camera_gallery_button_background); - - if (isMediaSelected || !isThumbAvailable) { - cameraGalleryContainer.setVisibility(View.GONE); - } else { - cameraGalleryContainer.setVisibility(View.VISIBLE); - } } private void initializeViewFinderAndControlsPositioning() {