the-blue-alliance / the-blue-alliance-android

An Android app for accessing information about the FIRST Robotics Competition.
MIT License
76 stars 34 forks source link

Migrate mytba update to WorkManager #959

Closed phil-lopreiato closed 2 years ago

phil-lopreiato commented 2 years ago

Fix crashes like

Fatal Exception: java.lang.IllegalStateException: Not allowed to start service Intent { cmp=com.thebluealliance.androidclient/.mytba.MyTbaUpdateService (has extras) }: app is in background uid UidRecord{b65981a u0a484 RCVR bg:+1m35s266ms idle change:uncached procs:1 seq(842,842,842)}
       at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1736)
       at android.app.ContextImpl.startService(ContextImpl.java:1691)
       at android.content.ContextWrapper.startService(ContextWrapper.java:720)
       at com.thebluealliance.androidclient.gcm.GCMMessageHandler.handleMessage(GCMMessageHandler.java:136)
       at com.thebluealliance.androidclient.gcm.GCMMessageHandler.onMessageReceived(GCMMessageHandler.java:116)
       at com.google.firebase.messaging.FirebaseMessagingService.dispatchMessage(com.google.firebase:firebase-messaging@@23.0.0:12)
       at com.google.firebase.messaging.FirebaseMessagingService.passMessageIntentToSdk(com.google.firebase:firebase-messaging@@23.0.0:8)
       at com.google.firebase.messaging.FirebaseMessagingService.handleMessageIntent(com.google.firebase:firebase-messaging@@23.0.0:3)
       at com.google.firebase.messaging.FirebaseMessagingService.handleIntent(com.google.firebase:firebase-messaging@@23.0.0:3)
       at com.google.firebase.messaging.EnhancedIntentService.lambda$processIntent$0$com-google-firebase-messaging-EnhancedIntentService(com.google.firebase:firebase-messaging@@23.0.0:1)
       at com.google.firebase.messaging.EnhancedIntentService$$ExternalSyntheticLambda1.run(com.google.firebase:firebase-messaging@@23.0.0:6)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.0.0:2)
       at java.lang.Thread.run(Thread.java:923)