diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/InAppPaymentTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/InAppPaymentTable.kt index e8fd8675ac..e01bd09c59 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/InAppPaymentTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/InAppPaymentTable.kt @@ -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) }, diff --git a/app/src/main/java/org/thoughtcrime/securesms/logsubmit/LogSectionRemoteBackups.kt b/app/src/main/java/org/thoughtcrime/securesms/logsubmit/LogSectionRemoteBackups.kt index dfac279b69..a499df04bc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/logsubmit/LogSectionRemoteBackups.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/logsubmit/LogSectionRemoteBackups.kt @@ -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") }