bparmentier / OpenBikeSharing

Shared bikes availability in your city
https://openbikesharing.org
Other
67 stars 56 forks source link

Cannot compile after fork #21

Closed frazzmark closed 9 years ago

frazzmark commented 9 years ago

I forked the repository and tried to compile the app. After a few failed attempts because of the missing android-support, I was finally able to compile it, but when I ran it in the emulator it crashed. Seems like it's trying to resume an app on first run, which is obviously not possible. Here are the adb logs

06-05 06:27:29.366    2011-2011/be.brunoparmentier.openbikesharing.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: be.brunoparmentier.openbikesharing.app, PID: 2011
    java.lang.RuntimeException: Unable to resume activity {be.brunoparmentier.openbikesharing.app/be.brunoparmentier.openbikesharing.app.activities.StationsListActivity}: java.lang.NullPointerException
            at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2774)
            at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2803)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2238)
            at android.app.ActivityThread.access$800(ActivityThread.java:135)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5001)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
            at be.brunoparmentier.openbikesharing.app.activities.StationsListActivity.onResume(StationsListActivity.java:179)
            at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1192)
            at android.app.Activity.performResume(Activity.java:5310)
            at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2764)
            at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2803)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2238)
            at android.app.ActivityThread.access$800(ActivityThread.java:135)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5001)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
            at dalvik.system.NativeStart.main(Native Method)
bparmentier commented 9 years ago

Don't have the time to dig deeper now, but as a quick fix, try replacing the line 179 in app/activities/StationsListActivity.java from

if ((jsonDownloadTask.getStatus() == AsyncTask.Status.FINISHED)) {

to

if ((jsonDownloadTask != null && jsonDownloadTask.getStatus() == AsyncTask.Status.FINISHED)) {

I'll push a fix later in the day. Thanks for reporting it!

frazzmark commented 9 years ago

Welcome! However, I still cannot start the app, probably because the main activity (stations list) isn't shown until the welcome/setup activity ends. The error comes at inflating the menu.

public boolean onCreateOptionsMenu(Menu menu) {
        this.optionsMenu = menu;
        getMenuInflater().inflate(R.menu.stations_list, menu);

        if (jsonDownloadTask.getStatus() == AsyncTask.Status.PENDING
                || jsonDownloadTask.getStatus() == AsyncTask.Status.RUNNING) {
            setRefreshActionButtonState(true);

        }

So, here are the logs again:

06-05 11:38:30.953    1932-1932/be.brunoparmentier.openbikesharing.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: be.brunoparmentier.openbikesharing.app, PID: 1932
    java.lang.NullPointerException
            at be.brunoparmentier.openbikesharing.app.activities.StationsListActivity.onCreateOptionsMenu(StationsListActivity.java:219)
            at android.app.Activity.onCreatePanelMenu(Activity.java:2538)
            at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:277)
            at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:436)
            at com.android.internal.policy.impl.PhoneWindow.doInvalidatePanelMenu(PhoneWindow.java:800)
            at com.android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.java:221)
            at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
            at android.view.Choreographer.doCallbacks(Choreographer.java:574)
            at android.view.Choreographer.doFrame(Choreographer.java:543)
            at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5001)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
            at dalvik.system.NativeStart.main(Native Method)
bparmentier commented 9 years ago

The bug was introduced in https://github.com/bparmentier/OpenBikeSharing/commit/1d534b98adc2b58409a1480ec60bf4a0367e2869.

Feel free to reopen this issue if you still have problems.