From f71d2564b2fbea6991f9db1750972fd7014fd465 Mon Sep 17 00:00:00 2001 From: Moez Bhatti Date: Wed, 30 May 2018 12:17:16 -0400 Subject: [PATCH] Sync subId when syncing message --- android-smsmms/build.gradle | 2 +- data/build.gradle | 2 +- data/src/main/java/mapper/CursorToMessageImpl.kt | 2 ++ data/src/main/java/migration/QkRealmMigration.kt | 11 +++++++++++ domain/build.gradle | 2 +- domain/src/main/java/mapper/CursorToMessage.kt | 1 + domain/src/main/java/model/Message.kt | 1 + presentation/build.gradle | 2 +- presentation/src/main/java/common/QKApplication.kt | 4 ++-- 9 files changed, 21 insertions(+), 6 deletions(-) diff --git a/android-smsmms/build.gradle b/android-smsmms/build.gradle index 8e93643e..1c8cc0c0 100644 --- a/android-smsmms/build.gradle +++ b/android-smsmms/build.gradle @@ -23,7 +23,7 @@ android { compileSdkVersion 25 defaultConfig { - minSdkVersion 21 + minSdkVersion 22 targetSdkVersion 25 versionCode 1 versionName "1.0" diff --git a/data/build.gradle b/data/build.gradle index e58f1548..43a87db2 100644 --- a/data/build.gradle +++ b/data/build.gradle @@ -6,7 +6,7 @@ android { compileSdkVersion 27 defaultConfig { - minSdkVersion 21 + minSdkVersion 22 targetSdkVersion 27 } } diff --git a/data/src/main/java/mapper/CursorToMessageImpl.kt b/data/src/main/java/mapper/CursorToMessageImpl.kt index ddb1e268..040a3a9c 100644 --- a/data/src/main/java/mapper/CursorToMessageImpl.kt +++ b/data/src/main/java/mapper/CursorToMessageImpl.kt @@ -46,6 +46,7 @@ class CursorToMessageImpl @Inject constructor( Mms.READ, Mms.THREAD_ID, Mms.LOCKED, + Mms.SUBSCRIPTION_ID, Sms.ADDRESS, Sms.BODY, @@ -84,6 +85,7 @@ class CursorToMessageImpl @Inject constructor( dateSent = cursor.getLong(columnsMap.dateSent) read = cursor.getInt(columnsMap.read) != 0 locked = cursor.getInt(columnsMap.locked) != 0 + subId = cursor.getInt(columnsMap.subId) when (type) { "sms" -> { diff --git a/data/src/main/java/migration/QkRealmMigration.kt b/data/src/main/java/migration/QkRealmMigration.kt index b93b7160..eb3fb10a 100644 --- a/data/src/main/java/migration/QkRealmMigration.kt +++ b/data/src/main/java/migration/QkRealmMigration.kt @@ -24,6 +24,10 @@ import io.realm.RealmMigration class QkRealmMigration : RealmMigration { + companion object { + const val SCHEMA_VERSION: Long = 2 + } + override fun migrate(realm: DynamicRealm, oldVersion: Long, newVersion: Long) { var version = oldVersion @@ -34,6 +38,13 @@ class QkRealmMigration : RealmMigration { version++ } + if (version == 1L) { + realm.schema.get("Message") + ?.addField("subId", Int::class.java) + + version++ + } + if (version < newVersion) { throw IllegalStateException("Migration missing from v$oldVersion to v$newVersion") } diff --git a/domain/build.gradle b/domain/build.gradle index e14e4f62..f7aa73a0 100644 --- a/domain/build.gradle +++ b/domain/build.gradle @@ -7,7 +7,7 @@ android { compileSdkVersion 27 defaultConfig { - minSdkVersion 21 + minSdkVersion 22 targetSdkVersion 27 } } diff --git a/domain/src/main/java/mapper/CursorToMessage.kt b/domain/src/main/java/mapper/CursorToMessage.kt index 5b00bf5c..4ed8df2c 100644 --- a/domain/src/main/java/mapper/CursorToMessage.kt +++ b/domain/src/main/java/mapper/CursorToMessage.kt @@ -39,6 +39,7 @@ interface CursorToMessage : Mapper, val read by lazy { getColumnIndex(Mms.READ) } val threadId by lazy { getColumnIndex(Mms.THREAD_ID) } val locked by lazy { getColumnIndex(Mms.LOCKED) } + val subId by lazy { getColumnIndex(Mms.SUBSCRIPTION_ID) } val smsAddress by lazy { getColumnIndex(Sms.ADDRESS) } val smsBody by lazy { getColumnIndex(Sms.BODY) } diff --git a/domain/src/main/java/model/Message.kt b/domain/src/main/java/model/Message.kt index 9c05a223..6e48a7b7 100644 --- a/domain/src/main/java/model/Message.kt +++ b/domain/src/main/java/model/Message.kt @@ -47,6 +47,7 @@ open class Message : RealmObject() { var seen: Boolean = false var read: Boolean = false var locked: Boolean = false + var subId: Int = -1 // SMS only var body: String = "" diff --git a/presentation/build.gradle b/presentation/build.gradle index 76075d38..ed99b9ad 100644 --- a/presentation/build.gradle +++ b/presentation/build.gradle @@ -11,7 +11,7 @@ android { defaultConfig { applicationId "com.moez.QKSMS" - minSdkVersion 21 + minSdkVersion 22 targetSdkVersion 27 versionCode 170 versionName "3.2.2" diff --git a/presentation/src/main/java/common/QKApplication.kt b/presentation/src/main/java/common/QKApplication.kt index 5322e85b..e044a15c 100644 --- a/presentation/src/main/java/common/QKApplication.kt +++ b/presentation/src/main/java/common/QKApplication.kt @@ -29,7 +29,6 @@ import com.bugsnag.android.Bugsnag import com.bugsnag.android.Configuration import com.moez.QKSMS.BuildConfig import com.moez.QKSMS.R -import util.NightModeManager import dagger.android.AndroidInjector import dagger.android.DispatchingAndroidInjector import dagger.android.HasActivityInjector @@ -42,6 +41,7 @@ import io.realm.RealmConfiguration import manager.AnalyticsManager import migration.QkRealmMigration import timber.log.Timber +import util.NightModeManager import javax.inject.Inject class QKApplication : Application(), HasActivityInjector, HasBroadcastReceiverInjector, HasServiceInjector { @@ -74,7 +74,7 @@ class QKApplication : Application(), HasActivityInjector, HasBroadcastReceiverIn Realm.setDefaultConfiguration(RealmConfiguration.Builder() .compactOnLaunch() .migration(QkRealmMigration()) - .schemaVersion(1) + .schemaVersion(QkRealmMigration.SCHEMA_VERSION) .build()) AppComponentManager.init(this)