mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-23 20:48:43 +00:00
Add factory for story privacy view model.
This commit is contained in:
@@ -15,6 +15,7 @@ import org.thoughtcrime.securesms.components.settings.DSLSettingsText
|
||||
import org.thoughtcrime.securesms.components.settings.configure
|
||||
import org.thoughtcrime.securesms.contacts.paged.ContactSearchAdapter
|
||||
import org.thoughtcrime.securesms.contacts.paged.ContactSearchKey
|
||||
import org.thoughtcrime.securesms.contacts.paged.ContactSearchPagedDataSourceRepository
|
||||
import org.thoughtcrime.securesms.groups.ParcelableGroupId
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.thoughtcrime.securesms.mediasend.v2.stories.ChooseGroupStoryBottomSheet
|
||||
@@ -39,7 +40,10 @@ class StoriesPrivacySettingsFragment :
|
||||
ChooseStoryTypeBottomSheet.Callback,
|
||||
GroupStoryEducationSheet.Callback {
|
||||
|
||||
private val viewModel: StoriesPrivacySettingsViewModel by viewModels()
|
||||
private val viewModel: StoriesPrivacySettingsViewModel by viewModels(factoryProducer = {
|
||||
StoriesPrivacySettingsViewModel.Factory(ContactSearchPagedDataSourceRepository(requireContext()))
|
||||
})
|
||||
|
||||
private val lifecycleDisposable = LifecycleDisposable()
|
||||
private val progressDisplayManager = DialogFragmentDisplayManager { ProgressCardDialogFragment() }
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.thoughtcrime.securesms.stories.settings.story
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.rxjava3.core.BackpressureStrategy
|
||||
import io.reactivex.rxjava3.core.Flowable
|
||||
@@ -19,7 +20,7 @@ import org.thoughtcrime.securesms.stories.Stories
|
||||
import org.thoughtcrime.securesms.util.rx.RxStore
|
||||
|
||||
class StoriesPrivacySettingsViewModel(
|
||||
private val contactSearchPagedDataSourceRepository: ContactSearchPagedDataSourceRepository
|
||||
contactSearchPagedDataSourceRepository: ContactSearchPagedDataSourceRepository
|
||||
) : ViewModel() {
|
||||
|
||||
private val repository = StoriesPrivacySettingsRepository()
|
||||
@@ -99,4 +100,12 @@ class StoriesPrivacySettingsViewModel(
|
||||
store.update { it.copy(userHasStories = userHasActiveStories) }
|
||||
}
|
||||
}
|
||||
|
||||
class Factory(
|
||||
private val contactSearchPagedDataSourceRepository: ContactSearchPagedDataSourceRepository
|
||||
) : ViewModelProvider.Factory {
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
return modelClass.cast(StoriesPrivacySettingsViewModel(contactSearchPagedDataSourceRepository)) as T
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user