From f5438b049e1418c867d71ef6facc2f60e5c402c1 Mon Sep 17 00:00:00 2001 From: Siddhant Soni Date: Mon, 26 Aug 2019 15:20:05 +0530 Subject: [PATCH 1/6] Added check for webview in error message to avoid crash --- .../facebook/react/modules/network/ForwardingCookieHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java index e4d801a789b557..337c03e04dd87f 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java @@ -185,7 +185,7 @@ protected void doInBackgroundGuarded(Void... params) { // class. This validates the exception's message to ensure we are only handling this // specific exception. // https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/webkit/WebViewFactory.java#98 - if (message != null && message.contains("No WebView installed")) { + if (message != null && (message.contains("com.google.android.webview") || message.contains("No WebView installed"))) { return null; } else { throw exception; From ec37c1b96b771bff2ff296821757c6f27e61475e Mon Sep 17 00:00:00 2001 From: Siddhant Soni Date: Tue, 27 Aug 2019 21:10:21 +0530 Subject: [PATCH 2/6] Added check to catch all kinds of MissingWebViewPackageException errors --- .../facebook/react/modules/network/ForwardingCookieHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java index 337c03e04dd87f..ce625d09c33323 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java @@ -185,7 +185,7 @@ protected void doInBackgroundGuarded(Void... params) { // class. This validates the exception's message to ensure we are only handling this // specific exception. // https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/webkit/WebViewFactory.java#98 - if (message != null && (message.contains("com.google.android.webview") || message.contains("No WebView installed"))) { + if (message != null && (message.toLowerCase().contains("webview") || message.contains("Failed to find donor package:"))) { return null; } else { throw exception; From 35a2ce00b7662ddb3f194326eb3ae97a35ca8af0 Mon Sep 17 00:00:00 2001 From: Siddhant Soni Date: Tue, 27 Aug 2019 21:13:59 +0530 Subject: [PATCH 3/6] Updated source file link --- .../facebook/react/modules/network/ForwardingCookieHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java index ce625d09c33323..624af7606878c5 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java @@ -184,7 +184,7 @@ protected void doInBackgroundGuarded(Void... params) { // We cannot catch MissingWebViewPackageException as it is in a private / system API // class. This validates the exception's message to ensure we are only handling this // specific exception. - // https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/webkit/WebViewFactory.java#98 + // https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/webkit/WebViewFactory.java#348 if (message != null && (message.toLowerCase().contains("webview") || message.contains("Failed to find donor package:"))) { return null; } else { From 4bef96baab85fa58b727548a38978e1931ff57c3 Mon Sep 17 00:00:00 2001 From: Siddhant Soni Date: Sun, 8 Sep 2019 18:15:32 +0530 Subject: [PATCH 4/6] Checking for canonical class name instead of error message. --- .../facebook/react/modules/network/ForwardingCookieHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java index 624af7606878c5..09417a2ff75234 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java @@ -185,7 +185,7 @@ protected void doInBackgroundGuarded(Void... params) { // class. This validates the exception's message to ensure we are only handling this // specific exception. // https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/webkit/WebViewFactory.java#348 - if (message != null && (message.toLowerCase().contains("webview") || message.contains("Failed to find donor package:"))) { + if (message != null && (exception.getClass().getCanonicalName().equals("android.webkit.WebViewFactory.MissingWebViewPackageException")) { return null; } else { throw exception; From 63102cc24d5fd83c07aedc47e8c26d2d1e1323ae Mon Sep 17 00:00:00 2001 From: Siddhant Soni Date: Wed, 11 Sep 2019 14:37:25 +0530 Subject: [PATCH 5/6] Fixed syntax error --- .../facebook/react/modules/network/ForwardingCookieHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java index 09417a2ff75234..9b3552ab15273e 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java @@ -185,7 +185,7 @@ protected void doInBackgroundGuarded(Void... params) { // class. This validates the exception's message to ensure we are only handling this // specific exception. // https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/webkit/WebViewFactory.java#348 - if (message != null && (exception.getClass().getCanonicalName().equals("android.webkit.WebViewFactory.MissingWebViewPackageException")) { + if (message != null && (exception.getClass().getCanonicalName().equals("android.webkit.WebViewFactory.MissingWebViewPackageException"))) { return null; } else { throw exception; From 77b2f4fe5e46c21c1475216f107e3cd467f557d8 Mon Sep 17 00:00:00 2001 From: Siddhant Soni Date: Wed, 11 Sep 2019 14:39:17 +0530 Subject: [PATCH 6/6] Fixed syntax error --- .../facebook/react/modules/network/ForwardingCookieHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java index 9b3552ab15273e..a908e32ab68070 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java @@ -185,7 +185,7 @@ protected void doInBackgroundGuarded(Void... params) { // class. This validates the exception's message to ensure we are only handling this // specific exception. // https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/webkit/WebViewFactory.java#348 - if (message != null && (exception.getClass().getCanonicalName().equals("android.webkit.WebViewFactory.MissingWebViewPackageException"))) { + if (message != null && exception.getClass().getCanonicalName().equals("android.webkit.WebViewFactory.MissingWebViewPackageException")) { return null; } else { throw exception;