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 @@