From 4e3d3ca6d31915e2b199f828969668c9feb08319 Mon Sep 17 00:00:00 2001 From: fm-sys <64581222+fm-sys@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:56:58 +0200 Subject: [PATCH] hide unnecessary snackbar and reset upload intent on cancel --- app/src/main/assets/init.js | 7 +++++++ .../main/java/com/fmsys/snapdrop/JavaScriptInterface.java | 5 +++++ app/src/main/java/com/fmsys/snapdrop/MainActivity.java | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/assets/init.js b/app/src/main/assets/init.js index bb80f2536..7314b9843 100644 --- a/app/src/main/assets/init.js +++ b/app/src/main/assets/init.js @@ -193,6 +193,13 @@ window.addEventListener('files-sent', e => { SnapdropAndroid.vibrate(); }, false); +window.addEventListener('share-mode-changed', e => { + // remove upload intent on canceling share mode (supported only on PairDrop) + if (!e.detail.active) { + SnapdropAndroid.resetUploadIntent(); + } +}, false); + //hide unnecessary web toolbar buttons try { // snapdrop.net - theme diff --git a/app/src/main/java/com/fmsys/snapdrop/JavaScriptInterface.java b/app/src/main/java/com/fmsys/snapdrop/JavaScriptInterface.java index 2d40ba865..62a7520db 100644 --- a/app/src/main/java/com/fmsys/snapdrop/JavaScriptInterface.java +++ b/app/src/main/java/com/fmsys/snapdrop/JavaScriptInterface.java @@ -184,6 +184,11 @@ public void vibrate() { } } + @JavascriptInterface + public void resetUploadIntent() { + context.resetUploadIntent(); + } + public static class FileHeader { private final String name; private final String mime; diff --git a/app/src/main/java/com/fmsys/snapdrop/MainActivity.java b/app/src/main/java/com/fmsys/snapdrop/MainActivity.java index 749091ae9..6e9643ffd 100644 --- a/app/src/main/java/com/fmsys/snapdrop/MainActivity.java +++ b/app/src/main/java/com/fmsys/snapdrop/MainActivity.java @@ -394,7 +394,7 @@ protected void onNewIntent(final Intent intent) { final String clipText = getTextFromUploadIntent(); - if (!isPairDrop() || clipText.isEmpty()) { + if (!isPairDrop()) { final Snackbar snackbar = Snackbar .make(binding.pullToRefresh, clipText.isEmpty() ? (Intent.ACTION_SEND_MULTIPLE.equals(intent.getAction()) ? R.string.intent_files : R.string.intent_file) : R.string.intent_content, Snackbar.LENGTH_INDEFINITE) .setAction(android.R.string.cancel, button -> resetUploadIntent());