diff --git a/app/src/main/java/fulguris/browser/TabsManager.kt b/app/src/main/java/fulguris/browser/TabsManager.kt index e4814a971..c87582203 100644 --- a/app/src/main/java/fulguris/browser/TabsManager.kt +++ b/app/src/main/java/fulguris/browser/TabsManager.kt @@ -272,6 +272,15 @@ class TabsManager @Inject constructor( } } + /** + * + */ + private fun launchNewTabAndActivate(url: String) { + newTab(UrlInitializer(url), true) + shouldClose = true + lastTab()?.isNewTab = true + } + /** * Initialize the state of the [TabsManager] based on previous state of the browser. * @@ -1114,8 +1123,14 @@ class TabsManager @Inject constructor( if ("text/plain" == intent.type) { // Get shared text val clue = intent.getStringExtra(Intent.EXTRA_TEXT) + + //Fix for #628 - Handle when a link is long pressed on another app and shared to Fulguris + if (clue != null && URLUtil.isNetworkUrl(clue.trim())) { + launchNewTabAndActivate(clue) + } else{ // Put it in the address bar if any clue?.let { iWebBrowser.setAddressBarText(it) } + } } // Cancel other operation as we won't open a tab here null @@ -1135,9 +1150,7 @@ class TabsManager @Inject constructor( lastTab()?.isNewTab = true } } else { - newTab(UrlInitializer(url), true) - shouldClose = true - lastTab()?.isNewTab = true + launchNewTabAndActivate(url) } } }