plaid-link-android icon indicating copy to clipboard operation
plaid-link-android copied to clipboard

Strict Mode violation during Link creation

Open JvmName opened this issue 3 years ago • 1 comments

The problem

I have StrictMode enabled, and I noticed this in my logs:

2021-04-29 13:33:06.127 D/StrictMode: StrictMode policy violation; ~duration=93 ms: android.os.strictmode.NetworkViolation
        at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1610)
        at java.net.SocketInputStream.read(SocketInputStream.java:175)
        at java.net.SocketInputStream.read(SocketInputStream.java:144)
        at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:936)
        at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:900)
        at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readUntilDataAvailable(ConscryptEngineSocket.java:815)
        at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:788)
        at okio.InputStreamSource.read(JvmOkio.kt:93)
        at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:125)
        at okio.RealBufferedSource.indexOf(RealBufferedSource.kt:427)
        at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.kt:320)
        at okhttp3.internal.http1.HeadersReader.readLine(HeadersReader.kt:29)
        at okhttp3.internal.http1.Http1ExchangeCodec.readResponseHeaders(Http1ExchangeCodec.kt:180)
        at okhttp3.internal.connection.Exchange.readResponseHeaders(Exchange.kt:110)
        at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.kt:93)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
        at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:34)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
        at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
        at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
        at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
        at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
        at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154)
        at retrofit2.OkHttpCall.execute(OkHttpCall.java:204)
        at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:46)
        at io.reactivex.Observable.subscribe(Observable.java:12267)
        at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:35)
        at io.reactivex.Observable.subscribe(Observable.java:12267)
        at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable.subscribeActual(ObservableIgnoreElementsCompletable.java:31)
        at io.reactivex.Completable.subscribe(Completable.java:2309)
        at io.reactivex.internal.operators.completable.CompletableObserveOn.subscribeActual(CompletableObserveOn.java:34)
        at io.reactivex.Completable.subscribe(Completable.java:2309)
        at io.reactivex.Completable.subscribe(Completable.java:2383)
        at com.plaid.link.Plaid$setPlogLevel$1.invoke(SourceFile:136)
        at com.plaid.link.Plaid$setPlogLevel$1.invoke(SourceFile:1)
        at com.plaid.internal.p$a.a(SourceFile:639)
        at com.plaid.internal.p$a.a(SourceFile:622)
        at com.plaid.internal.p$a.a(SourceFile:624)
        at com.plaid.internal.a.a(SourceFile:17)
        at com.plaid.link.event.LinkEvent$Companion.fromMap$link_sdk_base_release(SourceFile:11)
        at com.plaid.internal.ax0.a(SourceFile:122)
        at com.plaid.internal.vq0.a(SourceFile:1)
        at com.plaid.internal.jx0.shouldOverrideUrlLoading(SourceFile:2)
        at org.chromium.android_webview.AwContentsClientBridge.shouldOverrideUrlLoading(chromium-TrichromeWebViewGoogle.apk-stable-410410686:16)
        at android.os.MessageQueue.nativePollOnce(Native Method)
        at android.os.MessageQueue.next(MessageQueue.java:335)
        at android.os.Looper.loop(Looper.java:183)
        at android.app.ActivityThread.main(ActivityThread.java:7656)
        at java.lang.reflect.Method.invoke(Native Method)

Environment

  • com.plaid.link:sdk-core:3.2.6
  • AS + AGP 4.2 beta RC 1

Steps to Reproduce

I notice this as I start the flow; for what it's worth I'm using the experimental Activity Result APIs.

JvmName avatar Apr 29 '21 17:04 JvmName

@JvmName Thanks for the report. We'll take a look into it.

zsweigart avatar May 03 '21 13:05 zsweigart