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());