mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-22 01:40:07 +01:00
Ensure we display badge in conversation settings.
This commit is contained in:
@@ -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())
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user