Create directory before trying to observe

This commit is contained in:
Moez Bhatti
2018-08-28 15:10:50 -04:00
parent 757a764c3f
commit 091535f860
@@ -21,8 +21,9 @@ package com.moez.QKSMS.util
import android.os.FileObserver
import io.reactivex.Observable
import io.reactivex.subjects.BehaviorSubject
import java.io.File
class QkFileObserver(private val path: String) : FileObserver(path) {
class QkFileObserver(path: String) : FileObserver(path) {
private val subject = BehaviorSubject.createDefault<String>(path).toSerialized()
@@ -31,6 +32,11 @@ class QkFileObserver(private val path: String) : FileObserver(path) {
.doOnDispose { stopWatching() }
.share()
init {
// Make sure that the directory exists
tryOrNull { File(path).mkdirs() }
}
override fun onEvent(event: Int, path: String?) {
path?.let(subject::onNext)
}