From 7b54072fb5a97f7af9252b3090a83d19d4e3b04d Mon Sep 17 00:00:00 2001 From: yova Date: Thu, 1 Feb 2024 23:58:11 +0100 Subject: [PATCH] catch more exceptions show delete button only when available --- .../java/org/wntr/mdeditor/MainActivity.kt | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/wntr/mdeditor/MainActivity.kt b/app/src/main/java/org/wntr/mdeditor/MainActivity.kt index 37bcc93..d628623 100644 --- a/app/src/main/java/org/wntr/mdeditor/MainActivity.kt +++ b/app/src/main/java/org/wntr/mdeditor/MainActivity.kt @@ -255,7 +255,7 @@ class MainActivity : AppCompatActivity() { Toast.LENGTH_LONG ).show() - // This check for connection needs to be refined once multiple accounts are supported + // TODO: This check for connection needs to be refined once multiple accounts are supported checkGhostConnection() for (uri in uris) pushImage(uri) @@ -982,11 +982,13 @@ class MainActivity : AppCompatActivity() { if (metaData.get("url") !== null) { val url = parse(metaData.get("url")) deleteVisible = true - invalidateOptionsMenu() val apiHost = url.scheme + "://" + url.host Log.i(javaClass.simpleName, "Starting api controller for: $apiHost") api = ghostAPI(applicationContext, apiHost) + } else { + deleteVisible = false } + invalidateOptionsMenu() } } } @@ -1072,11 +1074,15 @@ class MainActivity : AppCompatActivity() { } catch (e:Exception) { Log.d (javaClass.simpleName, "Couldn't cancel autosaveTimer.\n$e") } - saveFile() - webView.evaluateJavascript("easyMDE.codemirror.doc.getCursor();") { - metaData.cursor=it - Log.i(javaClass.simpleName,"Cursor: $it") - saveMetaToSharedPrefs(applicationContext) + try { + webView.evaluateJavascript("easyMDE.codemirror.doc.getCursor();") { + metaData.cursor = it + Log.i(javaClass.simpleName, "Cursor: $it") + saveMetaToSharedPrefs(applicationContext) + saveFile() + } + } catch (e: UninitializedPropertyAccessException) { + Log.d(javaClass.simpleName, "Webview not yet loaded.\n$e") } Log.i(javaClass.simpleName, "\"onPause\" durchlaufen") }