Remove usage of SingleLiveEvent from MediaCaptureViewModel.
This commit is contained in:
parent
c56e63d62f
commit
4a5a65ff6c
2 changed files with 9 additions and 7 deletions
|
@ -58,7 +58,7 @@ class MediaCaptureFragment : Fragment(R.layout.fragment_container), CameraFragme
|
|||
.replace(R.id.fragment_container, captureChildFragment as Fragment)
|
||||
.commitNowAllowingStateLoss()
|
||||
|
||||
viewModel.events.observe(viewLifecycleOwner) { event ->
|
||||
lifecycleDisposable += viewModel.events.subscribe { event ->
|
||||
@Exhaustive
|
||||
when (event) {
|
||||
MediaCaptureEvent.MediaCaptureRenderFailed -> {
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
package org.thoughtcrime.securesms.mediasend.v2.capture
|
||||
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.rxjava3.core.Flowable
|
||||
import io.reactivex.rxjava3.core.Observable
|
||||
import io.reactivex.rxjava3.subjects.PublishSubject
|
||||
import io.reactivex.rxjava3.subjects.Subject
|
||||
import org.thoughtcrime.securesms.mediasend.Media
|
||||
import org.thoughtcrime.securesms.util.SingleLiveEvent
|
||||
import org.thoughtcrime.securesms.util.rx.RxStore
|
||||
import java.io.FileDescriptor
|
||||
import java.util.Optional
|
||||
|
@ -14,9 +16,9 @@ class MediaCaptureViewModel(private val repository: MediaCaptureRepository) : Vi
|
|||
|
||||
private val store: RxStore<MediaCaptureState> = RxStore(MediaCaptureState())
|
||||
|
||||
private val internalEvents: SingleLiveEvent<MediaCaptureEvent> = SingleLiveEvent()
|
||||
private val internalEvents: Subject<MediaCaptureEvent> = PublishSubject.create()
|
||||
|
||||
val events: LiveData<MediaCaptureEvent> = internalEvents
|
||||
val events: Observable<MediaCaptureEvent> = internalEvents.observeOn(AndroidSchedulers.mainThread())
|
||||
|
||||
init {
|
||||
repository.getMostRecentItem { media ->
|
||||
|
@ -43,11 +45,11 @@ class MediaCaptureViewModel(private val repository: MediaCaptureRepository) : Vi
|
|||
}
|
||||
|
||||
private fun onMediaRendered(media: Media) {
|
||||
internalEvents.postValue(MediaCaptureEvent.MediaCaptureRendered(media))
|
||||
internalEvents.onNext(MediaCaptureEvent.MediaCaptureRendered(media))
|
||||
}
|
||||
|
||||
private fun onMediaRenderFailed() {
|
||||
internalEvents.postValue(MediaCaptureEvent.MediaCaptureRenderFailed)
|
||||
internalEvents.onNext(MediaCaptureEvent.MediaCaptureRenderFailed)
|
||||
}
|
||||
|
||||
class Factory(private val repository: MediaCaptureRepository) : ViewModelProvider.Factory {
|
||||
|
|
Loading…
Add table
Reference in a new issue