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

Commit d173885e authored by Romain Hunault's avatar Romain Hunault 💻
Browse files

Merge branch 'dev' into 'master'

[RELEASE] Sprint Freetown

See merge request e/apps/Message!17
parents 0a3a5803 a34484ae
Loading
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import dagger.Module
import dagger.Provides
import dagger.multibindings.IntoMap
import io.reactivex.disposables.CompositeDisposable
import javax.inject.Named

@Module
class MainActivityModule {
@@ -33,6 +34,11 @@ class MainActivityModule {
    @ActivityScope
    fun provideCompositeDiposableLifecycle(): CompositeDisposable = CompositeDisposable()

    @Provides
    @Named("threadId")
    fun provideThreadId(activity: MainActivity): Long = activity.intent.extras?.getLong("threadId")
            ?: 0L

    @Provides
    @IntoMap
    @ViewModelKey(MainViewModel::class)
+29 −28
Original line number Diff line number Diff line
@@ -24,16 +24,7 @@ import com.moez.QKSMS.common.Navigator
import com.moez.QKSMS.common.base.QkViewModel
import com.moez.QKSMS.common.util.BillingManager
import com.moez.QKSMS.extensions.mapNotNull
import com.moez.QKSMS.interactor.DeleteConversations
import com.moez.QKSMS.interactor.MarkAllSeen
import com.moez.QKSMS.interactor.MarkArchived
import com.moez.QKSMS.interactor.MarkPinned
import com.moez.QKSMS.interactor.MarkRead
import com.moez.QKSMS.interactor.MarkUnarchived
import com.moez.QKSMS.interactor.MarkUnpinned
import com.moez.QKSMS.interactor.MarkUnread
import com.moez.QKSMS.interactor.MigratePreferences
import com.moez.QKSMS.interactor.SyncMessages
import com.moez.QKSMS.interactor.*
import com.moez.QKSMS.listener.ContactAddedListener
import com.moez.QKSMS.manager.ChangelogManager
import com.moez.QKSMS.manager.PermissionManager
@@ -51,8 +42,10 @@ import io.realm.Realm
import java.util.*
import java.util.concurrent.TimeUnit
import javax.inject.Inject
import javax.inject.Named

class MainViewModel @Inject constructor(
        @Named("threadId") private val threadId: Long,
        markAllSeen: MarkAllSeen,
        migratePreferences: MigratePreferences,
        syncRepository: SyncRepository,
@@ -61,6 +54,7 @@ class MainViewModel @Inject constructor(
        private val conversationRepo: ConversationRepository,
        private val deleteConversations: DeleteConversations,
        private val markArchived: MarkArchived,
        private val markBlocked: MarkBlocked,
        private val markPinned: MarkPinned,
        private val markRead: MarkRead,
        private val markUnarchived: MarkUnarchived,
@@ -69,7 +63,8 @@ class MainViewModel @Inject constructor(
        private val navigator: Navigator,
        private val permissionManager: PermissionManager,
        private val prefs: Preferences,
    private val syncMessages: SyncMessages
        private val syncMessages: SyncMessages,
        private val syncContacts: ContactSync
) : QkViewModel<MainView, MainState>(MainState(page = Inbox(data = conversationRepo.getConversations()))) {

    init {
@@ -388,6 +383,12 @@ class MainViewModel @Inject constructor(
                }
                .autoDisposable(view.scope())
                .subscribe()



        if (threadId == 0L) {
            syncContacts.execute(Unit)
        }
    }

}