From a8d1999fc2782b850bbfea85f50a1601af02cb7e Mon Sep 17 00:00:00 2001 From: arkon Date: Thu, 16 Jan 2020 22:13:34 -0500 Subject: [PATCH] Share Button in WebView + Open in broswer moved there --- .../browse/BrowseCatalogueController.kt | 9 -------- .../ui/manga/info/MangaInfoController.kt | 15 +----------- .../tachiyomi/ui/webview/WebViewActivity.kt | 23 +++++++++++++++++-- app/src/main/res/menu/catalogue_list.xml | 22 ++++++++---------- app/src/main/res/menu/manga_info.xml | 14 +++++------ app/src/main/res/menu/webview.xml | 16 ++++++++++--- 6 files changed, 50 insertions(+), 49 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/browse/BrowseCatalogueController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/browse/BrowseCatalogueController.kt index 8d30281398..4dbdbfaac3 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/browse/BrowseCatalogueController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/browse/BrowseCatalogueController.kt @@ -41,7 +41,6 @@ import eu.kanade.tachiyomi.util.doOnApplyWindowInsets import eu.kanade.tachiyomi.util.gone import eu.kanade.tachiyomi.util.inflate import eu.kanade.tachiyomi.util.marginTop -import eu.kanade.tachiyomi.util.openInBrowser import eu.kanade.tachiyomi.util.snack import eu.kanade.tachiyomi.util.updateLayoutParams import eu.kanade.tachiyomi.util.updatePaddingRelative @@ -319,7 +318,6 @@ open class BrowseCatalogueController(bundle: Bundle) : super.onPrepareOptionsMenu(menu) val isHttpSource = presenter.source is HttpSource - menu.findItem(R.id.action_open_in_browser).isVisible = isHttpSource menu.findItem(R.id.action_open_in_web_view).isVisible = isHttpSource } @@ -328,19 +326,12 @@ open class BrowseCatalogueController(bundle: Bundle) : R.id.action_search -> expandActionViewFromInteraction = true R.id.action_display_mode -> swapDisplayMode() R.id.action_set_filter -> navView?.let { activity?.drawer?.openDrawer(GravityCompat.END) } - R.id.action_open_in_browser -> openInBrowser() R.id.action_open_in_web_view -> openInWebView() else -> return super.onOptionsItemSelected(item) } return true } - private fun openInBrowser() { - val source = presenter.source as? HttpSource ?: return - - activity?.openInBrowser(source.baseUrl) - } - private fun openInWebView() { val source = presenter.source as? HttpSource ?: return val activity = activity ?: return diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoController.kt index e247fbfa56..f3b74bd263 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoController.kt @@ -64,7 +64,6 @@ import eu.kanade.tachiyomi.ui.webview.WebViewActivity import eu.kanade.tachiyomi.util.doOnApplyWindowInsets import eu.kanade.tachiyomi.util.getUriCompat import eu.kanade.tachiyomi.util.marginBottom -import eu.kanade.tachiyomi.util.openInBrowser import eu.kanade.tachiyomi.util.snack import eu.kanade.tachiyomi.util.toast import eu.kanade.tachiyomi.util.updateLayoutParams @@ -229,13 +228,11 @@ class MangaInfoController : NucleusController(), override fun onOptionsItemSelected(item: MenuItem): Boolean { when (item.itemId) { R.id.action_edit -> EditMangaDialog(this, presenter.manga).showDialog(router) - R.id.action_open_in_browser -> openInBrowser() R.id.action_open_in_web_view -> openInWebView() R.id.action_share -> prepareToShareManga() R.id.action_add_to_home_screen -> addToHomeScreen() - else -> return super.onOptionsItemSelected(item) } - return true + return super.onOptionsItemSelected(item) } /** @@ -384,16 +381,6 @@ class MangaInfoController : NucleusController(), presenter.toggleFavorite() } - /** - * Open the manga in browser. - */ - private fun openInBrowser() { - val context = view?.context ?: return - val source = presenter.source as? HttpSource ?: return - - context.openInBrowser(source.mangaDetailsRequest(presenter.manga).url.toString()) - } - private fun openInWebView() { val source = presenter.source as? HttpSource ?: return diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/webview/WebViewActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/webview/WebViewActivity.kt index b13f4dca48..a0b910def1 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/webview/WebViewActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/webview/WebViewActivity.kt @@ -26,6 +26,8 @@ import eu.kanade.tachiyomi.util.doOnApplyWindowInsets import eu.kanade.tachiyomi.util.getResourceColor import eu.kanade.tachiyomi.util.invisible import eu.kanade.tachiyomi.util.marginBottom +import eu.kanade.tachiyomi.util.openInBrowser +import eu.kanade.tachiyomi.util.toast import eu.kanade.tachiyomi.util.updateLayoutParams import eu.kanade.tachiyomi.util.updatePadding import eu.kanade.tachiyomi.util.visible @@ -244,8 +246,25 @@ class WebViewActivity : BaseActivity() { when (item.itemId) { R.id.action_web_back -> webview.goBack() R.id.action_web_forward -> webview.goForward() - else -> return super.onOptionsItemSelected(item) + R.id.action_web_share -> shareWebpage() + R.id.action_web_browser -> openInBrowser() } - return true + return super.onOptionsItemSelected(item) + } + + private fun shareWebpage() { + try { + val intent = Intent(Intent.ACTION_SEND).apply { + type = "text/plain" + putExtra(Intent.EXTRA_TEXT, webview.url) + } + startActivity(Intent.createChooser(intent, getString(R.string.action_share))) + } catch (e: Exception) { + toast(e.message) + } + } + + private fun openInBrowser() { + openInBrowser(webview.url) } } diff --git a/app/src/main/res/menu/catalogue_list.xml b/app/src/main/res/menu/catalogue_list.xml index 80d8739fd7..1451609075 100644 --- a/app/src/main/res/menu/catalogue_list.xml +++ b/app/src/main/res/menu/catalogue_list.xml @@ -1,33 +1,29 @@ + xmlns:tools="http://schemas.android.com/tools" + tools:context=".CatalogueListActivity"> + android:title="@string/action_search" + app:actionViewClass="androidx.appcompat.widget.SearchView" + app:showAsAction="collapseActionView|ifRoom" /> + android:title="@string/action_set_filter" + app:showAsAction="ifRoom" /> - - + app:showAsAction="ifRoom" /> + app:showAsAction="never" /> diff --git a/app/src/main/res/menu/manga_info.xml b/app/src/main/res/menu/manga_info.xml index 2169752f6e..85dfcc2136 100644 --- a/app/src/main/res/menu/manga_info.xml +++ b/app/src/main/res/menu/manga_info.xml @@ -14,16 +14,14 @@ android:title="@string/action_share" app:showAsAction="ifRoom" /> - - - + app:showAsAction="never" /> - + app:showAsAction="never" /> diff --git a/app/src/main/res/menu/webview.xml b/app/src/main/res/menu/webview.xml index e6f248a4cc..8066877084 100644 --- a/app/src/main/res/menu/webview.xml +++ b/app/src/main/res/menu/webview.xml @@ -11,6 +11,16 @@ android:id="@+id/action_web_forward" android:icon="@drawable/ic_arrow_forward_white_24dp" android:title="@string/action_webview_forward" - app:showAsAction="ifRoom" - /> - \ No newline at end of file + app:showAsAction="ifRoom" /> + + + + + +