square / reader-sdk-android-quickstart

Reader SDK Quick Start Sample Android App
https://docs.connect.squareup.com/payments/readersdk/quickstart
Apache License 2.0
25 stars 13 forks source link

OnErrorNotImplementedException crash in 1.4.4 square library #32

Open MrEngineer13 opened 3 years ago

MrEngineer13 commented 3 years ago

I am using square library 1.4.4 targeting android 30 and this is a new crash, previously square payments worked. When I try to take a payment I get the following crash:

2021-04-08 16:28:54.012 11279-11279 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.beaconsoftco.dadrivermobile, PID: 11279 io.reactivex.exceptions.OnErrorNotImplementedException: The exception was not handled due to missing onError handler in the subscribe() method call. Further reading: https://github.com/ReactiveX/RxJava/wiki/Error-Handling | java.lang.NoSuchMethodError: No direct method (Lkotlin/coroutines/CoroutineContext;I)V in class Lkotlinx/coroutines/flow/internal/ChannelFlow; or its super classes (declaration of 'kotlinx.coroutines.flow.internal.ChannelFlow' appears in /data/app/~~Ctz1_E6HrZFZOAFDfJvjAA==/com.beaconsoftco.dadrivermobile-BF-cKAraaR_u-46ZHRlN-w==/base.apk!classes7.dex) at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:704) at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:701) at io.reactivex.internal.subscribers.LambdaSubscriber.onError(LambdaSubscriber.java:79) at kotlinx.coroutines.reactive.FlowSubscription.flowProcessing(ReactiveFlow.kt:187) at kotlinx.coroutines.reactive.FlowSubscription$createInitialContinuation$$inlined$Continuation$1$lambda$1.invoke(ReactiveFlow.kt:175) at kotlinx.coroutines.reactive.FlowSubscription$createInitialContinuation$$inlined$Continuation$1$lambda$1.invoke(ReactiveFlow.kt:166) at kotlin.coroutines.intrinsics.IntrinsicsKtIntrinsicsJvmKt$createCoroutineUnintercepted$$inlined$createCoroutineFromSuspendFunction$IntrinsicsKtIntrinsicsJvmKt$2.invokeSuspend(IntrinsicsJvm.kt:205) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:342) at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith$default(DispatchedContinuation.kt:263) at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:18) at kotlinx.coroutines.reactive.FlowSubscription$createInitialContinuation$$inlined$Continuation$1.resumeWith(Continuation.kt:159) at kotlinx.coroutines.reactive.FlowSubscription.request(ReactiveFlow.kt:230) at io.reactivex.internal.subscribers.LambdaSubscriber.request(LambdaSubscriber.java:114) at io.reactivex.internal.operators.flowable.FlowableInternalHelper$RequestMax.accept(FlowableInternalHelper.java:220) at io.reactivex.internal.operators.flowable.FlowableInternalHelper$RequestMax.accept(FlowableInternalHelper.java:216) at io.reactivex.internal.subscribers.LambdaSubscriber.onSubscribe(LambdaSubscriber.java:52) at kotlinx.coroutines.reactive.FlowAsPublisher.subscribe(ReactiveFlow.kt:160) at io.reactivex.internal.operators.flowable.FlowableFromPublisher.subscribeActual(FlowableFromPublisher.java:29) at io.reactivex.Flowable.subscribe(Flowable.java:14935) at io.reactivex.Flowable.subscribe(Flowable.java:14872) at io.reactivex.Flowable.subscribe(Flowable.java:14760) at com.squareup.cdx.payment.RealCardreaderPayments.initialize(RealCardreaderPayments.kt:77) at com.squareup.cardreaders.CardreadersInitializer.onEnterScope(CardreadersInitializer.kt:36) at shadow.mortar.MortarScope.register(MortarScope.java:199) at com.squareup.LoggedInScopeRunner.onEnterScope(LoggedInScopeRunner.java:224) at shadow.mortar.MortarScope.register(MortarScope.java:199) at com.squareup.RegisterAppDelegate.onAuthenticated(RegisterAppDelegate.java:520) at com.squareup.RegisterAppDelegate.lambda$onEnterScope$3$RegisterAppDelegate(RegisterAppDelegate.java:463) at com.squareup.-$$Lambda$RegisterAppDelegate$vHZZqP35d8MKCMJt3awe2FQpeno.accept(Unknown Source:4) at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63) at com.jakewharton.rxrelay2.BehaviorRelay$BehaviorDisposable.test(BehaviorRelay.java:364) at com.jakewharton.rxrelay2.BehaviorRelay$BehaviorDisposable.emitNext(BehaviorRelay.java:358) at com.jakewharton.rxrelay2.BehaviorRelay.accept(BehaviorRelay.java:135) 2021-04-08 16:28:54.013 11279-11279 E/AndroidRuntime: at com.squareup.account.FileBackedAuthenticator.onLoginResponse(FileBackedAuthenticator.kt:168) at com.squareup.account.FileBackedAuthenticator.loggedIn(FileBackedAuthenticator.kt:119) at com.squareup.sdk.reader.authorization.ReaderSdkAuthenticator$login$2$2.apply(ReaderSdkAuthenticator.kt:136) at com.squareup.sdk.reader.authorization.ReaderSdkAuthenticator$login$2$2.apply(ReaderSdkAuthenticator.kt:62) at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:57) at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:64) at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:64) at io.reactivex.internal.operators.single.SingleCreate$Emitter.onSuccess(SingleCreate.java:67) at kotlinx.coroutines.rx2.RxSingleCoroutine.onCompleted(RxSingle.kt:59) at kotlinx.coroutines.AbstractCoroutine.onCompletionInternal(AbstractCoroutine.kt:104) at kotlinx.coroutines.JobSupport.tryFinalizeSimpleState(JobSupport.kt:294) at kotlinx.coroutines.JobSupport.tryMakeCompleting(JobSupport.kt:853) at kotlinx.coroutines.JobSupport.makeCompletingOnce$kotlinx_coroutines_core(JobSupport.kt:825) at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:111) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:246) at android.app.ActivityThread.main(ActivityThread.java:8506) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)

StephenJosey commented 3 years ago

Per our documentation, we require that you target 29 or earlier. Does it work successfully if you target 29?

davenotdavid commented 2 years ago

@StephenJosey - I'm experiencing something similar here (starting with initializing the SDK, com.squareup.sdk.reader.ReaderSdk.initialize()), but are there any plans to support Android 11 soon? Especially since we're required to target SDK version 30 (Android 11) by this month in order to submit app updates to the Play Store: https://developer.android.com/distribute/best-practices/develop/target-sdk