Add a dark theme for spinner.

This commit is contained in:
Greyson Parrelli
2024-01-30 12:07:33 -05:00
committed by Nicholas Tinsley
parent 1d5e108cd4
commit 4d0fbe2343
6 changed files with 131 additions and 9 deletions

View File

@@ -7,6 +7,7 @@ import org.signal.core.util.logging.Log
import org.signal.spinner.Spinner
import org.signal.spinner.Spinner.DatabaseConfig
import org.signal.spinner.SpinnerLogger
import org.thoughtcrime.securesms.database.AttachmentTransformer
import org.thoughtcrime.securesms.database.DatabaseMonitor
import org.thoughtcrime.securesms.database.GV2Transformer
import org.thoughtcrime.securesms.database.GV2UpdateTransformer
@@ -58,7 +59,18 @@ class SpinnerApplicationContext : ApplicationContext() {
linkedMapOf(
"signal" to DatabaseConfig(
db = { SignalDatabase.rawDatabase },
columnTransformers = listOf(MessageBitmaskColumnTransformer, GV2Transformer, GV2UpdateTransformer, IsStoryTransformer, TimestampTransformer, ProfileKeyCredentialTransformer, MessageRangesTransformer, KyberKeyTransformer, RecipientTransformer)
columnTransformers = listOf(
MessageBitmaskColumnTransformer,
GV2Transformer,
GV2UpdateTransformer,
IsStoryTransformer,
TimestampTransformer,
ProfileKeyCredentialTransformer,
MessageRangesTransformer,
KyberKeyTransformer,
RecipientTransformer,
AttachmentTransformer
)
),
"jobmanager" to DatabaseConfig(db = { JobDatabase.getInstance(this).sqlCipherDatabase }, columnTransformers = listOf(TimestampTransformer)),
"keyvalue" to DatabaseConfig(db = { KeyValueDatabase.getInstance(this).sqlCipherDatabase }),

View File

@@ -0,0 +1,29 @@
/*
* Copyright 2024 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.thoughtcrime.securesms.database
import android.database.Cursor
import org.signal.core.util.requireInt
import org.signal.spinner.ColumnTransformer
object AttachmentTransformer : ColumnTransformer {
override fun matches(tableName: String?, columnName: String): Boolean {
return (tableName == AttachmentTable.TABLE_NAME || tableName == null) && columnName == AttachmentTable.TRANSFER_STATE
}
override fun transform(tableName: String?, columnName: String, cursor: Cursor): String? {
val value = cursor.requireInt(columnName)
val string = when (value) {
AttachmentTable.TRANSFER_PROGRESS_DONE -> "DONE"
AttachmentTable.TRANSFER_PROGRESS_PENDING -> "PENDING"
AttachmentTable.TRANSFER_PROGRESS_FAILED -> "FAILED"
AttachmentTable.TRANSFER_PROGRESS_STARTED -> "STARTED"
AttachmentTable.TRANSFER_PROGRESS_PERMANENT_FAILURE -> "PERMANENT_FAILURE"
else -> "UNKNOWN"
}
return "$string ($value)"
}
}