From 807a1008cad5c9d100dd7038f3872553576c7be6 Mon Sep 17 00:00:00 2001 From: pacien Date: Tue, 7 Nov 2017 20:38:57 +0100 Subject: Handle unavailable "external" storage ; Remove network list observer --- app/src/main/java/org/pacien/tincapp/context/AppPaths.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'app/src/main/java/org/pacien/tincapp/context/AppPaths.kt') diff --git a/app/src/main/java/org/pacien/tincapp/context/AppPaths.kt b/app/src/main/java/org/pacien/tincapp/context/AppPaths.kt index 94780cc..005cded 100644 --- a/app/src/main/java/org/pacien/tincapp/context/AppPaths.kt +++ b/app/src/main/java/org/pacien/tincapp/context/AppPaths.kt @@ -1,11 +1,12 @@ package org.pacien.tincapp.context +import android.os.Environment import java.io.File import java.io.FileNotFoundException /** * @author pacien - * * + * * @implNote Logs and PID files are stored in the cache directory for easy clean up. */ object AppPaths { @@ -23,8 +24,11 @@ object AppPaths { private val NET_DEFAULT_ED25519_PRIVATE_KEY_FILE = "ed25519_key.priv" private val NET_DEFAULT_RSA_PRIVATE_KEY_FILE = "rsa_key.priv" - fun cacheDir() = App.getContext().externalCacheDir!! - fun confDir() = App.getContext().getExternalFilesDir(null)!! + fun storageAvailable() = + Environment.getExternalStorageState().let { it == Environment.MEDIA_MOUNTED && it != Environment.MEDIA_MOUNTED_READ_ONLY } + + fun cacheDir() = App.getContext().externalCacheDir + fun confDir() = App.getContext().getExternalFilesDir(null) fun binDir() = File(App.getContext().applicationInfo.nativeLibraryDir) fun confDir(netName: String) = File(confDir(), netName) -- cgit v1.2.3