From b28c0bb7dbd5bde5c1f70471a5170b3591f424b6 Mon Sep 17 00:00:00 2001 From: Martin Konicek Date: Wed, 26 Oct 2016 10:01:47 -0700 Subject: [PATCH] Followup: Apply the User-Agent header correctly to Android WebView Summary: Followup for #5822, addressing nits. **Test Plan** Travis CI (the author of #5822 tested the change). Closes https://github.com/facebook/react-native/pull/10563 Differential Revision: D4081826 fbshipit-source-id: f3a2e1996bf02f81fecea6e53fe1c522b8c85689 --- .../react/views/webview/ReactWebViewManager.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java index 5584d2d5d..20951b621 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/webview/ReactWebViewManager.java @@ -13,6 +13,7 @@ import javax.annotation.Nullable; import java.io.UnsupportedEncodingException; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import android.content.Intent; @@ -428,7 +429,13 @@ public class ReactWebViewManager extends SimpleViewManager { ReadableMapKeySetIterator iter = headers.keySetIterator(); while (iter.hasNextKey()) { String key = iter.nextKey(); - headerMap.put(key, headers.getString(key)); + if ("user-agent".equals(key.toLowerCase(Locale.ENGLISH))) { + if (view.getSettings() != null) { + view.getSettings().setUserAgentString(headers.getString(key)); + } + } else { + headerMap.put(key, headers.getString(key)); + } } } view.loadUrl(url, headerMap);