From 83af568619e948ab42022a66124a5b4fed708780 Mon Sep 17 00:00:00 2001 From: Sean Mac Gillicuddy Date: Wed, 21 Aug 2019 13:33:06 +0100 Subject: [PATCH] Storage Not Accessible in API 28 #1385 - partial fix in StorageDevice, spinner wasn't stopping in ZImFileSelectFragment --- .../java/eu/mhutti1/utils/storage/StorageDevice.kt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/mhutti1/utils/storage/StorageDevice.kt b/app/src/main/java/eu/mhutti1/utils/storage/StorageDevice.kt index 01214c164..dec720ec8 100644 --- a/app/src/main/java/eu/mhutti1/utils/storage/StorageDevice.kt +++ b/app/src/main/java/eu/mhutti1/utils/storage/StorageDevice.kt @@ -21,10 +21,12 @@ package eu.mhutti1.utils.storage import android.os.Build import android.os.StatFs +import android.util.Log import java.io.BufferedReader import java.io.File import java.io.FileReader import java.io.FileWriter +import java.io.IOException const val LOCATION_EXTENSION = "storageLocationMarker" @@ -73,16 +75,20 @@ data class StorageDevice( // Create unique file to identify duplicate devices. private fun createLocationCode() { if (!getLocationCodeFromFolder(file)) { - File(file.path, ".$LOCATION_EXTENSION").let { locationCode -> - locationCode.createNewFile() - FileWriter(locationCode).use { it.write(file.path) } + File(file, ".$LOCATION_EXTENSION").let { locationCode -> + try { + locationCode.createNewFile() + FileWriter(locationCode).use { it.write(file.path) } + } catch (ioException: IOException) { + Log.d("StorageDevice", "could not write file $file", ioException) + } } } } // Check if there is already a device code in our path private fun getLocationCodeFromFolder(folder: File): Boolean { - val locationCode = File(folder.path, ".$LOCATION_EXTENSION") + val locationCode = File(folder, ".$LOCATION_EXTENSION") if (locationCode.exists()) { try { BufferedReader(FileReader(locationCode)).use { br ->