Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 84923d1d authored by Moez Bhatti's avatar Moez Bhatti
Browse files

Fix single MMS sync

parent 3d84ccce
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -44,8 +44,12 @@ class CursorToPartImpl @Inject constructor(private val context: Context) : Curso
        text = from.getStringOrNull(from.getColumnIndexOrThrow(Telephony.Mms.Part.TEXT))
    }

    override fun getPartsCursor(): Cursor? {
        return context.contentResolver.query(CONTENT_URI, null, null, null, null)
    override fun getPartsCursor(messageId: Long?): Cursor? {
        return when (messageId) {
            null -> context.contentResolver.query(CONTENT_URI, null, null, null, null)
            else -> context.contentResolver.query(CONTENT_URI, null,
                    "${Telephony.Mms.Part.MSG_ID} = ?", arrayOf(messageId.toString()), null)
        }
    }

}
+6 −0
Original line number Diff line number Diff line
@@ -251,6 +251,12 @@ class SyncRepositoryImpl @Inject constructor(
            cursorToMessage.map(Pair(cursor, columnsMap)).apply {
                existingId?.let { this.id = it }

                if (isMms()) {
                    parts = RealmList<MmsPart>().apply {
                        addAll(cursorToPart.getPartsCursor(contentId)?.map { cursorToPart.map(it) }.orEmpty())
                    }
                }

                conversationRepo.getOrCreateConversation(threadId)
                insertOrUpdate()
            }
+1 −1
Original line number Diff line number Diff line
@@ -23,6 +23,6 @@ import com.moez.QKSMS.model.MmsPart

interface CursorToPart : Mapper<Cursor, MmsPart> {

    fun getPartsCursor(): Cursor?
    fun getPartsCursor(messageId: Long? = null): Cursor?

}