mirror of
https://github.com/oxen-io/session-android.git
synced 2024-11-27 12:05:22 +00:00
Clean
This commit is contained in:
parent
c0f894e1b2
commit
dfd3ccc5d2
@ -1,64 +0,0 @@
|
|||||||
package org.thoughtcrime.securesms.loki.database
|
|
||||||
|
|
||||||
import android.content.ContentValues
|
|
||||||
import android.content.Context
|
|
||||||
import android.database.sqlite.SQLiteDatabase
|
|
||||||
import org.session.libsignal.utilities.Log
|
|
||||||
import org.session.libsession.utilities.Address
|
|
||||||
import org.thoughtcrime.securesms.database.Database
|
|
||||||
import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper
|
|
||||||
import org.thoughtcrime.securesms.loki.utilities.get
|
|
||||||
import org.thoughtcrime.securesms.loki.utilities.insertOrUpdate
|
|
||||||
import org.session.libsession.utilities.recipients.Recipient
|
|
||||||
import org.session.libsession.utilities.TextSecurePreferences
|
|
||||||
import org.session.libsignal.database.LokiUserDatabaseProtocol
|
|
||||||
|
|
||||||
class LokiUserDatabase(context: Context, helper: SQLCipherOpenHelper) : Database(context, helper), LokiUserDatabaseProtocol {
|
|
||||||
|
|
||||||
companion object {
|
|
||||||
// Shared
|
|
||||||
private val displayName = "display_name"
|
|
||||||
// Display name cache
|
|
||||||
private val displayNameTable = "loki_user_display_name_database"
|
|
||||||
private val publicKey = "hex_encoded_public_key"
|
|
||||||
@JvmStatic val createDisplayNameTableCommand = "CREATE TABLE $displayNameTable ($publicKey TEXT PRIMARY KEY, $displayName TEXT);"
|
|
||||||
// Server display name cache
|
|
||||||
private val serverDisplayNameTable = "loki_user_server_display_name_database"
|
|
||||||
private val serverID = "server_id"
|
|
||||||
@JvmStatic val createServerDisplayNameTableCommand = "CREATE TABLE $serverDisplayNameTable ($publicKey TEXT, $serverID TEXT, $displayName TEXT, PRIMARY KEY ($publicKey, $serverID));"
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getDisplayName(publicKey: String): String? {
|
|
||||||
if (publicKey == TextSecurePreferences.getLocalNumber(context)) {
|
|
||||||
return TextSecurePreferences.getProfileName(context)
|
|
||||||
} else {
|
|
||||||
val database = databaseHelper.readableDatabase
|
|
||||||
val result = database.get(displayNameTable, "${Companion.publicKey} = ?", arrayOf( publicKey )) { cursor ->
|
|
||||||
cursor.getString(cursor.getColumnIndexOrThrow(displayName))
|
|
||||||
} ?: return null
|
|
||||||
val suffix = " (...${publicKey.substring(publicKey.count() - 8)})"
|
|
||||||
if (result.endsWith(suffix)) {
|
|
||||||
return result.substring(0..(result.count() - suffix.count()))
|
|
||||||
} else {
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun setDisplayName(publicKey: String, displayName: String) {
|
|
||||||
val database = databaseHelper.writableDatabase
|
|
||||||
val row = ContentValues(2)
|
|
||||||
row.put(Companion.publicKey, publicKey)
|
|
||||||
row.put(Companion.displayName, displayName)
|
|
||||||
database.insertOrUpdate(displayNameTable, row, "${Companion.publicKey} = ?", arrayOf( publicKey ))
|
|
||||||
Recipient.from(context, Address.fromSerialized(publicKey), false).notifyListeners()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getProfilePictureURL(publicKey: String): String? {
|
|
||||||
return if (publicKey == TextSecurePreferences.getLocalNumber(context)) {
|
|
||||||
TextSecurePreferences.getProfilePictureURL(context)
|
|
||||||
} else {
|
|
||||||
Recipient.from(context, Address.fromSerialized(publicKey), false).resolve().profileAvatar
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -10,42 +10,38 @@ import org.thoughtcrime.securesms.jobs.RetrieveProfileAvatarJob
|
|||||||
|
|
||||||
class ProfileManager : SSKEnvironment.ProfileManagerProtocol {
|
class ProfileManager : SSKEnvironment.ProfileManagerProtocol {
|
||||||
|
|
||||||
override fun setDisplayName(context: Context, recipient: Recipient, displayName: String?) {
|
override fun setNickname(context: Context, recipient: Recipient, nickname: String?) {
|
||||||
val sessionID = recipient.address.serialize()
|
val sessionID = recipient.address.serialize()
|
||||||
// New API
|
|
||||||
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).getThreadId(recipient.address)
|
contact.threadID = DatabaseFactory.getStorage(context).getThreadId(recipient.address)
|
||||||
if (contact.nickname != displayName) {
|
if (contact.nickname != nickname) {
|
||||||
contact.nickname = displayName
|
contact.nickname = nickname
|
||||||
|
contactDatabase.setContact(contact)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun setName(context: Context, recipient: Recipient, name: String) {
|
||||||
|
// New API
|
||||||
|
val sessionID = recipient.address.serialize()
|
||||||
|
val contactDatabase = DatabaseFactory.getSessionContactDatabase(context)
|
||||||
|
var contact = contactDatabase.getContactWithSessionID(sessionID)
|
||||||
|
if (contact == null) contact = Contact(sessionID)
|
||||||
|
contact.threadID = DatabaseFactory.getStorage(context).getThreadId(recipient.address)
|
||||||
|
if (contact.name != name) {
|
||||||
|
contact.name = name
|
||||||
contactDatabase.setContact(contact)
|
contactDatabase.setContact(contact)
|
||||||
}
|
}
|
||||||
// Old API
|
// Old API
|
||||||
if (displayName == null) return
|
|
||||||
val database = DatabaseFactory.getLokiUserDatabase(context)
|
|
||||||
database.setDisplayName(sessionID, displayName)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun setProfileName(context: Context, recipient: Recipient, profileName: String) {
|
|
||||||
val database = DatabaseFactory.getRecipientDatabase(context)
|
val database = DatabaseFactory.getRecipientDatabase(context)
|
||||||
database.setProfileName(recipient, profileName)
|
database.setProfileName(recipient, name)
|
||||||
recipient.notifyListeners()
|
recipient.notifyListeners()
|
||||||
// New API
|
|
||||||
val sessionID = recipient.address.serialize()
|
|
||||||
val contactDatabase = DatabaseFactory.getSessionContactDatabase(context)
|
|
||||||
var contact = contactDatabase.getContactWithSessionID(sessionID)
|
|
||||||
if (contact == null) contact = Contact(sessionID)
|
|
||||||
contact.threadID = DatabaseFactory.getStorage(context).getThreadId(recipient.address)
|
|
||||||
if (contact.name != profileName) {
|
|
||||||
contact.name = profileName
|
|
||||||
contactDatabase.setContact(contact)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun setProfilePictureURL(context: Context, recipient: Recipient, profilePictureURL: String) {
|
override fun setProfilePictureURL(context: Context, recipient: Recipient, profilePictureURL: String) {
|
||||||
ApplicationContext.getInstance(context).jobManager.add(RetrieveProfileAvatarJob(recipient, profilePictureURL))
|
val job = RetrieveProfileAvatarJob(recipient, profilePictureURL)
|
||||||
// New API
|
ApplicationContext.getInstance(context).jobManager.add(job)
|
||||||
val sessionID = recipient.address.serialize()
|
val sessionID = recipient.address.serialize()
|
||||||
val contactDatabase = DatabaseFactory.getSessionContactDatabase(context)
|
val contactDatabase = DatabaseFactory.getSessionContactDatabase(context)
|
||||||
var contact = contactDatabase.getContactWithSessionID(sessionID)
|
var contact = contactDatabase.getContactWithSessionID(sessionID)
|
||||||
@ -58,8 +54,6 @@ class ProfileManager : SSKEnvironment.ProfileManagerProtocol {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun setProfileKey(context: Context, recipient: Recipient, profileKey: ByteArray) {
|
override fun setProfileKey(context: Context, recipient: Recipient, profileKey: ByteArray) {
|
||||||
val database = DatabaseFactory.getRecipientDatabase(context)
|
|
||||||
database.setProfileKey(recipient, profileKey)
|
|
||||||
// New API
|
// New API
|
||||||
val sessionID = recipient.address.serialize()
|
val sessionID = recipient.address.serialize()
|
||||||
val contactDatabase = DatabaseFactory.getSessionContactDatabase(context)
|
val contactDatabase = DatabaseFactory.getSessionContactDatabase(context)
|
||||||
@ -70,23 +64,13 @@ class ProfileManager : SSKEnvironment.ProfileManagerProtocol {
|
|||||||
contact.profilePictureEncryptionKey = profileKey
|
contact.profilePictureEncryptionKey = profileKey
|
||||||
contactDatabase.setContact(contact)
|
contactDatabase.setContact(contact)
|
||||||
}
|
}
|
||||||
|
// Old API
|
||||||
|
val database = DatabaseFactory.getRecipientDatabase(context)
|
||||||
|
database.setProfileKey(recipient, profileKey)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun setUnidentifiedAccessMode(context: Context, recipient: Recipient, unidentifiedAccessMode: Recipient.UnidentifiedAccessMode) {
|
override fun setUnidentifiedAccessMode(context: Context, recipient: Recipient, unidentifiedAccessMode: Recipient.UnidentifiedAccessMode) {
|
||||||
val database = DatabaseFactory.getRecipientDatabase(context)
|
val database = DatabaseFactory.getRecipientDatabase(context)
|
||||||
database.setUnidentifiedAccessMode(recipient, unidentifiedAccessMode)
|
database.setUnidentifiedAccessMode(recipient, unidentifiedAccessMode)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getDisplayName(context: Context, recipient: Recipient): String? {
|
|
||||||
val sessionID = recipient.address.serialize()
|
|
||||||
val contactDatabase = DatabaseFactory.getSessionContactDatabase(context)
|
|
||||||
var contact = contactDatabase.getContactWithSessionID(sessionID)
|
|
||||||
if (contact == null) {
|
|
||||||
contact = Contact(sessionID)
|
|
||||||
contact.threadID = DatabaseFactory.getStorage(context).getThreadId(recipient.address)
|
|
||||||
contact.name = DatabaseFactory.getLokiUserDatabase(context).getDisplayName(sessionID) ?: recipient.profileName ?: recipient.name
|
|
||||||
contactDatabase.setContact(contact)
|
|
||||||
}
|
|
||||||
return contact.displayName(Contact.contextForRecipient(recipient))
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -130,7 +130,6 @@ interface StorageProtocol {
|
|||||||
fun getLastUpdated(threadID: Long): Long
|
fun getLastUpdated(threadID: Long): Long
|
||||||
|
|
||||||
// Contacts
|
// Contacts
|
||||||
fun getDisplayName(publicKey: String): String?
|
|
||||||
fun getProfilePictureURL(publicKey: String): String?
|
fun getProfilePictureURL(publicKey: String): String?
|
||||||
fun getContactWithSessionID(sessionID: String): Contact?
|
fun getContactWithSessionID(sessionID: String): Contact?
|
||||||
fun getAllContacts(): Set<Contact>
|
fun getAllContacts(): Set<Contact>
|
||||||
|
@ -1,22 +1,11 @@
|
|||||||
package org.session.libsession.messaging.mentions
|
package org.session.libsession.messaging.mentions
|
||||||
|
|
||||||
import org.session.libsession.messaging.MessagingModuleConfiguration
|
import org.session.libsession.messaging.MessagingModuleConfiguration
|
||||||
|
import org.session.libsession.messaging.contacts.Contact
|
||||||
|
|
||||||
import org.session.libsignal.database.LokiUserDatabaseProtocol
|
object MentionsManager {
|
||||||
|
|
||||||
class MentionsManager(private val userPublicKey: String, private val userDatabase: LokiUserDatabaseProtocol) {
|
|
||||||
var userPublicKeyCache = mutableMapOf<Long, Set<String>>() // Thread ID to set of user hex encoded public keys
|
var userPublicKeyCache = mutableMapOf<Long, Set<String>>() // Thread ID to set of user hex encoded public keys
|
||||||
|
|
||||||
companion object {
|
|
||||||
|
|
||||||
public lateinit var shared: MentionsManager
|
|
||||||
|
|
||||||
public fun configureIfNeeded(userPublicKey: String, userDatabase: LokiUserDatabaseProtocol) {
|
|
||||||
if (::shared.isInitialized) { return; }
|
|
||||||
shared = MentionsManager(userPublicKey, userDatabase)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun cache(publicKey: String, threadID: Long) {
|
fun cache(publicKey: String, threadID: Long) {
|
||||||
val cache = userPublicKeyCache[threadID]
|
val cache = userPublicKeyCache[threadID]
|
||||||
if (cache != null) {
|
if (cache != null) {
|
||||||
@ -26,14 +15,16 @@ class MentionsManager(private val userPublicKey: String, private val userDatabas
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getMentionCandidates(query: String, threadID: Long): List<Mention> {
|
fun getMentionCandidates(query: String, threadID: Long, isOpenGroup: Boolean): List<Mention> {
|
||||||
// Prepare
|
|
||||||
val cache = userPublicKeyCache[threadID] ?: return listOf()
|
val cache = userPublicKeyCache[threadID] ?: return listOf()
|
||||||
|
// Prepare
|
||||||
|
val context = if (isOpenGroup) Contact.ContactContext.OPEN_GROUP else Contact.ContactContext.REGULAR
|
||||||
|
val storage = MessagingModuleConfiguration.shared.storage
|
||||||
|
val userPublicKey = storage.getUserPublicKey()
|
||||||
// Gather candidates
|
// Gather candidates
|
||||||
var candidates: List<Mention> = cache.mapNotNull { publicKey ->
|
var candidates: List<Mention> = cache.mapNotNull { publicKey ->
|
||||||
val displayName = userDatabase.getDisplayName(publicKey)
|
val contact = storage.getContactWithSessionID(publicKey)
|
||||||
if (displayName == null) { return@mapNotNull null }
|
val displayName = contact?.displayName(context) ?: return@mapNotNull null
|
||||||
if (displayName.startsWith("Anonymous")) { return@mapNotNull null }
|
|
||||||
Mention(publicKey, displayName)
|
Mention(publicKey, displayName)
|
||||||
}
|
}
|
||||||
candidates = candidates.filter { it.publicKey != userPublicKey }
|
candidates = candidates.filter { it.publicKey != userPublicKey }
|
||||||
|
@ -132,7 +132,7 @@ private fun handleConfigurationMessage(message: ConfigurationMessage) {
|
|||||||
val recipient = Recipient.from(context, Address.fromSerialized(userPublicKey), false)
|
val recipient = Recipient.from(context, Address.fromSerialized(userPublicKey), false)
|
||||||
if (message.displayName.isNotEmpty()) {
|
if (message.displayName.isNotEmpty()) {
|
||||||
TextSecurePreferences.setProfileName(context, message.displayName)
|
TextSecurePreferences.setProfileName(context, message.displayName)
|
||||||
profileManager.setProfileName(context, recipient, message.displayName)
|
profileManager.setName(context, recipient, message.displayName)
|
||||||
}
|
}
|
||||||
if (message.profileKey.isNotEmpty() && !message.profilePicture.isNullOrEmpty()
|
if (message.profileKey.isNotEmpty() && !message.profilePicture.isNullOrEmpty()
|
||||||
&& TextSecurePreferences.getProfilePictureURL(context) != message.profilePicture) {
|
&& TextSecurePreferences.getProfilePictureURL(context) != message.profilePicture) {
|
||||||
@ -166,9 +166,9 @@ fun MessageReceiver.handleVisibleMessage(message: VisibleMessage, proto: SignalS
|
|||||||
if (profile != null && userPublicKey != message.sender) {
|
if (profile != null && userPublicKey != message.sender) {
|
||||||
val profileManager = SSKEnvironment.shared.profileManager
|
val profileManager = SSKEnvironment.shared.profileManager
|
||||||
val recipient = Recipient.from(context, Address.fromSerialized(message.sender!!), false)
|
val recipient = Recipient.from(context, Address.fromSerialized(message.sender!!), false)
|
||||||
val displayName = profile.displayName!!
|
val name = profile.displayName!!
|
||||||
if (displayName.isNotEmpty()) {
|
if (name.isNotEmpty()) {
|
||||||
profileManager.setProfileName(context, recipient, displayName)
|
profileManager.setName(context, recipient, name)
|
||||||
}
|
}
|
||||||
if (profile.profileKey?.isNotEmpty() == true && profile.profilePictureURL?.isNotEmpty() == true
|
if (profile.profileKey?.isNotEmpty() == true && profile.profilePictureURL?.isNotEmpty() == true
|
||||||
&& (recipient.profileKey == null || !MessageDigest.isEqual(recipient.profileKey, profile.profileKey))) {
|
&& (recipient.profileKey == null || !MessageDigest.isEqual(recipient.profileKey, profile.profileKey))) {
|
||||||
|
@ -3,6 +3,7 @@ package org.session.libsession.messaging.utilities
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import org.session.libsession.R
|
import org.session.libsession.R
|
||||||
import org.session.libsession.messaging.MessagingModuleConfiguration
|
import org.session.libsession.messaging.MessagingModuleConfiguration
|
||||||
|
import org.session.libsession.messaging.contacts.Contact
|
||||||
import org.session.libsession.messaging.sending_receiving.data_extraction.DataExtractionNotificationInfoMessage
|
import org.session.libsession.messaging.sending_receiving.data_extraction.DataExtractionNotificationInfoMessage
|
||||||
import org.session.libsession.utilities.ExpirationUtil
|
import org.session.libsession.utilities.ExpirationUtil
|
||||||
|
|
||||||
@ -12,8 +13,9 @@ object UpdateMessageBuilder {
|
|||||||
var message = ""
|
var message = ""
|
||||||
val updateData = updateMessageData.kind ?: return message
|
val updateData = updateMessageData.kind ?: return message
|
||||||
if (!isOutgoing && sender == null) return message
|
if (!isOutgoing && sender == null) return message
|
||||||
|
val storage = MessagingModuleConfiguration.shared.storage
|
||||||
val senderName: String = if (!isOutgoing) {
|
val senderName: String = if (!isOutgoing) {
|
||||||
MessagingModuleConfiguration.shared.storage.getDisplayName(sender!!) ?: sender
|
storage.getContactWithSessionID(sender!!)?.displayName(Contact.ContactContext.REGULAR) ?: sender
|
||||||
} else { context.getString(R.string.MessageRecord_you) }
|
} else { context.getString(R.string.MessageRecord_you) }
|
||||||
|
|
||||||
when (updateData) {
|
when (updateData) {
|
||||||
@ -33,7 +35,7 @@ object UpdateMessageBuilder {
|
|||||||
}
|
}
|
||||||
is UpdateMessageData.Kind.GroupMemberAdded -> {
|
is UpdateMessageData.Kind.GroupMemberAdded -> {
|
||||||
val members = updateData.updatedMembers.joinToString(", ") {
|
val members = updateData.updatedMembers.joinToString(", ") {
|
||||||
MessagingModuleConfiguration.shared.storage.getDisplayName(it) ?: it
|
storage.getContactWithSessionID(it)?.displayName(Contact.ContactContext.REGULAR) ?: it
|
||||||
}
|
}
|
||||||
message = if (isOutgoing) {
|
message = if (isOutgoing) {
|
||||||
context.getString(R.string.MessageRecord_you_added_s_to_the_group, members)
|
context.getString(R.string.MessageRecord_you_added_s_to_the_group, members)
|
||||||
@ -54,7 +56,7 @@ object UpdateMessageBuilder {
|
|||||||
} else {
|
} else {
|
||||||
// 2nd case: you are not part of the removed members
|
// 2nd case: you are not part of the removed members
|
||||||
val members = updateData.updatedMembers.joinToString(", ") {
|
val members = updateData.updatedMembers.joinToString(", ") {
|
||||||
storage.getDisplayName(it) ?: it
|
storage.getContactWithSessionID(it)?.displayName(Contact.ContactContext.REGULAR) ?: it
|
||||||
}
|
}
|
||||||
if (isOutgoing) {
|
if (isOutgoing) {
|
||||||
context.getString(R.string.MessageRecord_you_removed_s_from_the_group, members)
|
context.getString(R.string.MessageRecord_you_removed_s_from_the_group, members)
|
||||||
@ -76,8 +78,9 @@ object UpdateMessageBuilder {
|
|||||||
|
|
||||||
fun buildExpirationTimerMessage(context: Context, duration: Long, sender: String? = null, isOutgoing: Boolean = false): String {
|
fun buildExpirationTimerMessage(context: Context, duration: Long, sender: String? = null, isOutgoing: Boolean = false): String {
|
||||||
if (!isOutgoing && sender == null) return ""
|
if (!isOutgoing && sender == null) return ""
|
||||||
|
val storage = MessagingModuleConfiguration.shared.storage
|
||||||
val senderName: String? = if (!isOutgoing) {
|
val senderName: String? = if (!isOutgoing) {
|
||||||
MessagingModuleConfiguration.shared.storage.getDisplayName(sender!!) ?: sender
|
storage.getContactWithSessionID(sender!!)?.displayName(Contact.ContactContext.REGULAR) ?: sender
|
||||||
} else { context.getString(R.string.MessageRecord_you) }
|
} else { context.getString(R.string.MessageRecord_you) }
|
||||||
return if (duration <= 0) {
|
return if (duration <= 0) {
|
||||||
if (isOutgoing) context.getString(R.string.MessageRecord_you_disabled_disappearing_messages)
|
if (isOutgoing) context.getString(R.string.MessageRecord_you_disabled_disappearing_messages)
|
||||||
@ -90,7 +93,8 @@ object UpdateMessageBuilder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun buildDataExtractionMessage(context: Context, kind: DataExtractionNotificationInfoMessage.Kind, sender: String? = null): String {
|
fun buildDataExtractionMessage(context: Context, kind: DataExtractionNotificationInfoMessage.Kind, sender: String? = null): String {
|
||||||
val senderName = MessagingModuleConfiguration.shared.storage.getDisplayName(sender!!) ?: sender
|
val storage = MessagingModuleConfiguration.shared.storage
|
||||||
|
val senderName = storage.getContactWithSessionID(sender!!)?.displayName(Contact.ContactContext.REGULAR) ?: sender!!
|
||||||
return when (kind) {
|
return when (kind) {
|
||||||
DataExtractionNotificationInfoMessage.Kind.SCREENSHOT ->
|
DataExtractionNotificationInfoMessage.Kind.SCREENSHOT ->
|
||||||
context.getString(R.string.MessageRecord_s_took_a_screenshot, senderName)
|
context.getString(R.string.MessageRecord_s_took_a_screenshot, senderName)
|
||||||
|
@ -29,11 +29,11 @@ class SSKEnvironment(
|
|||||||
const val NAME_PADDED_LENGTH = 26
|
const val NAME_PADDED_LENGTH = 26
|
||||||
}
|
}
|
||||||
|
|
||||||
fun setDisplayName(context: Context, recipient: Recipient, displayName: String?) // Client-side Nickname
|
fun setNickname(context: Context, recipient: Recipient, nickname: String?)
|
||||||
|
fun setName(context: Context, recipient: Recipient, name: String)
|
||||||
fun setProfilePictureURL(context: Context, recipient: Recipient, profilePictureURL: String)
|
fun setProfilePictureURL(context: Context, recipient: Recipient, profilePictureURL: String)
|
||||||
fun setProfileKey(context: Context, recipient: Recipient, profileKey: ByteArray)
|
fun setProfileKey(context: Context, recipient: Recipient, profileKey: ByteArray)
|
||||||
fun setUnidentifiedAccessMode(context: Context, recipient: Recipient, unidentifiedAccessMode: Recipient.UnidentifiedAccessMode)
|
fun setUnidentifiedAccessMode(context: Context, recipient: Recipient, unidentifiedAccessMode: Recipient.UnidentifiedAccessMode)
|
||||||
fun getDisplayName(context: Context, recipient: Recipient): String?
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface MessageExpirationManagerProtocol {
|
interface MessageExpirationManagerProtocol {
|
||||||
|
@ -286,7 +286,6 @@ public class Recipient implements RecipientModifiedListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public synchronized @Nullable String getName() {
|
public synchronized @Nullable String getName() {
|
||||||
|
|
||||||
String displayName = MessagingModuleConfiguration.shared.getStorage().getDisplayName(this.address.toString());
|
String displayName = MessagingModuleConfiguration.shared.getStorage().getDisplayName(this.address.toString());
|
||||||
if (displayName != null && !displayName.isEmpty()) { return displayName; }
|
if (displayName != null && !displayName.isEmpty()) { return displayName; }
|
||||||
|
|
||||||
|
@ -19,24 +19,14 @@ interface LokiAPIDatabaseProtocol {
|
|||||||
fun setReceivedMessageHashValues(publicKey: String, newValue: Set<String>)
|
fun setReceivedMessageHashValues(publicKey: String, newValue: Set<String>)
|
||||||
fun getAuthToken(server: String): String?
|
fun getAuthToken(server: String): String?
|
||||||
fun setAuthToken(server: String, newValue: String?)
|
fun setAuthToken(server: String, newValue: String?)
|
||||||
fun getLastMessageServerID(group: Long, server: String): Long?
|
|
||||||
fun setLastMessageServerID(group: Long, server: String, newValue: Long)
|
|
||||||
fun getLastDeletionServerID(group: Long, server: String): Long?
|
|
||||||
fun setLastDeletionServerID(group: Long, server: String, newValue: Long)
|
|
||||||
fun setUserCount(group: Long, server: String, newValue: Int)
|
fun setUserCount(group: Long, server: String, newValue: Int)
|
||||||
|
fun setUserCount(room: String, server: String, newValue: Int)
|
||||||
fun getLastMessageServerID(room: String, server: String): Long?
|
fun getLastMessageServerID(room: String, server: String): Long?
|
||||||
fun setLastMessageServerID(room: String, server: String, newValue: Long)
|
fun setLastMessageServerID(room: String, server: String, newValue: Long)
|
||||||
fun getLastDeletionServerID(room: String, server: String): Long?
|
fun getLastDeletionServerID(room: String, server: String): Long?
|
||||||
fun setLastDeletionServerID(room: String, server: String, newValue: Long)
|
fun setLastDeletionServerID(room: String, server: String, newValue: Long)
|
||||||
fun setUserCount(room: String, server: String, newValue: Int)
|
|
||||||
fun getSessionRequestSentTimestamp(publicKey: String): Long?
|
|
||||||
fun setSessionRequestSentTimestamp(publicKey: String, newValue: Long)
|
|
||||||
fun getSessionRequestProcessedTimestamp(publicKey: String): Long?
|
|
||||||
fun setSessionRequestProcessedTimestamp(publicKey: String, newValue: Long)
|
|
||||||
fun getOpenGroupPublicKey(server: String): String?
|
fun getOpenGroupPublicKey(server: String): String?
|
||||||
fun setOpenGroupPublicKey(server: String, newValue: String)
|
fun setOpenGroupPublicKey(server: String, newValue: String)
|
||||||
fun setOpenGroupProfilePictureURL(group: Long, server: String, newValue: String)
|
|
||||||
fun getOpenGroupProfilePictureURL(group: Long, server: String): String?
|
|
||||||
fun getLastSnodePoolRefreshDate(): Date?
|
fun getLastSnodePoolRefreshDate(): Date?
|
||||||
fun setLastSnodePoolRefreshDate(newValue: Date)
|
fun setLastSnodePoolRefreshDate(newValue: Date)
|
||||||
fun getUserX25519KeyPair(): ECKeyPair
|
fun getUserX25519KeyPair(): ECKeyPair
|
||||||
|
@ -2,6 +2,5 @@ package org.session.libsignal.database
|
|||||||
|
|
||||||
interface LokiMessageDatabaseProtocol {
|
interface LokiMessageDatabaseProtocol {
|
||||||
|
|
||||||
fun getQuoteServerID(quoteID: Long, quoteePublicKey: String): Long?
|
|
||||||
fun setServerID(messageID: Long, serverID: Long, isSms: Boolean)
|
fun setServerID(messageID: Long, serverID: Long, isSms: Boolean)
|
||||||
}
|
}
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
package org.session.libsignal.database
|
|
||||||
|
|
||||||
interface LokiUserDatabaseProtocol {
|
|
||||||
|
|
||||||
fun getDisplayName(publicKey: String): String?
|
|
||||||
fun getProfilePictureURL(publicKey: String): String?
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user