Skip to content
This repository has been archived by the owner on Apr 23, 2023. It is now read-only.

Verify service is bound before attempting to disconnect #132

Closed
ecgreb opened this issue Oct 21, 2016 · 0 comments
Closed

Verify service is bound before attempting to disconnect #132

ecgreb opened this issue Oct 21, 2016 · 0 comments
Assignees
Labels

Comments

@ecgreb
Copy link
Collaborator

ecgreb commented Oct 21, 2016

Description

Calling LostApiClientImpl.disconnect() can result in fatal crash if service is not bound.

Steps to Reproduce

Attempt to disconnect client before fully connected.

Lost & Android Version

Lost 2.1.1
Android 6.0.1

10-21 17:26:00.092 24813-24813/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                   Process: com.mapzen.erasermap, PID: 24813
                                                   java.lang.RuntimeException: Unable to pause activity {com.mapzen.erasermap/com.mapzen.erasermap.controller.MainActivity}: java.lang.IllegalArgumentException: Service not registered: com.mapzen.android.lost.internal.FusedLocationProviderApiImpl$2@c390cb5
                                                       at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3381)
                                                       at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3340)
                                                       at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:3315)
                                                       at android.app.ActivityThread.access$1100(ActivityThread.java:150)
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1355)
                                                       at android.os.Handler.dispatchMessage(Handler.java:102)
                                                       at android.os.Looper.loop(Looper.java:148)
                                                       at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                    Caused by: java.lang.IllegalArgumentException: Service not registered: com.mapzen.android.lost.internal.FusedLocationProviderApiImpl$2@c390cb5
                                                       at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1044)
                                                       at android.app.ContextImpl.unbindService(ContextImpl.java:1337)
                                                       at android.content.ContextWrapper.unbindService(ContextWrapper.java:616)
                                                       at com.mapzen.android.lost.internal.FusedLocationProviderApiImpl$1.onDisconnect(FusedLocationProviderApiImpl.java:59)
                                                       at com.mapzen.android.lost.internal.FusedLocationServiceConnectionManager.disconnect(FusedLocationServiceConnectionManager.java:65)
                                                       at com.mapzen.android.lost.internal.FusedLocationProviderApiImpl.disconnect(FusedLocationProviderApiImpl.java:94)
                                                       at com.mapzen.android.lost.internal.LostApiClientImpl.disconnect(LostApiClientImpl.java:53)
                                                       at com.mapzen.erasermap.model.LostClientManager.disconnect(LostClientManager.kt:55)
                                                       at com.mapzen.erasermap.controller.MainActivity.onPause(MainActivity.kt:217)
                                                       at android.app.Activity.performPause(Activity.java:6403)
                                                       at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1312)
                                                       at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3367)
                                                       at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3340) 
                                                       at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:3315) 
                                                       at android.app.ActivityThread.access$1100(ActivityThread.java:150) 
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1355) 
                                                       at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                       at android.os.Looper.loop(Looper.java:148) 
                                                       at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                       at java.lang.reflect.Method.invoke(Native Method) 
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants