cyclestreets / android

The Android app brings CycleStreets routing and turn-by-turn live navigation to your phone.
https://www.cyclestreets.net/mobile/android/
GNU General Public License v3.0
213 stars 217 forks source link

LiveRide crashing following recent update #560

Closed mvl22 closed 1 month ago

mvl22 commented 1 month ago

Several reports of crashes, e.g. these reports:

I love the app and always come back to it so just wanted to let you know that as soon as I choose live ride it just closes. Not sure of the version because the About option also crashes. Have tried clear cache, but not clear data.

Everything seems to be working fine in the app, but whenever I click the arrow in the top RH corner to receive a live commentary on my route, the app is shutting down. This has been the case for the past two days, before then it was working fine. I have tried uninstalling and reinstalling the app, but sadly I am still having the same problem.

The app is suddenly riven with bugs. Crashes regularly. Crashes when attempting to start a journey. Crashes when about is selected as well.

I assume the version update means we also are missing some new permission.

HilaryN commented 1 month ago

Do you know what version of Android the crashes are on?

jrmhaig commented 1 month ago

I am also seeing this. I have Android 14 on a Moto G53 5G. The version recorded in the Play Store (because the 'About' page in the app crashes, as mentioned) is 3.13.1.

jezhiggins commented 1 month ago

These are the stack traces recorded in the Play Console. The first one is from the live ride service and, at first look, does appear to be another permissions thing. They really don't make the changes from one API version to the next obvious. Christ, the time we've all wasted on this nonsense. The second one, I'm not sure but is, presumably, launching the about screen.

Exception java.lang.SecurityException:
  at android.os.Parcel.createExceptionOrNull (Parcel.java:3069)
  at android.os.Parcel.createException (Parcel.java:3053)
  at android.os.Parcel.readException (Parcel.java:3036)
  at android.os.Parcel.readException (Parcel.java:2978)
  at android.app.IActivityManager$Stub$Proxy.setServiceForeground (IActivityManager.java:7234)
  at android.app.Service.startForeground (Service.java:775)
  at net.cyclestreets.liveride.LiveRideState.notifyAndSetServiceForeground (LiveRideState.kt:81)
  at net.cyclestreets.liveride.LiveRideStart.setServiceForeground (LiveRideStart.kt:13)
  at net.cyclestreets.liveride.LiveRideService.startRiding (LiveRideService.kt:66)
  at net.cyclestreets.liveride.LiveRideService$Binding.startRiding (LiveRideService.kt:83)
  at net.cyclestreets.LiveRideActivity.onServiceConnected (LiveRideActivity.kt:36)
  at android.app.LoadedApk$ServiceDispatcher.doConnected (LoadedApk.java:2348)
  at android.app.LoadedApk$ServiceDispatcher$RunConnection.run (LoadedApk.java:2385)
  at android.os.Handler.handleCallback (Handler.java:958)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:230)
  at android.os.Looper.loop (Looper.java:319)
  at android.app.ActivityThread.main (ActivityThread.java:8919)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:578)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1103)
Exception android.content.ActivityNotFoundException:
  at android.app.Instrumentation.checkStartActivityResult (Instrumentation.java:2430)
  at android.app.Instrumentation.execStartActivity (Instrumentation.java:2005)
  at android.app.Activity.startActivityForResult (Activity.java:5840)
  at androidx.activity.ComponentActivity.startActivityForResult (ComponentActivity.java:780)
  at android.app.Activity.startActivityForResult (Activity.java:5798)
  at androidx.activity.ComponentActivity.startActivityForResult (ComponentActivity.java:761)
  at android.app.Activity.startActivity (Activity.java:6295)
  at android.app.Activity.startActivity (Activity.java:6262)
  at androidx.preference.Preference.performClick (Preference.java:1215)
  at androidx.preference.Preference.performClick (Preference.java:1182)
  at androidx.preference.Preference$1.onClick (Preference.java:182)
  at android.view.View.performClick (View.java:7931)
  at android.view.View.performClickInternal (View.java:7908)
  at android.view.View.-$$Nest$mperformClickInternal
  at android.view.View$PerformClick.run (View.java:30990)
  at android.os.Handler.handleCallback (Handler.java:959)
  at android.os.Handler.dispatchMessage (Handler.java:100)
  at android.os.Looper.loopOnce (Looper.java:232)
  at android.os.Looper.loop (Looper.java:317)
  at android.app.ActivityThread.main (ActivityThread.java:8592)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:580)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:878)
jezhiggins commented 1 month ago

Yep, second one is the about screen. Just pushed a fix on the associated branch.

jezhiggins commented 1 month ago

Yep, we now need the FOREGROUND_SERVICE_LOCATION permission

jezhiggins commented 1 month ago

Pushing the change out on the beta channel, with the aim of bumping it through to live asap

@jrmhaig I'll make a note here as the build goes through. If you're able to confirm once it hits your phone, that'd be fantastic.

jezhiggins commented 1 month ago

Ungh https://app.travis-ci.com/github/cyclestreets/android/builds/271941656

jezhiggins commented 1 month ago

https://github.com/cyclestreets/android/pull/562 - PR to draft rather than publish release

jezhiggins commented 1 month ago

Had to have another go with the stupid publishing. If that doesn't work, I must have the license keys somewhere in my email.

jezhiggins commented 1 month ago

The upload to Play Console has worked. I now need to record a video to enable the required permission

image

jrmhaig commented 1 month ago

@jrmhaig I'll make a note here as the build goes through. If you're able to confirm once it hits your phone, that'd be fantastic.

Thanks. I am on the beta testing programme so I should see it. It hasn't appeared yet but I'll keep checking.

jrmhaig commented 1 month ago

@jrmhaig I'll make a note here as the build goes through. If you're able to confirm once it hits your phone, that'd be fantastic.

Thanks. I am on the beta testing programme so I should see it. It hasn't appeared yet but I'll keep checking.

I eventually got the update and it works now. Thanks.

jezhiggins commented 1 month ago

Excellent!Sorry it took a while. There was a whole load of extra administrative faff involved with permission change, but hopefully we won't have to go through it again.

jezhiggins commented 1 month ago

Release 3.13.2 is now live for everyone. What a palaver.

mvl22 commented 1 month ago

Thanks, and thanks in particularly for dealing with the periodic new administrative hoops. I'll work through the various feedbacks from people reporting this and confirm it's available to update.