bishopmatthew / HackerNews

An open source Hacker News client for Android.
230 stars 61 forks source link

Force close when trying to save list state in StoryFragment #37

Open bishopmatthew opened 10 years ago

bishopmatthew commented 10 years ago

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)
pkillian commented 10 years ago

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.

pkillian commented 10 years ago

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.