Show default gallery icon if permissions is disabled or media is not available.

main
Alex Hart 2022-11-14 09:56:32 -04:00
rodzic 74b7057608
commit 45ca3bd7cf
2 zmienionych plików z 20 dodań i 46 usunięć

Wyświetl plik

@ -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() {

Wyświetl plik

@ -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() {