kopia lustrzana https://github.com/ryukoposting/Signal-Android
Ensure we display badge in conversation settings.
rodzic
48e47c9d92
commit
75bf3a7c7e
|
@ -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,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<gradient
|
||||
android:angle="139.59"
|
||||
android:angle="135"
|
||||
android:endColor="#4C3EAE"
|
||||
android:startColor="#439DF1"
|
||||
android:type="linear" />
|
||||
|
|
|
@ -27,14 +27,31 @@
|
|||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:navigationIcon="@drawable/ic_arrow_left_24">
|
||||
|
||||
<org.thoughtcrime.securesms.components.AvatarImageView
|
||||
android:id="@+id/toolbar_avatar"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
<FrameLayout
|
||||
android:id="@+id/toolbar_avatar_container"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:alpha="0"
|
||||
android:translationY="56dp"
|
||||
app:fallbackImageSize="small" />
|
||||
tools:alpha="1"
|
||||
tools:translationY="0dp">
|
||||
|
||||
<org.thoughtcrime.securesms.components.AvatarImageView
|
||||
android:id="@+id/toolbar_avatar"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
app:fallbackImageSize="small" />
|
||||
|
||||
<org.thoughtcrime.securesms.badges.BadgeImageView
|
||||
android:id="@+id/toolbar_badge"
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginTop="23dp"
|
||||
app:badge_size="small" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<org.thoughtcrime.securesms.components.emoji.EmojiTextView
|
||||
android:id="@+id/toolbar_title"
|
||||
|
@ -46,7 +63,9 @@
|
|||
android:maxLines="1"
|
||||
android:textAppearance="@style/Signal.Text.Title"
|
||||
android:translationY="56dp"
|
||||
tools:text="Miles Morales" />
|
||||
tools:alpha="1"
|
||||
tools:text="Miles Morales"
|
||||
tools:translationY="0dp" />
|
||||
|
||||
</org.thoughtcrime.securesms.util.views.DarkOverflowToolbar>
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue