quran / quran_android

a quran reading application for android
http://android.quran.com
GNU General Public License v3.0
2.01k stars 889 forks source link

Kotlin NPE on `AudioUpdateService.getUpdates` #1647

Open wiryadev opened 3 years ago

wiryadev commented 3 years ago

When i launch the app, Kotlin NPE happens with this log. The app doesnt crash and still working correctly. Just want to let it be known that this Exception exist. I dont know if it is already known issue, if so i will close this issue.

E/WM-WorkerWrapper: Work [ id=ce103564-8005-41db-bfe1-dc35bf8daefc, tags={ com.quran.labs.androidquran.worker.AudioUpdateWorker } ] failed because it threw an exception/error
    java.util.concurrent.ExecutionException: kotlin.KotlinNullPointerException: Response from com.quran.labs.androidquran.feature.audio.api.AudioUpdateService.getUpdates was null but response body type was declared as non-null
        at androidx.work.impl.utils.futures.AbstractFuture.getDoneValue(AbstractFuture.java:516)
        at androidx.work.impl.utils.futures.AbstractFuture.get(AbstractFuture.java:475)
        at androidx.work.impl.WorkerWrapper$2.run(WorkerWrapper.java:300)
        at androidx.work.impl.utils.SerialExecutor$Task.run(SerialExecutor.java:91)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:919)
     Caused by: kotlin.KotlinNullPointerException: Response from com.quran.labs.androidquran.feature.audio.api.AudioUpdateService.getUpdates was null but response body type was declared as non-null
        at retrofit2.KotlinExtensions$await$2$2.onResponse(KotlinExtensions.kt:43)
        at retrofit2.OkHttpCall$1.onResponse(OkHttpCall.java:161)
        at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:919) 
I/WM-WorkerWrapper: Worker result FAILURE for Work [ id=ce103564-8005-41db-bfe1-dc35bf8daefc, tags={ com.quran.labs.androidquran.worker.AudioUpdateWorker } ]

*it happens when launch the app without having to do anything after its launched

ahmedre commented 3 years ago

jazakumAllah khairan, should definitely investigate this.