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(