HackerNews
HackerNews copied to clipboard
Force close when trying to save list state in StoryFragment
I seem to have introduced this when I added saving the list position to SharedPreferences. By the way, we have to save the list position to SharedPreferences (instead of a to a bundle) because StoryFragment is actually finished when we switch to the comments page. In the next version we should switch it so that (almost) everything is a fragment and thus we won't have the same issues with a circular back stack.
Stack trace:
FATAL EXCEPTION
java.lang.RuntimeException: Unable to pause activity {com.airlocksoftware.hackernews/com.airlocksoftware.hackernews.activity.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2916)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2872)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3559)
at android.app.ActivityThread.access$800(ActivityThread.java:140)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4947)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
at dalvik.system.NativeStart.main(NativeStart.java)
Caused by: java.lang.NullPointerException
at com.airlocksoftware.hackernews.fragment.StoryFragment.onPause(StoryFragment.java:161)
at android.support.v4.app.Fragment.performPause(Fragment.java:1661)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:973)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1086)
at android.support.v4.app.FragmentManagerImpl.dispatchPause(FragmentManager.java:1898)
at android.support.v4.app.FragmentActivity.onPause(FragmentActivity.java:412)
at android.app.Activity.performPause(Activity.java:5305)
at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1240)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2903)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2872)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3559)
at android.app.ActivityThread.access$800(ActivityThread.java:140)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4947)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
at dalvik.system.NativeStart.main(NativeStart.java)
Should release V2 and mark issue as closed on Crashlytics and verify it no longer pops up in any later versions of the app after this commit.
Seems like version 2.1.3 is free of this bug; I'll keep an eye on Crashlytics for another day or two to make sure before closing this for good.