mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-22 02:36:55 +00:00
Remove usage of SingleLiveEvent from MediaCaptureViewModel.
This commit is contained in:
committed by
Cody Henthorne
parent
c56e63d62f
commit
4a5a65ff6c
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user