From 47a449895dc16e21095f1188cf8d669f1981aabd Mon Sep 17 00:00:00 2001 From: NekoInverter <7741672-NekoInverter@users.noreply.gitlab.com> Date: Sat, 2 Jan 2021 20:38:35 +0800 Subject: [PATCH] Fix crash on meizu --- .../main/java/com/hippo/ehviewer/EhApplication.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/java/com/hippo/ehviewer/EhApplication.java b/app/src/main/java/com/hippo/ehviewer/EhApplication.java index 97a3841e3..5b102eb04 100644 --- a/app/src/main/java/com/hippo/ehviewer/EhApplication.java +++ b/app/src/main/java/com/hippo/ehviewer/EhApplication.java @@ -64,6 +64,7 @@ import com.hippo.yorozuya.OSUtils; import com.hippo.yorozuya.SimpleHandler; import java.io.File; +import java.io.IOException; import java.security.KeyStore; import java.util.ArrayList; import java.util.Arrays; @@ -151,6 +152,15 @@ public class EhApplication extends RecordingApplication { .cache(getOkHttpCache(application)) .hostnameVerifier((hostname, session) -> true) .dns(new EhDns(application)) + .addNetworkInterceptor(chain -> { + try { + return chain.proceed(chain.request()); + } catch (NullPointerException e) { + // crash on meizu devices due to old Android version + // https://github.com/square/okhttp/issues/3301#issuecomment-348415095 + throw new IOException(e.getMessage()); + } + }) .proxySelector(getEhProxySelector(application)); try { TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(