From a2d5a8fe63be3985ddc77468ef50ee8267ea3b53 Mon Sep 17 00:00:00 2001 From: zt515 Date: Sun, 18 Jun 2017 11:40:33 +0800 Subject: [PATCH] Fix: Crashes with FileUtils#writeFile --- .../shortcut/builtin/BuiltinShortcutKeys.kt | 7 +++++-- app/src/main/java/io/neoterm/utils/FileUtils.kt | 12 ++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/io/neoterm/customize/shortcut/builtin/BuiltinShortcutKeys.kt b/app/src/main/java/io/neoterm/customize/shortcut/builtin/BuiltinShortcutKeys.kt index 05ed625..63d84fe 100644 --- a/app/src/main/java/io/neoterm/customize/shortcut/builtin/BuiltinShortcutKeys.kt +++ b/app/src/main/java/io/neoterm/customize/shortcut/builtin/BuiltinShortcutKeys.kt @@ -22,12 +22,15 @@ object BuiltinShortcutKeys { "define Q false\n" fun registerAll() { - val vimFile = File(NeoTermPath.EKS_PATH, "vim.eks") + val configDir = File(NeoTermPath.EKS_PATH) + configDir.mkdirs() + + val vimFile = File(configDir, "vim.eks") if (!vimFile.exists()) { FileUtils.writeFile(vimFile, vimKeys.toByteArray()) } - val moreFile = File(NeoTermPath.EKS_PATH, "more-less.eks") + val moreFile = File(configDir, "more-less.eks") if (!moreFile.exists()) { FileUtils.writeFile(moreFile, moreKeys.toByteArray()) } diff --git a/app/src/main/java/io/neoterm/utils/FileUtils.kt b/app/src/main/java/io/neoterm/utils/FileUtils.kt index 1a94d72..7343d45 100644 --- a/app/src/main/java/io/neoterm/utils/FileUtils.kt +++ b/app/src/main/java/io/neoterm/utils/FileUtils.kt @@ -10,10 +10,14 @@ import java.io.InputStream */ object FileUtils { fun writeFile(path: File, bytes: ByteArray): Boolean { - return FileOutputStream(path).use { - it.write(bytes) - it.flush() - true + try { + return FileOutputStream(path).use { + it.write(bytes) + it.flush() + true + } + } catch (e: Exception) { + return false } }