diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsFragment.kt index 4a9541d661..530574e23c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/conversation/ConversationSettingsFragment.kt @@ -10,6 +10,7 @@ import android.os.Bundle import android.view.MenuItem import android.view.View import android.view.ViewGroup +import android.widget.FrameLayout import android.widget.TextView import android.widget.Toast import androidx.appcompat.widget.Toolbar @@ -30,6 +31,7 @@ import org.thoughtcrime.securesms.MuteDialog import org.thoughtcrime.securesms.PushContactSelectionActivity import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.VerifyIdentityActivity +import org.thoughtcrime.securesms.badges.BadgeImageView import org.thoughtcrime.securesms.badges.Badges import org.thoughtcrime.securesms.badges.Badges.displayBadges import org.thoughtcrime.securesms.badges.models.Badge @@ -77,6 +79,7 @@ import org.thoughtcrime.securesms.recipients.ui.sharablegrouplink.ShareableGroup import org.thoughtcrime.securesms.util.CommunicationActions import org.thoughtcrime.securesms.util.ContextUtil import org.thoughtcrime.securesms.util.ExpirationUtil +import org.thoughtcrime.securesms.util.FeatureFlags import org.thoughtcrime.securesms.util.ThemeUtil import org.thoughtcrime.securesms.util.ViewUtil import org.thoughtcrime.securesms.util.views.SimpleProgressDialog @@ -126,7 +129,9 @@ class ConversationSettingsFragment : DSLSettingsFragment( private lateinit var callback: Callback private lateinit var toolbar: Toolbar + private lateinit var toolbarAvatarContainer: FrameLayout private lateinit var toolbarAvatar: AvatarImageView + private lateinit var toolbarBadge: BadgeImageView private lateinit var toolbarTitle: TextView private lateinit var toolbarBackground: View @@ -140,7 +145,9 @@ class ConversationSettingsFragment : DSLSettingsFragment( override fun onViewCreated(view: View, savedInstanceState: Bundle?) { toolbar = view.findViewById(R.id.toolbar) + toolbarAvatarContainer = view.findViewById(R.id.toolbar_avatar_container) toolbarAvatar = view.findViewById(R.id.toolbar_avatar) + toolbarBadge = view.findViewById(R.id.toolbar_badge) toolbarTitle = view.findViewById(R.id.toolbar_title) toolbarBackground = view.findViewById(R.id.toolbar_background) @@ -164,7 +171,7 @@ class ConversationSettingsFragment : DSLSettingsFragment( } override fun getOnScrollAnimationHelper(toolbarShadow: View): OnScrollAnimationHelper { - return ConversationSettingsOnUserScrolledAnimationHelper(toolbarAvatar, toolbarTitle, toolbarBackground, toolbarShadow) + return ConversationSettingsOnUserScrolledAnimationHelper(toolbarAvatarContainer, toolbarTitle, toolbarBackground, toolbarShadow) } override fun onOptionsItemSelected(item: MenuItem): Boolean { @@ -208,6 +215,10 @@ class ConversationSettingsFragment : DSLSettingsFragment( .withFixedSize(ViewUtil.dpToPx(80)) .load(state.recipient) + if (FeatureFlags.displayDonorBadges() && !state.recipient.isSelf) { + toolbarBadge.setBadgeFromRecipient(state.recipient) + } + state.withRecipientSettingsState { toolbarTitle.text = state.recipient.getDisplayName(requireContext()) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java index 0e85ef5e87..b13ad14ecb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListFragment.java @@ -1359,7 +1359,7 @@ public class ConversationListFragment extends MainFragment implements ActionMode private class ArchiveListenerCallback extends ItemTouchHelper.SimpleCallback { private static final float MIN_ICON_SCALE = 0.85f; - private static final float MAX_ICON_SCALE = 1.25f; + private static final float MAX_ICON_SCALE = 1f; private final int archiveColorStart; private final int archiveColorEnd; diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListItem.java b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListItem.java index 3a673bcdfe..173252ed71 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversationlist/ConversationListItem.java @@ -218,11 +218,17 @@ public final class ConversationListItem extends ConstraintLayout setStatusIcons(thread); setBatchMode(batchMode); - badge.setBadgeFromRecipient(recipient.get()); + setBadgeFromRecipient(recipient.get()); setUnreadIndicator(thread); this.contactPhotoImage.setAvatar(glideRequests, recipient.get(), !batchMode); } + private void setBadgeFromRecipient(Recipient recipient) { + if (!recipient.isSelf()) { + badge.setBadgeFromRecipient(recipient); + } + } + public void bindContact(@NonNull Recipient contact, @NonNull GlideRequests glideRequests, @NonNull Locale locale, @@ -246,7 +252,7 @@ public final class ConversationListItem extends ConstraintLayout alertView.setNone(); setBatchMode(false); - badge.setBadgeFromRecipient(recipient.get()); + setBadgeFromRecipient(recipient.get()); contactPhotoImage.setAvatar(glideRequests, recipient.get(), !batchMode); } @@ -273,7 +279,7 @@ public final class ConversationListItem extends ConstraintLayout alertView.setNone(); setBatchMode(false); - badge.setBadgeFromRecipient(recipient.get()); + setBadgeFromRecipient(recipient.get()); contactPhotoImage.setAvatar(glideRequests, recipient.get(), !batchMode); } @@ -451,7 +457,7 @@ public final class ConversationListItem extends ConstraintLayout fromView.setText(recipient, false); } contactPhotoImage.setAvatar(glideRequests, recipient, !batchMode); - badge.setBadgeFromRecipient(recipient); + setBadgeFromRecipient(recipient); } private static @NonNull LiveData getThreadDisplayBody(@NonNull Context context, diff --git a/app/src/main/res/drawable/my_boost_gradient.xml b/app/src/main/res/drawable/my_boost_gradient.xml index 38e7a19330..b9087b6b1d 100644 --- a/app/src/main/res/drawable/my_boost_gradient.xml +++ b/app/src/main/res/drawable/my_boost_gradient.xml @@ -1,7 +1,7 @@ diff --git a/app/src/main/res/layout/conversation_settings_toolbar.xml b/app/src/main/res/layout/conversation_settings_toolbar.xml index aadfa9e157..6ad9134be0 100644 --- a/app/src/main/res/layout/conversation_settings_toolbar.xml +++ b/app/src/main/res/layout/conversation_settings_toolbar.xml @@ -27,14 +27,31 @@ app:layout_constraintTop_toTopOf="parent" app:navigationIcon="@drawable/ic_arrow_left_24"> - + tools:alpha="1" + tools:translationY="0dp"> + + + + + + + tools:alpha="1" + tools:text="Miles Morales" + tools:translationY="0dp" />