minor fix

This commit is contained in:
Ryan ZHAO 2021-05-13 10:24:32 +10:00
parent 46a01010e1
commit 267a94b8ef
4 changed files with 12 additions and 5 deletions

View File

@ -6,6 +6,8 @@ import androidx.core.database.getStringOrNull
import net.sqlcipher.Cursor import net.sqlcipher.Cursor
import org.session.libsession.messaging.contacts.Contact import org.session.libsession.messaging.contacts.Contact
import org.session.libsession.messaging.jobs.Job import org.session.libsession.messaging.jobs.Job
import org.session.libsession.messaging.threads.Address
import org.session.libsession.messaging.threads.recipients.Recipient
import org.session.libsignal.utilities.Base64 import org.session.libsignal.utilities.Base64
import org.thoughtcrime.securesms.database.Database import org.thoughtcrime.securesms.database.Database
import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper
@ -74,7 +76,7 @@ class SessionContactDatabase(context: Context, helper: SQLCipherOpenHelper) : Da
cursor.getStringOrNull(profilePictureEncryptionKey)?.let { cursor.getStringOrNull(profilePictureEncryptionKey)?.let {
contact.profilePictureEncryptionKey = Base64.decode(it) contact.profilePictureEncryptionKey = Base64.decode(it)
} }
contact.threadID = cursor.getInt(threadID) contact.threadID = cursor.getLong(threadID)
contact.isTrusted = cursor.getInt(isTrusted) != 0 contact.isTrusted = cursor.getInt(isTrusted) != 0
return contact return contact
} }

View File

@ -88,10 +88,10 @@ class ConversationView : LinearLayout {
} }
private fun getUserDisplayName(recipient: Recipient): String? { private fun getUserDisplayName(recipient: Recipient): String? {
if (recipient.isLocalNumber) return if (recipient.isLocalNumber)
return context.getString(R.string.note_to_self) context.getString(R.string.note_to_self)
else else
return SSKEnvironment.shared.profileManager.getDisplayName(context, recipient) SSKEnvironment.shared.profileManager.getDisplayName(context, recipient)
} }
// endregion // endregion
} }

View File

@ -15,6 +15,7 @@ class ProfileManager: SSKEnvironment.ProfileManagerProtocol {
val contactDatabase = DatabaseFactory.getSessionContactDatabase(context) val contactDatabase = DatabaseFactory.getSessionContactDatabase(context)
var contact = contactDatabase.getContactWithSessionID(sessionID) var contact = contactDatabase.getContactWithSessionID(sessionID)
if (contact == null) contact = Contact(sessionID) if (contact == null) contact = Contact(sessionID)
contact.threadID = DatabaseFactory.getStorage(context).getThreadIdFor(recipient.address)
if (contact.nickname != displayName) { if (contact.nickname != displayName) {
contact.nickname = displayName contact.nickname = displayName
contactDatabase.setContact(contact) contactDatabase.setContact(contact)
@ -34,6 +35,7 @@ class ProfileManager: SSKEnvironment.ProfileManagerProtocol {
val contactDatabase = DatabaseFactory.getSessionContactDatabase(context) val contactDatabase = DatabaseFactory.getSessionContactDatabase(context)
var contact = contactDatabase.getContactWithSessionID(sessionID) var contact = contactDatabase.getContactWithSessionID(sessionID)
if (contact == null) contact = Contact(sessionID) if (contact == null) contact = Contact(sessionID)
contact.threadID = DatabaseFactory.getStorage(context).getThreadIdFor(recipient.address)
if (contact.name != profileName) { if (contact.name != profileName) {
contact.name = profileName contact.name = profileName
contactDatabase.setContact(contact) contactDatabase.setContact(contact)
@ -47,6 +49,7 @@ class ProfileManager: SSKEnvironment.ProfileManagerProtocol {
val contactDatabase = DatabaseFactory.getSessionContactDatabase(context) val contactDatabase = DatabaseFactory.getSessionContactDatabase(context)
var contact = contactDatabase.getContactWithSessionID(sessionID) var contact = contactDatabase.getContactWithSessionID(sessionID)
if (contact == null) contact = Contact(sessionID) if (contact == null) contact = Contact(sessionID)
contact.threadID = DatabaseFactory.getStorage(context).getThreadIdFor(recipient.address)
if (contact.profilePictureURL != profilePictureURL) { if (contact.profilePictureURL != profilePictureURL) {
contact.profilePictureURL = profilePictureURL contact.profilePictureURL = profilePictureURL
contactDatabase.setContact(contact) contactDatabase.setContact(contact)
@ -61,6 +64,7 @@ class ProfileManager: SSKEnvironment.ProfileManagerProtocol {
val contactDatabase = DatabaseFactory.getSessionContactDatabase(context) val contactDatabase = DatabaseFactory.getSessionContactDatabase(context)
var contact = contactDatabase.getContactWithSessionID(sessionID) var contact = contactDatabase.getContactWithSessionID(sessionID)
if (contact == null) contact = Contact(sessionID) if (contact == null) contact = Contact(sessionID)
contact.threadID = DatabaseFactory.getStorage(context).getThreadIdFor(recipient.address)
if (!contact.profilePictureEncryptionKey.contentEquals(profileKey)) { if (!contact.profilePictureEncryptionKey.contentEquals(profileKey)) {
contact.profilePictureEncryptionKey = profileKey contact.profilePictureEncryptionKey = profileKey
contactDatabase.setContact(contact) contactDatabase.setContact(contact)
@ -82,6 +86,7 @@ class ProfileManager: SSKEnvironment.ProfileManagerProtocol {
var contact = contactDatabase.getContactWithSessionID(sessionID) var contact = contactDatabase.getContactWithSessionID(sessionID)
if (contact == null) { if (contact == null) {
contact = Contact(sessionID) contact = Contact(sessionID)
contact.threadID = DatabaseFactory.getStorage(context).getThreadIdFor(recipient.address)
contact.name = DatabaseFactory.getLokiUserDatabase(context).getDisplayName(sessionID) ?: recipient.profileName ?: recipient.name contact.name = DatabaseFactory.getLokiUserDatabase(context).getDisplayName(sessionID) ?: recipient.profileName ?: recipient.name
contactDatabase.setContact(contact) contactDatabase.setContact(contact)
} }

View File

@ -10,7 +10,7 @@ class Contact(val sessionID: String) {
// The key with which the profile picture is encrypted. // The key with which the profile picture is encrypted.
var profilePictureEncryptionKey: ByteArray? = null var profilePictureEncryptionKey: ByteArray? = null
// The ID of the thread associated with this contact. // The ID of the thread associated with this contact.
var threadID: Int? = null var threadID: Long? = null
// This flag is used to determine whether we should auto-download files sent by this contact. // This flag is used to determine whether we should auto-download files sent by this contact.
var isTrusted = false var isTrusted = false