Fix various issues with release notes channel.

This commit is contained in:
Cody Henthorne
2022-02-11 10:12:09 -05:00
committed by GitHub
parent 90e6dd3d7d
commit 84296a3860
14 changed files with 75 additions and 67 deletions

View File

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

View File

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

View File

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

View File

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