Add multi-device sync for viewed status of redeemed gift badge.

fork-5.53.8
Alex Hart 2022-05-04 16:31:34 -03:00
rodzic 964d214434
commit 1b1bbbab7a
4 zmienionych plików z 7 dodań i 3 usunięć

Wyświetl plik

@ -2,6 +2,7 @@ package org.thoughtcrime.securesms.badges.gifts.thanks
import android.os.Bundle
import androidx.fragment.app.FragmentManager
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import org.signal.core.util.DimensionUnit
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.badges.models.Badge
@ -49,7 +50,7 @@ class GiftThanksSheet : DSLSettingsBottomSheetFragment() {
BadgePreview.register(adapter)
lifecycleDisposable.bindTo(viewLifecycleOwner)
lifecycleDisposable += Recipient.observable(recipientId).subscribe {
lifecycleDisposable += Recipient.observable(recipientId).observeOn(AndroidSchedulers.mainThread()).subscribe {
adapter.submitList(getConfiguration(it).toMappingModelList())
}
}

Wyświetl plik

@ -104,7 +104,7 @@ class ViewReceivedGiftBottomSheet : DSLSettingsBottomSheetFragment() {
onRedemptionError(donationError)
}
lifecycleDisposable += viewModel.state.subscribe { state ->
lifecycleDisposable += viewModel.state.observeOn(AndroidSchedulers.mainThread()).subscribe { state ->
adapter.submitList(getConfiguration(state).toMappingModelList())
}
}

Wyświetl plik

@ -3,6 +3,7 @@ package org.thoughtcrime.securesms.badges.gifts.viewgift.sent
import android.os.Bundle
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.viewModels
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import org.signal.core.util.DimensionUnit
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.badges.gifts.viewgift.ViewGiftRepository
@ -55,7 +56,7 @@ class ViewSentGiftBottomSheet : DSLSettingsBottomSheetFragment() {
BadgeDisplay112.register(adapter)
lifecycleDisposable.bindTo(viewLifecycleOwner)
lifecycleDisposable += viewModel.state.subscribe { state ->
lifecycleDisposable += viewModel.state.observeOn(AndroidSchedulers.mainThread()).subscribe { state ->
adapter.submitList(getConfiguration(state).toMappingModelList())
}
}

Wyświetl plik

@ -24,6 +24,7 @@ import org.whispersystems.signalservice.internal.EmptyResponse;
import org.whispersystems.signalservice.internal.ServiceResponse;
import java.io.IOException;
import java.util.Collections;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
@ -179,6 +180,7 @@ public class DonationReceiptRedemptionJob extends BaseJob {
markedMessageInfo.getSyncMessageId().getRecipientId(),
markedMessageInfo.getSyncMessageId().getTimetamp(),
markedMessageInfo.getMessageId()));
MultiDeviceViewedUpdateJob.enqueue(Collections.singletonList(markedMessageInfo.getSyncMessageId()));
}
}
}