diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zimManager/Fat32Checker.kt b/app/src/main/java/org/kiwix/kiwixmobile/zimManager/Fat32Checker.kt index 1efd55125..ce53d6739 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zimManager/Fat32Checker.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/zimManager/Fat32Checker.kt @@ -18,6 +18,7 @@ package org.kiwix.kiwixmobile.zimManager import android.annotation.SuppressLint +import android.os.Build import android.os.FileObserver import io.reactivex.Flowable import io.reactivex.functions.BiFunction @@ -62,12 +63,20 @@ class Fat32Checker constructor( ) } - private fun fileObserver(it: String?): FileObserver { - return object : FileObserver(it, MOVED_FROM or DELETE) { - override fun onEvent(event: Int, path: String?) { - requestCheckSystemFileType.onNext(Unit) - } - }.apply { startWatching() } + private fun fileObserver(it: String): FileObserver { + return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + return object : FileObserver(File(it), MOVED_FROM or DELETE) { + override fun onEvent(event: Int, path: String?) { + requestCheckSystemFileType.onNext(Unit) + } + }.apply { startWatching() } + } else { + object : FileObserver(it, FileObserver.MOVED_FROM or FileObserver.DELETE) { + override fun onEvent(event: Int, path: String?) { + requestCheckSystemFileType.onNext(Unit) + } + }.apply { startWatching() } + } } private fun toFileSystemState(it: String) =