@@ -878,11 +878,17 @@ fun Context.subscriptionManagerCompat(): SubscriptionManager {
878878 return getSystemService(SubscriptionManager ::class .java)
879879}
880880
881- fun Context.insertOrUpdateConversation (conversation : Conversation ) {
882- val cachedConv = conversationsDB.getConversationWithThreadId(conversation.threadId)
881+ fun Context.insertOrUpdateConversation (
882+ conversation : Conversation ,
883+ cachedConv : Conversation ? = conversationsDB.getConversationWithThreadId(conversation.threadId)
884+ ) {
883885 val updatedConv = if (cachedConv != null ) {
884886 val usesCustomTitle = cachedConv.usesCustomTitle
885- val title = if (usesCustomTitle) cachedConv.title else conversation.title
887+ val title = if (usesCustomTitle) {
888+ cachedConv.title
889+ } else {
890+ conversation.title
891+ }
886892 conversation.copy(title = title, usesCustomTitle = usesCustomTitle)
887893 } else {
888894 conversation
@@ -900,21 +906,27 @@ fun Context.renameConversation(conversation: Conversation, newTitle: String): Co
900906 return updatedConv
901907}
902908
903- fun Context.createTemporaryThread (message : Message , threadId : Long = generateRandomId()) {
909+ fun Context.createTemporaryThread (message : Message , threadId : Long = generateRandomId(), cachedConv : Conversation ? ) {
904910 val simpleContactHelper = SimpleContactsHelper (this )
905911 val addresses = message.participants.getAddresses()
906912 val photoUri = if (addresses.size == 1 ) simpleContactHelper.getPhotoUriFromPhoneNumber(addresses.first()) else " "
913+ val title = if (cachedConv != null && cachedConv.usesCustomTitle) {
914+ cachedConv.title
915+ } else {
916+ message.participants.getThreadTitle()
917+ }
907918
908919 val conversation = Conversation (
909920 threadId = threadId,
910921 snippet = message.body,
911922 date = message.date,
912923 read = true ,
913- title = message.participants.getThreadTitle() ,
924+ title = title ,
914925 photoUri = photoUri,
915926 isGroupConversation = addresses.size > 1 ,
916927 phoneNumber = addresses.first(),
917- isScheduled = true
928+ isScheduled = true ,
929+ usesCustomTitle = cachedConv?.usesCustomTitle == true
918930 )
919931 try {
920932 conversationsDB.insertOrUpdate(conversation)
0 commit comments