This commit is contained in:
Niels Andriesse
2021-05-21 15:36:16 +10:00
parent e0c1456af4
commit c0f894e1b2
8 changed files with 51 additions and 66 deletions

View File

@@ -491,15 +491,6 @@ class Storage(context: Context, helper: SQLCipherOpenHelper) : Database(context,
return threadId
}
override fun getDisplayName(publicKey: String): String? {
val contact = DatabaseFactory.getSessionContactDatabase(context).getContactWithSessionID(publicKey)
contact?.let {
val contactContext = Contact.contextForRecipient(Recipient.from(context, fromSerialized(publicKey), false))
return it.displayName(contactContext)
}
return DatabaseFactory.getLokiUserDatabase(context).getDisplayName(publicKey)
}
override fun getProfilePictureURL(publicKey: String): String? {
return DatabaseFactory.getLokiUserDatabase(context).getProfilePictureURL(publicKey)
}

View File

@@ -10,6 +10,7 @@ import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper
import org.thoughtcrime.securesms.loki.utilities.*
class SessionContactDatabase(context: Context, helper: SQLCipherOpenHelper) : Database(context, helper) {
companion object {
private const val sessionContactTable = "session_contact_database"
const val sessionID = "session_id"
@@ -22,19 +23,19 @@ class SessionContactDatabase(context: Context, helper: SQLCipherOpenHelper) : Da
const val isTrusted = "is_trusted"
@JvmStatic val createSessionContactTableCommand =
"CREATE TABLE $sessionContactTable " +
"($sessionID STRING PRIMARY KEY, " +
"$name TEXT DEFAULT NULL, " +
"$nickname TEXT DEFAULT NULL, " +
"$profilePictureURL TEXT DEFAULT NULL, " +
"$profilePictureFileName TEXT DEFAULT NULL, " +
"$profilePictureEncryptionKey BLOB DEFAULT NULL, " +
"$threadID INTEGER DEFAULT -1, " +
"$isTrusted INTEGER DEFAULT 0);"
"($sessionID STRING PRIMARY KEY, " +
"$name TEXT DEFAULT NULL, " +
"$nickname TEXT DEFAULT NULL, " +
"$profilePictureURL TEXT DEFAULT NULL, " +
"$profilePictureFileName TEXT DEFAULT NULL, " +
"$profilePictureEncryptionKey BLOB DEFAULT NULL, " +
"$threadID INTEGER DEFAULT -1, " +
"$isTrusted INTEGER DEFAULT 0);"
}
fun getContactWithSessionID(sessionID: String): Contact? {
val database = databaseHelper.readableDatabase
return database.get(sessionContactTable, "${SessionContactDatabase.sessionID} = ?", arrayOf(sessionID)) { cursor ->
return database.get(sessionContactTable, "${SessionContactDatabase.sessionID} = ?", arrayOf( sessionID )) { cursor ->
contactFromCursor(cursor)
}
}
@@ -59,7 +60,7 @@ class SessionContactDatabase(context: Context, helper: SQLCipherOpenHelper) : Da
}
contentValues.put(threadID, threadID)
contentValues.put(isTrusted, if (contact.isTrusted) 1 else 0)
database.insertOrUpdate(sessionContactTable, contentValues, "$sessionID = ?", arrayOf(contact.sessionID))
database.insertOrUpdate(sessionContactTable, contentValues, "$sessionID = ?", arrayOf( contact.sessionID ))
notifyConversationListListeners()
}

View File

@@ -19,7 +19,7 @@ import org.session.libsession.utilities.recipients.Recipient
import org.session.libsession.utilities.SSKEnvironment
import org.thoughtcrime.securesms.mms.GlideApp
public class UserDetailsBottomSheet : BottomSheetDialogFragment() {
class UserDetailsBottomSheet : BottomSheetDialogFragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_user_details_bottom_sheet, container, false)
@@ -75,7 +75,7 @@ public class UserDetailsBottomSheet : BottomSheetDialogFragment() {
nameTextViewContainer.visibility = View.VISIBLE
nameEditContainer.visibility = View.INVISIBLE
var newNickName: String? = null
if (!nameEditText.text.isEmpty()) {
if (nameEditText.text.isNotEmpty()) {
newNickName = nameEditText.text.toString()
}
SSKEnvironment.shared.profileManager.setDisplayName(requireContext(), recipient, newNickName)

View File

@@ -55,8 +55,7 @@ class UserView : LinearLayout {
} else {
val contact = DatabaseFactory.getSessionContactDatabase(context).getContactWithSessionID(publicKey)
contact?.let {
val contactContext = Contact.contextForRecipient(user)
return it.displayName(contactContext)
return it.displayName(Contact.ContactContext.REGULAR)
}
val result = DatabaseFactory.getLokiUserDatabase(context).getDisplayName(publicKey)
return result ?: publicKey

View File

@@ -8,7 +8,7 @@ import org.thoughtcrime.securesms.ApplicationContext
import org.thoughtcrime.securesms.database.DatabaseFactory
import org.thoughtcrime.securesms.jobs.RetrieveProfileAvatarJob
class ProfileManager: SSKEnvironment.ProfileManagerProtocol {
class ProfileManager : SSKEnvironment.ProfileManagerProtocol {
override fun setDisplayName(context: Context, recipient: Recipient, displayName: String?) {
val sessionID = recipient.address.serialize()

View File

@@ -97,26 +97,6 @@
android:layout_height="match_parent"
android:layout_weight="1" />
<LinearLayout
android:id="@+id/cancelButtonContainer"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:clickable="true"
android:focusable="true"
android:visibility="gone">
<ImageView
android:layout_width="18dp"
android:layout_height="18dp"
android:src="@drawable/ic_baseline_clear_24"
android:layout_marginRight="8dp"
android:layout_marginLeft="8dp" />
</LinearLayout>
</LinearLayout>
</androidx.appcompat.widget.Toolbar>