Fix IAP insertion timestamp.

This commit is contained in:
Alex Hart
2025-08-22 11:06:14 -03:00
committed by Michelle Tang
parent f052b1fd90
commit 24b93fb517
2 changed files with 8 additions and 5 deletions

View File

@@ -135,7 +135,7 @@ class InAppPaymentTable(context: Context, databaseHelper: SignalDatabase) : Data
endOfPeriod: Duration?,
inAppPaymentData: InAppPaymentData
): InAppPaymentId {
val now = System.currentTimeMillis()
val now = System.currentTimeMillis().milliseconds
validateInAppPayment(state, inAppPaymentData)
@@ -143,8 +143,8 @@ class InAppPaymentTable(context: Context, databaseHelper: SignalDatabase) : Data
.values(
TYPE to type.code,
STATE to state.code,
INSERTED_AT to now,
UPDATED_AT to now,
INSERTED_AT to now.inWholeMilliseconds,
UPDATED_AT to now.inWholeSeconds,
SUBSCRIBER_ID to subscriberId?.serialize(),
END_OF_PERIOD to (endOfPeriod?.inWholeSeconds ?: 0L),
DATA to InAppPaymentData.ADAPTER.encode(inAppPaymentData),
@@ -410,7 +410,7 @@ class InAppPaymentTable(context: Context, databaseHelper: SignalDatabase) : Data
ID to data.id.serialize(),
TYPE to data.type.apply { check(this != InAppPaymentType.UNKNOWN) }.code,
STATE to data.state.code,
INSERTED_AT to data.insertedAt.inWholeSeconds,
INSERTED_AT to data.insertedAt.inWholeMilliseconds,
UPDATED_AT to data.updatedAt.inWholeSeconds,
NOTIFIED to data.notified,
SUBSCRIBER_ID to data.subscriberId?.serialize(),
@@ -424,7 +424,7 @@ class InAppPaymentTable(context: Context, databaseHelper: SignalDatabase) : Data
id = InAppPaymentId(input.requireLong(ID)),
type = InAppPaymentType.deserialize(input.requireInt(TYPE)),
state = State.deserialize(input.requireInt(STATE)),
insertedAt = input.requireLong(INSERTED_AT).seconds,
insertedAt = input.requireLong(INSERTED_AT).milliseconds,
updatedAt = input.requireLong(UPDATED_AT).seconds,
notified = input.requireBoolean(NOTIFIED),
subscriberId = input.requireString(SUBSCRIBER_ID)?.let { SubscriberId.deserialize(it) },

View File

@@ -8,12 +8,14 @@ package org.thoughtcrime.securesms.logsubmit
import android.content.Context
import kotlinx.coroutines.runBlocking
import org.signal.donations.InAppPaymentType
import org.thoughtcrime.securesms.components.settings.app.subscription.DonationSerializationHelper.toFiatMoney
import org.thoughtcrime.securesms.components.settings.app.subscription.InAppPaymentsRepository
import org.thoughtcrime.securesms.database.SignalDatabase
import org.thoughtcrime.securesms.database.model.InAppPaymentSubscriberRecord
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.keyvalue.protos.ArchiveUploadProgressState
import org.thoughtcrime.securesms.payments.FiatMoneyUtil
class LogSectionRemoteBackups : LogSection {
override fun getTitle(): String = "REMOTE BACKUPS"
@@ -57,6 +59,7 @@ class LogSectionRemoteBackups : LogSection {
output.append("IAP redemption stage (or null): ${inAppPayment.data.redemption?.stage}\n")
output.append("IAP error type (or null): ${inAppPayment.data.error?.type}\n")
output.append("IAP cancellation reason (or null): ${inAppPayment.data.cancellation?.reason}\n")
output.append("IAP price: ${inAppPayment.data.amount?.toFiatMoney()?.let { FiatMoneyUtil.format(context.resources, it)} ?: "Not available" }")
} else {
output.append("No in-app payment data available.\n")
}