Skip to content
This repository was archived by the owner on May 23, 2025. It is now read-only.

Commit c811bc4

Browse files
committed
3335: Use a resource integer for aspect ratio values
1 parent cd83201 commit c811bc4

5 files changed

Lines changed: 16 additions & 11 deletions

File tree

app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static com.keylesspalace.tusky.viewdata.PollViewDataKt.buildDescription;
44

55
import android.content.Context;
6+
import android.content.res.Resources;
67
import android.graphics.drawable.BitmapDrawable;
78
import android.graphics.drawable.ColorDrawable;
89
import android.graphics.drawable.Drawable;
@@ -458,9 +459,11 @@ protected void setMediaPreviews(
458459
boolean showingContent,
459460
boolean useBlurhash
460461
) {
461-
462462
mediaPreview.setVisibility(View.VISIBLE);
463-
mediaPreview.setAspectRatios(AttachmentHelper.aspectRatios(attachments));
463+
Resources resources = this.content.getContext().getResources();
464+
double minAspect = resources.getInteger(R.integer.image_aspect_min_tenth) / 10.0;
465+
double maxAspect = resources.getInteger(R.integer.image_aspect_max_tenth) / 10.0;
466+
mediaPreview.setAspectRatios(AttachmentHelper.aspectRatios(attachments, minAspect, maxAspect));
464467

465468
mediaPreview.forEachIndexed((i, imageView, descriptionIndicator) -> {
466469
Attachment attachment = attachments.get(i);

app/src/main/java/com/keylesspalace/tusky/components/viewthread/edits/ViewEditsAdapter.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,9 @@ class ViewEditsAdapter(
128128
binding.statusEditMediaSensitivity.hide()
129129
} else {
130130
binding.statusEditMediaPreview.show()
131-
binding.statusEditMediaPreview.aspectRatios = edit.mediaAttachments.aspectRatios()
131+
val minAspect: Double = context.resources.getInteger(R.integer.image_aspect_min_tenth) / 10.0
132+
val maxAspect: Double = context.resources.getInteger(R.integer.image_aspect_max_tenth) / 10.0
133+
binding.statusEditMediaPreview.aspectRatios = edit.mediaAttachments.aspectRatios(minAspect, maxAspect)
132134

133135
binding.statusEditMediaPreview.forEachIndexed { index, imageView, descriptionIndicator ->
134136

app/src/main/java/com/keylesspalace/tusky/util/AttachmentHelper.kt

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,7 @@ private fun formatDuration(durationInSeconds: Double): String {
2727
return "%d:%02d:%02d".format(hours, minutes, seconds)
2828
}
2929

30-
fun List<Attachment>.aspectRatios(): List<Double> {
31-
val displayMetrics = Resources.getSystem().displayMetrics
32-
val deviceIsHigher = displayMetrics.heightPixels > displayMetrics.widthPixels
33-
34-
val minAspect = if (deviceIsHigher) 0.5 else 1.2
35-
val maxAspect = if (deviceIsHigher) 2.0 else 3.0
36-
30+
fun List<Attachment>.aspectRatios(minAspect: Double, maxAspect: Double): List<Double> {
3731
return map { attachment ->
3832
// clamp ratio between min & max, defaulting to 16:9 if there is no metadata
3933
val size = (attachment.meta?.small ?: attachment.meta?.original) ?: return@map 1.7778
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
<integer name="image_aspect_min_tenth">12</integer>
4+
<integer name="image_aspect_max_tenth">30</integer>
5+
</resources>
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources>
3+
<integer name="image_aspect_min_tenth">5</integer>
4+
<integer name="image_aspect_max_tenth">20</integer>
35
<integer name="profile_media_column_count">3</integer>
4-
56
<integer name="trending_column_count">1</integer>
67
</resources>

0 commit comments

Comments
 (0)