From 1159070fb5b0c262ac699b311271069abfb254d2 Mon Sep 17 00:00:00 2001 From: Craig Russell Date: Mon, 5 Feb 2018 12:42:16 +0000 Subject: [PATCH 1/4] Show scrollbars on webview. Also, moved webview config back to XML. --- .../duckduckgo/app/browser/BrowserActivity.kt | 14 +------- .../include_duckduckgo_browser_webview.xml | 33 +++++++++++++++++++ app/src/main/res/values/colors.xml | 2 ++ 3 files changed, 36 insertions(+), 13 deletions(-) create mode 100644 app/src/main/res/layout/include_duckduckgo_browser_webview.xml diff --git a/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt b/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt index a3160d503f28..e20baa71e3df 100644 --- a/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt +++ b/app/src/main/java/com/duckduckgo/app/browser/BrowserActivity.kt @@ -24,7 +24,6 @@ import android.arch.lifecycle.ViewModelProviders import android.content.Context import android.content.Intent import android.net.Uri -import android.os.Build import android.os.Bundle import android.support.v7.widget.LinearLayoutManager import android.text.Editable @@ -91,7 +90,6 @@ class BrowserActivity : DuckDuckGoActivity(), BookmarkDialogCreationListener { setContentView(R.layout.activity_browser) - createWebView() createPopupMenu() configureObservers() configureToolbar() @@ -109,17 +107,6 @@ class BrowserActivity : DuckDuckGoActivity(), BookmarkDialogCreationListener { popupMenu = BrowserPopupMenu(layoutInflater) } - private fun createWebView() { - webView = NestedWebView(this) - webView.gone() - webView.isFocusableInTouchMode = true - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - webView.focusable = View.FOCUSABLE - } - - webViewContainer.addView(webView) - } - private fun configureObservers() { viewModel.viewState.observe(this, Observer { it?.let { render(it) } @@ -301,6 +288,7 @@ class BrowserActivity : DuckDuckGoActivity(), BookmarkDialogCreationListener { @SuppressLint("SetJavaScriptEnabled") private fun configureWebView() { + webView = layoutInflater.inflate(R.layout.include_duckduckgo_browser_webview, webViewContainer, true).findViewById(R.id.browserWebView) as WebView webView.webViewClient = webViewClient webView.webChromeClient = webChromeClient diff --git a/app/src/main/res/layout/include_duckduckgo_browser_webview.xml b/app/src/main/res/layout/include_duckduckgo_browser_webview.xml new file mode 100644 index 000000000000..08dbe9d9ba07 --- /dev/null +++ b/app/src/main/res/layout/include_duckduckgo_browser_webview.xml @@ -0,0 +1,33 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 777c6e5c9ff5..31e3e1642896 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -33,4 +33,6 @@ #e4e4e4 + #33333333 + From 32a1d854a551ba37af3a5d336b1d70d15d611694 Mon Sep 17 00:00:00 2001 From: Craig Russell Date: Wed, 7 Feb 2018 10:44:57 +0000 Subject: [PATCH 2/4] Restore layout to use `NestedWebView` --- .../main/res/layout/include_duckduckgo_browser_webview.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/layout/include_duckduckgo_browser_webview.xml b/app/src/main/res/layout/include_duckduckgo_browser_webview.xml index 08dbe9d9ba07..17aabab0f9cf 100644 --- a/app/src/main/res/layout/include_duckduckgo_browser_webview.xml +++ b/app/src/main/res/layout/include_duckduckgo_browser_webview.xml @@ -14,7 +14,7 @@ ~ limitations under the License. --> - - \ No newline at end of file + \ No newline at end of file From 6f37f6ac986f28a4aec221b44e9f084efd3366a9 Mon Sep 17 00:00:00 2001 From: Craig Russell Date: Wed, 7 Feb 2018 12:31:17 +0000 Subject: [PATCH 3/4] Use correct WebView constructors --- .../main/java/com/duckduckgo/app/browser/NestedWebView.kt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/duckduckgo/app/browser/NestedWebView.kt b/app/src/main/java/com/duckduckgo/app/browser/NestedWebView.kt index 5d3173270302..57ab51aa1179 100644 --- a/app/src/main/java/com/duckduckgo/app/browser/NestedWebView.kt +++ b/app/src/main/java/com/duckduckgo/app/browser/NestedWebView.kt @@ -31,7 +31,6 @@ import android.webkit.WebView * Based on https://github.com/takahirom/webview-in-coordinatorlayout */ class NestedWebView : WebView, NestedScrollingChild { - private var lastY: Int = 0 private val scrollOffset = IntArray(2) private val scrollConsumed = IntArray(2) @@ -39,9 +38,8 @@ class NestedWebView : WebView, NestedScrollingChild { private var nestedScrollHelper: NestedScrollingChildHelper = NestedScrollingChildHelper(this) constructor(context: Context) : this(context, null) - constructor(context: Context, attrs: AttributeSet?) : this(context, attrs, 0) - constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) { - nestedScrollHelper = NestedScrollingChildHelper(this) + constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) + { isNestedScrollingEnabled = true } From 94766b4e8f90fb398f041360a5b67af661e65f67 Mon Sep 17 00:00:00 2001 From: Craig Russell Date: Wed, 7 Feb 2018 12:37:27 +0000 Subject: [PATCH 4/4] Change to a grey colour for scrollbar thumb and tweak toolbar style --- .../res/layout/include_duckduckgo_browser_webview.xml | 9 +++++---- app/src/main/res/values/colors.xml | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/layout/include_duckduckgo_browser_webview.xml b/app/src/main/res/layout/include_duckduckgo_browser_webview.xml index 17aabab0f9cf..f6041a4c73d6 100644 --- a/app/src/main/res/layout/include_duckduckgo_browser_webview.xml +++ b/app/src/main/res/layout/include_duckduckgo_browser_webview.xml @@ -22,11 +22,12 @@ android:fadeScrollbars="true" android:focusable="true" android:focusableInTouchMode="true" - android:scrollbarSize="3dp" - android:scrollbarThumbVertical="@color/colorAccent" - android:scrollbarTrackVertical="@color/webViewScrollbarTrackColor" - android:scrollbarThumbHorizontal="@color/colorAccent" + android:scrollbarSize="4dp" + android:scrollbarStyle="outsideInset" + android:scrollbarThumbHorizontal="@color/webViewScrollbarThumbColor" + android:scrollbarThumbVertical="@color/webViewScrollbarThumbColor" android:scrollbarTrackHorizontal="@color/webViewScrollbarTrackColor" + android:scrollbarTrackVertical="@color/webViewScrollbarTrackColor" android:visibility="gone" tools:visibility="visible"> diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 31e3e1642896..dceab7c037c8 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -33,6 +33,7 @@ #e4e4e4 - #33333333 + #FF333333 + #FFABABAB