sumup / sumup-android-sdk

Sample App for the SumUp Android SDK
Other
100 stars 29 forks source link

NullPointerException in com.sumup.android.logging.Log.getFileName #162

Open piotr767 opened 3 years ago

piotr767 commented 3 years ago

com.sumup:merchant-sdk:3.3.2

Below code in com.sumup.android.logging.Log.getFileName sometimes causes NullPointerException because StackTraceElement.getFileName() returns null if that information is not available:

image

wchich in turn crashes the app.

Fatal Exception: java.lang.RuntimeException Error receiving broadcast Intent { act=android.bluetooth.device.action.BOND_STATE_CHANGED flg=0x10 (has extras) } in e1.m.e.a.d.n.k@9adc5e1 android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0 (LoadedApk.java:1401) android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run (-.java:2) android.os.Handler.handleCallback (Handler.java:873) android.os.Handler.dispatchMessage (Handler.java:99) android.os.Looper.loop (Looper.java:193) android.app.ActivityThread.main (ActivityThread.java:6746) java.lang.reflect.Method.invoke (Method.java) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493) com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858)

Caused by java.lang.NullPointerException Attempt to invoke virtual method 'boolean java.lang.String.contains(java.lang.CharSequence)' on a null object reference com.sumup.android.logging.Log.getFileName (Log.java:38) com.sumup.android.logging.Log.getLog (Log.java:230) com.sumup.android.logging.Log.generateWarnLog (Log.java:192) com.sumup.android.logging.Log.w (Log.java:168) com.sumup.reader.core.pinplus.transport.BtSmartTransport$4.onReceive (BtSmartTransport.java:344) android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0 (LoadedApk.java:1391) android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run (-.java:2) android.os.Handler.handleCallback (Handler.java:873) android.os.Handler.dispatchMessage (Handler.java:99) android.os.Looper.loop (Looper.java:193) android.app.ActivityThread.main (ActivityThread.java:6746) java.lang.reflect.Method.invoke (Method.java) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493) com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858)