From 0156b224fea47fd1c73ddfa01c6028cfdfeaeef3 Mon Sep 17 00:00:00 2001 From: Moez Bhatti Date: Thu, 5 Apr 2018 14:35:00 -0400 Subject: [PATCH] Find message uri after determining that it is sms or mms Fixes https://app.bugsnag.com/qk-labs/qksms/errors/5aad6a6f4b6edd001a03b319?filters[error.status][0]=open --- data/src/main/java/repository/SyncRepositoryImpl.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/data/src/main/java/repository/SyncRepositoryImpl.kt b/data/src/main/java/repository/SyncRepositoryImpl.kt index 43a0c364..d309b723 100644 --- a/data/src/main/java/repository/SyncRepositoryImpl.kt +++ b/data/src/main/java/repository/SyncRepositoryImpl.kt @@ -39,6 +39,7 @@ import util.extensions.asFlowable import util.extensions.insertOrUpdate import util.extensions.map import util.extensions.mapWhile +import util.tryOrNull import javax.inject.Inject import javax.inject.Singleton @@ -138,13 +139,14 @@ class SyncRepositoryImpl @Inject constructor( } override fun syncMessage(uri: Uri): Flowable { - val id = ContentUris.parseId(uri) val type = when { uri.toString().contains("mms") -> "mms" uri.toString().contains("sms") -> "sms" else -> return Flowable.empty() } + val id = tryOrNull { ContentUris.parseId(uri) } + // Check if the message already exists, so we can reuse the id val existingId = Realm.getDefaultInstance().use { realm -> realm.refresh()