Rewrite in-app-payment flows to prepare for backups support.

This commit is contained in:
Alex Hart
2024-04-19 17:04:15 -03:00
committed by Cody Henthorne
parent b36b00a11c
commit d719edf104
123 changed files with 5429 additions and 1586 deletions

View File

@@ -0,0 +1,24 @@
/*
* Copyright 2024 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.thoughtcrime.securesms.util.parcelers
import android.os.Parcel
import kotlinx.parcelize.Parceler
import kotlin.time.Duration
import kotlin.time.Duration.Companion.milliseconds
/**
* Parceler for non-null durations, storing them in milliseconds.
*/
object MillisecondDurationParceler : Parceler<Duration> {
override fun create(parcel: Parcel): Duration {
return parcel.readLong().milliseconds
}
override fun Duration.write(parcel: Parcel, flags: Int) {
parcel.writeLong(inWholeMilliseconds)
}
}

View File

@@ -0,0 +1,23 @@
/*
* Copyright 2024 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.thoughtcrime.securesms.util.parcelers
import android.os.Parcel
import kotlinx.parcelize.Parceler
import org.whispersystems.signalservice.api.subscriptions.SubscriberId
/**
* Parceler for nullable SubscriberIds
*/
object NullableSubscriberIdParceler : Parceler<SubscriberId?> {
override fun create(parcel: Parcel): SubscriberId? {
return parcel.readString()?.let { SubscriberId.deserialize(it) }
}
override fun SubscriberId?.write(parcel: Parcel, flags: Int) {
parcel.writeString(this?.serialize())
}
}