I’m an existing Partition based Sync User migrating to Flexi Sync on Android Kotlin (Legacy) using JAVA SDK. Using : classpath “io.realm:realm-gradle-plugin:10.18.0”
While Migrating the client code we came across to an issue in the process of creating SyncConfiguration’s initialSubscriptions where we have to Subscribe for over 55 RealmObjects. One the First launch everything work perfectly, But on next launch onwards we get following error: “Subscription could not be added because it already existed”
Here is the snippet of how we have initialised our SyncConfiguration:
mDbGlobalConfig = SyncConfiguration.Builder(user!!)
.allowQueriesOnUiThread(true)
.allowWritesOnUiThread(true)
.waitForInitialRemoteData()
.initialSubscriptions { realm, subscriptions ->
subscriptions.addOrUpdate(Subscription.create("One", realm.where(One::class.java).equalTo("admin", adminId)))
subscriptions.addOrUpdate(Subscription.create("Two", realm.where(Two::class.java).equalTo("admin", adminId)))
subscriptions.addOrUpdate(Subscription.create("Three", realm.where(Three::class.java).equalTo("admin", adminId)))
.........................................
subscriptions.addOrUpdate(Subscription.create("FiftyFive", realm.where(FiftyFive::class.java).equalTo("admin", adminId)))