Ensure we display badge in conversation settings.

This commit is contained in:
Alex Hart
2021-11-08 14:42:01 -04:00
parent 48e47c9d92
commit 75bf3a7c7e
5 changed files with 49 additions and 13 deletions

View File

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

View File

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

View File

@@ -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<SpannableString> getThreadDisplayBody(@NonNull Context context,