sumup / sumup-android-sdk

Sample App for the SumUp Android SDK
Other
105 stars 28 forks source link

Crash while searching for a terminal #100

Closed jeremymarabel closed 4 years ago

jeremymarabel commented 4 years ago

The "Looking for terminal" screen crash when scanning for terminals.

I think it only appear if the device found is already bound, because the sdk will successfully find it without crash if i reset the BT configuration on my sumup air terminal.

I tried with the sample app in this repo, my app and the official sumup store app. All of them crash the same way. (Tested on Android 9, with a Samsung S8 and a S10)

java.lang.StringIndexOutOfBoundsException: length=1; index=-2
    at java.lang.String.substring(String.java:1995)
    at com.sumup.merchant.util.ReaderUtils.getSerialSuffix(SourceFile:28)
    at com.sumup.merchant.ui.Fragments.PinPlusOverlayPageFragment.onCreateView(SourceFile:75)
    at android.support.v4.app.Fragment.performCreateView(Fragment.java:2439)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460)
    at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
    at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:802)
    at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625)
    at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411)
    at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)
    at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:2243)
    at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:654)
    at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:168)
    at android.support.v4.view.ViewPager.populate(ViewPager.java:1244)
    at android.support.v4.view.ViewPager.populate(ViewPager.java:1092)
    at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1622)
    at android.view.View.measure(View.java:24966)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7139)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
    at android.view.View.measure(View.java:24966)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7139)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1535)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:825)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:704)
    at android.view.View.measure(View.java:24966)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7139)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1535)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:825)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:704)
    at android.view.View.measure(View.java:24966)
    at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
    at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
    at android.view.View.measure(View.java:24966)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7139)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1535)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:825)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:704)
    at android.view.View.measure(View.java:24966)
    at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
    at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
    at android.view.View.measure(View.java:24966)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7139)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
    at android.view.View.measure(View.java:24966)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7139)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
    at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143)
    at android.view.View.measure(View.java:24966)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7139)
    at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:401)
    at android.view.View.measure(View.java:24966)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7139)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
    at android.view.View.measure(View.java:24966)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7139)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1535)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:825)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:704)
    at android.view.View.measure(View.java:24966)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7139)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
    at com.android.internal.policy.DecorView.onMeasure(DecorView.java:992)
    at android.view.View.measure(View.java:24966)
    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:3301)
    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:2028)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2330)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1888)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8511)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
    at android.view.Choreographer.doCallbacks(Choreographer.java:761)
    at android.view.Choreographer.doFrame(Choreographer.java:696)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
    at android.os.Handler.handleCallback(Handler.java:873)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:214)
    at android.app.ActivityThread.main(ActivityThread.java:7050)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)

If you need any additional information feel free to ask.

JullianSU commented 4 years ago

Hi Jeremy,

Thank you for taking the time to contact us, could you please share with me the Merchant ID of your SumUp account you are processing with? Please send that via email at integration@sumup.com

Many thanks,