opensrp / opensrp-client-path

Other
6 stars 6 forks source link

Fatal Exception: java.lang.NullPointerException toCopy == null caused by util.JsonFormUtils.getOpenMrsReadableName #140

Open ekigamba opened 6 years ago

ekigamba commented 6 years ago

References https://fabric.io/ona-systems/android/apps/org.smartregister.path/issues/59ccc4dbbe077a4dcc63d982?time=last-thirty-days

Fatal Exception: java.lang.NullPointerException: toCopy == null at java.lang.StringFactory.newStringFromString(StringFactory.java) at util.JsonFormUtils.getOpenMrsReadableName(JsonFormUtils.java:1039) at org.smartregister.path.view.LocationPickerView.init(LocationPickerView.java:91) at org.smartregister.path.fragment.BaseSmartRegisterFragment.setupViews(BaseSmartRegisterFragment.java:93) at org.smartregister.path.fragment.ChildSmartRegisterFragment.setupViews(ChildSmartRegisterFragment.java:200) at org.smartregister.path.fragment.ChildSmartRegisterFragment.onCreateView(ChildSmartRegisterFragment.java:193) at android.support.v4.app.Fragment.performCreateView(Fragment.java:1789) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:955) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:740) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1501) at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:490) at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141) at android.support.v4.view.ViewPager.populate(ViewPager.java:1105) at android.support.v4.view.ViewPager.populate(ViewPager.java:951) at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1473) at android.view.View.measure(View.java:21103) at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:868) at android.view.View.measure(View.java:21103) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at android.support.v7.internal.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:124) at android.view.View.measure(View.java:21103) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464) at android.widget.LinearLayout.measureVertical(LinearLayout.java:758) at android.widget.LinearLayout.onMeasure(LinearLayout.java:640) at android.view.View.measure(View.java:21103) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at android.view.View.measure(View.java:21103) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464) at android.widget.LinearLayout.measureVertical(LinearLayout.java:758) at android.widget.LinearLayout.onMeasure(LinearLayout.java:640) at android.view.View.measure(View.java:21103) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6462) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at com.android.internal.policy.DecorView.onMeasure(DecorView.java:873) at android.view.View.measure(View.java:21103) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2580) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1639) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1890) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1519) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7113) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:927) at android.view.Choreographer.doCallbacks(Choreographer.java:702) at android.view.Choreographer.doFrame(Choreographer.java:638) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:913) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6780) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)

ekigamba commented 6 years ago

Other issues:

https://fabric.io/ona-systems/android/apps/org.smartregister.path/issues/59dce892be077a4dcc0fb219?time=last-thirty-days

ekigamba commented 6 years ago

How to reproduce:

  1. Open the app & login using an account is not linked to the Zambian location hierachy eg. Ona team

The app should crash

cafootitt commented 6 years ago

@ekigamba what was the fix? I.e. I assume the app shouldn't crash and some message should appear instead about needing to be assigned to a location?

Can you send over Slack what login to use to test this?