From eb7e608d0b48233088c9b269380923f9fdd8a76b Mon Sep 17 00:00:00 2001 From: Mygod Date: Fri, 30 Dec 2016 22:22:06 +0800 Subject: [PATCH] Use custom tabs in AboutFragment --- src/main/scala/com/github/shadowsocks/AboutFragment.scala | 4 +--- src/main/scala/com/github/shadowsocks/MainActivity.scala | 5 ++++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/scala/com/github/shadowsocks/AboutFragment.scala b/src/main/scala/com/github/shadowsocks/AboutFragment.scala index b6353865..8d8e7a2b 100644 --- a/src/main/scala/com/github/shadowsocks/AboutFragment.scala +++ b/src/main/scala/com/github/shadowsocks/AboutFragment.scala @@ -38,9 +38,7 @@ class AboutFragment extends ToolbarFragment { web.loadUrl("file:///android_asset/pages/about.html") web.setWebViewClient(new WebViewClient() { override def shouldOverrideUrlLoading(view: WebView, url: String): Boolean = { - try startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))) catch { - case _: android.content.ActivityNotFoundException => // Ignore - } + getActivity.asInstanceOf[MainActivity].launchUrl(url) true } }) diff --git a/src/main/scala/com/github/shadowsocks/MainActivity.scala b/src/main/scala/com/github/shadowsocks/MainActivity.scala index a6c6945b..723862a1 100644 --- a/src/main/scala/com/github/shadowsocks/MainActivity.scala +++ b/src/main/scala/com/github/shadowsocks/MainActivity.scala @@ -89,6 +89,9 @@ class MainActivity extends Activity with ServiceBoundContext with Drawer.OnDrawe private lazy val customTabsIntent = new CustomTabsIntent.Builder() .setToolbarColor(ContextCompat.getColor(this, R.color.material_primary_500)) .build() + def launchUrl(url: String): Unit = try customTabsIntent.launchUrl(this, Uri.parse(url)) catch { + case _: ActivityNotFoundException => // Ignore + } // Services var state: Int = _ @@ -374,7 +377,7 @@ class MainActivity extends Activity with ServiceBoundContext with Drawer.OnDrawe case DRAWER_ABOUT => app.track(TAG, "about") displayFragment(aboutFragment) - case DRAWER_FAQ => customTabsIntent.launchUrl(this, Uri.parse(getString(R.string.faq_url))) + case DRAWER_FAQ => launchUrl(getString(R.string.faq_url)) } true // unexpected cases will throw exception }