mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-21 09:20:19 +01:00
Fix various issues with release notes channel.
This commit is contained in:
@@ -6,17 +6,21 @@ import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import androidx.appcompat.content.res.AppCompatResources
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import io.reactivex.rxjava3.subjects.PublishSubject
|
||||
import io.reactivex.rxjava3.subjects.Subject
|
||||
import org.thoughtcrime.securesms.PassphraseRequiredActivity
|
||||
import org.thoughtcrime.securesms.R
|
||||
import org.thoughtcrime.securesms.components.HidingLinearLayout
|
||||
import org.thoughtcrime.securesms.components.reminder.ReminderView
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.DonationPaymentComponent
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.DonationPaymentRepository
|
||||
import org.thoughtcrime.securesms.recipients.Recipient
|
||||
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme
|
||||
import org.thoughtcrime.securesms.util.DynamicTheme
|
||||
import org.thoughtcrime.securesms.util.concurrent.ListenableFuture
|
||||
import org.thoughtcrime.securesms.util.views.Stub
|
||||
|
||||
open class ConversationActivity : PassphraseRequiredActivity(), ConversationParentFragment.Callback {
|
||||
open class ConversationActivity : PassphraseRequiredActivity(), ConversationParentFragment.Callback, DonationPaymentComponent {
|
||||
|
||||
private lateinit var fragment: ConversationParentFragment
|
||||
|
||||
@@ -73,4 +77,7 @@ open class ConversationActivity : PassphraseRequiredActivity(), ConversationPare
|
||||
fun getReminderView(): Stub<ReminderView> {
|
||||
return fragment.reminderView
|
||||
}
|
||||
|
||||
override val donationPaymentRepository: DonationPaymentRepository by lazy { DonationPaymentRepository(this) }
|
||||
override val googlePayResultPublisher: Subject<DonationPaymentComponent.GooglePayResult> = PublishSubject.create()
|
||||
}
|
||||
|
||||
@@ -59,6 +59,7 @@ import androidx.core.view.ViewKt;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.navigation.fragment.NavHostFragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.recyclerview.widget.RecyclerView.OnScrollListener;
|
||||
@@ -1857,7 +1858,12 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
|
||||
@Override
|
||||
public void onDonateClicked() {
|
||||
if (SignalStore.donationsValues().isLikelyASustainer()) {
|
||||
startActivity(AppSettingsActivity.boost(requireContext()));
|
||||
NavHostFragment navHostFragment = NavHostFragment.create(R.navigation.boosts);
|
||||
|
||||
requireActivity().getSupportFragmentManager()
|
||||
.beginTransaction()
|
||||
.add(navHostFragment, "boost_nav")
|
||||
.commitNow();
|
||||
} else {
|
||||
startActivity(AppSettingsActivity.subscriptions(requireContext()));
|
||||
}
|
||||
|
||||
@@ -716,7 +716,7 @@ public final class ConversationReactionOverlay extends FrameLayout {
|
||||
|
||||
items.add(new ActionItem(R.drawable.ic_select_24_tinted, getResources().getString(R.string.conversation_selection__menu_multi_select), () -> handleActionItemClicked(Action.MULTISELECT)));
|
||||
|
||||
if (menuState.shouldShowInfoAction()) {
|
||||
if (menuState.shouldShowDetailsAction()) {
|
||||
items.add(new ActionItem(R.drawable.ic_info_tinted_24, getResources().getString(R.string.conversation_selection__menu_message_details), () -> handleActionItemClicked(Action.VIEW_INFO)));
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,6 @@ final class MenuState {
|
||||
private final boolean resend;
|
||||
private final boolean copy;
|
||||
private final boolean delete;
|
||||
private final boolean info;
|
||||
private final boolean reactions;
|
||||
|
||||
private MenuState(@NonNull Builder builder) {
|
||||
@@ -33,7 +32,6 @@ final class MenuState {
|
||||
resend = builder.resend;
|
||||
copy = builder.copy;
|
||||
delete = builder.delete;
|
||||
info = builder.info;
|
||||
reactions = builder.reactions;
|
||||
}
|
||||
|
||||
@@ -65,10 +63,6 @@ final class MenuState {
|
||||
return delete;
|
||||
}
|
||||
|
||||
boolean shouldShowInfoAction() {
|
||||
return info;
|
||||
}
|
||||
|
||||
boolean shouldShowReactions() {
|
||||
return reactions;
|
||||
}
|
||||
@@ -154,13 +148,13 @@ final class MenuState {
|
||||
((MediaMmsMessageRecord)messageRecord).containsMediaSlide() &&
|
||||
((MediaMmsMessageRecord)messageRecord).getSlideDeck().getStickerSlide() == null)
|
||||
.shouldShowForwardAction(shouldShowForwardAction)
|
||||
.shouldShowDetailsAction(!actionMessage)
|
||||
.shouldShowDetailsAction(!actionMessage && !conversationRecipient.isReleaseNotes())
|
||||
.shouldShowReplyAction(canReplyToMessage(conversationRecipient, actionMessage, messageRecord, shouldShowMessageRequest, isNonAdminInAnnouncementGroup));
|
||||
}
|
||||
|
||||
return builder.shouldShowCopyAction(!actionMessage && !remoteDelete && hasText)
|
||||
.shouldShowDeleteAction(!hasInMemory && onlyContainsCompleteMessages(selectedParts))
|
||||
.shouldShowInfoAction(!conversationRecipient.isReleaseNotes())
|
||||
.shouldShowDetailsAction(!conversationRecipient.isReleaseNotes())
|
||||
.shouldShowReactions(!conversationRecipient.isReleaseNotes())
|
||||
.build();
|
||||
}
|
||||
@@ -216,7 +210,6 @@ final class MenuState {
|
||||
private boolean resend;
|
||||
private boolean copy;
|
||||
private boolean delete;
|
||||
private boolean info;
|
||||
private boolean reactions;
|
||||
|
||||
@NonNull Builder shouldShowForwardAction(boolean forward) {
|
||||
@@ -254,11 +247,6 @@ final class MenuState {
|
||||
return this;
|
||||
}
|
||||
|
||||
@NonNull Builder shouldShowInfoAction(boolean info) {
|
||||
this.info = info;
|
||||
return this;
|
||||
}
|
||||
|
||||
@NonNull Builder shouldShowReactions(boolean reactions) {
|
||||
this.reactions = reactions;
|
||||
return this;
|
||||
|
||||
Reference in New Issue
Block a user