diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/BadgeImageView.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/BadgeImageView.kt index ff0c4fad01..18b2bd5a18 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/BadgeImageView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/BadgeImageView.kt @@ -25,12 +25,20 @@ class BadgeImageView @JvmOverloads constructor( context.obtainStyledAttributes(attrs, R.styleable.BadgeImageView).use { badgeSize = it.getInt(R.styleable.BadgeImageView_badge_size, 0) } + + isClickable = false + } + + override fun setOnClickListener(l: OnClickListener?) { + val wasClickable = isClickable + super.setOnClickListener(l) + this.isClickable = wasClickable } fun setBadgeFromRecipient(recipient: Recipient?) { getGlideRequests()?.let { setBadgeFromRecipient(recipient, it) - } ?: setImageDrawable(null) + } ?: clearDrawable() } fun setBadgeFromRecipient(recipient: Recipient?, glideRequests: GlideRequests) { @@ -44,7 +52,7 @@ class BadgeImageView @JvmOverloads constructor( fun setBadge(badge: Badge?) { getGlideRequests()?.let { setBadge(badge, it) - } ?: setImageDrawable(null) + } ?: clearDrawable() } fun setBadge(badge: Badge?, glideRequests: GlideRequests) { @@ -54,13 +62,20 @@ class BadgeImageView @JvmOverloads constructor( .downsample(DownsampleStrategy.NONE) .transform(BadgeSpriteTransformation(BadgeSpriteTransformation.Size.fromInteger(badgeSize), badge.imageDensity, ThemeUtil.isDarkTheme(context))) .into(this) + + isClickable = true } else { glideRequests .clear(this) - setImageDrawable(null) + clearDrawable() } } + private fun clearDrawable() { + setImageDrawable(null) + isClickable = false + } + private fun getGlideRequests(): GlideRequests? { return try { GlideApp.with(this) diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/bottomsheet/RecipientBottomSheetDialogFragment.java b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/bottomsheet/RecipientBottomSheetDialogFragment.java index 4b02185266..b83824c080 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/bottomsheet/RecipientBottomSheetDialogFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/ui/bottomsheet/RecipientBottomSheetDialogFragment.java @@ -152,7 +152,11 @@ public final class RecipientBottomSheetDialogFragment extends BottomSheetDialogF } }); avatar.setAvatar(recipient); - badgeImageView.setBadgeFromRecipient(recipient); + + if (!recipient.isSelf()) { + badgeImageView.setBadgeFromRecipient(recipient); + } + if (recipient.isSelf()) { avatar.setOnClickListener(v -> { dismiss(); diff --git a/app/src/main/res/layout/contact_selection_list_item.xml b/app/src/main/res/layout/contact_selection_list_item.xml index d2e171dd1f..d358482dbb 100644 --- a/app/src/main/res/layout/contact_selection_list_item.xml +++ b/app/src/main/res/layout/contact_selection_list_item.xml @@ -39,15 +39,14 @@ android:id="@+id/check_box" android:layout_width="22dp" android:layout_height="22dp" - android:layout_marginStart="20dp" - android:layout_marginTop="20dp" android:alpha="0" android:background="@drawable/contact_selection_checkbox" android:button="@null" android:clickable="false" android:focusable="false" - app:layout_constraintStart_toStartOf="@id/contact_photo_image" - app:layout_constraintTop_toTopOf="@id/contact_photo_image" /> + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" /> diff --git a/app/src/main/res/layout/conversation_banner_view.xml b/app/src/main/res/layout/conversation_banner_view.xml index d8a5aa5c20..264885c4a3 100644 --- a/app/src/main/res/layout/conversation_banner_view.xml +++ b/app/src/main/res/layout/conversation_banner_view.xml @@ -18,10 +18,10 @@ diff --git a/app/src/main/res/layout/recipient_bottom_sheet.xml b/app/src/main/res/layout/recipient_bottom_sheet.xml index 7efb43af51..9a9e7d9b4d 100644 --- a/app/src/main/res/layout/recipient_bottom_sheet.xml +++ b/app/src/main/res/layout/recipient_bottom_sheet.xml @@ -23,10 +23,10 @@