Qabel / qabel-android

(B2C) :iphone: Android frontend of Qabel
Other
10 stars 17 forks source link

Fix leaking intent receivers in BaseServers #799

Open JoGir opened 7 years ago

JoGir commented 7 years ago

example stack produced by new boxservice


1-04 04:07:12.861 21916-21916/de.qabel.qabel.debug E/ActivityThread: Service de.qabel.qabelbox.box.AndroidBoxService has leaked IntentReceiver de.qabel.qabelbox.communication.connection.ConnectivityManager$broadcastReceiver$1@a141f43 that was originally registered here. Are you missing a call to unregisterReceiver()?
                                                                      android.app.IntentReceiverLeaked: Service de.qabel.qabelbox.box.AndroidBoxService has leaked IntentReceiver de.qabel.qabelbox.communication.connection.ConnectivityManager$broadcastReceiver$1@a141f43 that was originally registered here. Are you missing a call to unregisterReceiver()?
                                                                          at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:962)
                                                                          at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:763)
                                                                          at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1179)
                                                                          at android.app.ContextImpl.registerReceiver(ContextImpl.java:1159)
                                                                          at android.app.ContextImpl.registerReceiver(ContextImpl.java:1153)
                                                                          at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:554)
                                                                          at de.qabel.qabelbox.communication.connection.ConnectivityManager.<init>(ConnectivityManager.kt:30)
                                                                          at de.qabel.qabelbox.communication.BaseServer.<init>(BaseServer.java:45)
                                                                          at de.qabel.qabelbox.storage.server.AndroidBlockServer.<init>(AndroidBlockServer.java:0)
                                                                          at de.qabel.qabelbox.dagger.modules.StorageModule.createBlockServer(StorageModule.java:57)
                                                                          at de.qabel.qabelbox.dagger.modules.StorageModule.providesBlockServer(StorageModule.java:53)
                                                                          at de.qabel.qabelbox.dagger.modules.StorageModule_ProvidesBlockServerFactory.get(StorageModule_ProvidesBlockServerFactory.java:37)
                                                                          at de.qabel.qabelbox.dagger.modules.StorageModule_ProvidesBlockServerFactory.get(StorageModule_ProvidesBlockServerFactory.java:11)
                                                                          at dagger.internal.DoubleCheck.get(DoubleCheck.java:46)
                                                                          at de.qabel.qabelbox.dagger.modules.BoxModule_ProvideVolumeManagerFactory.get(BoxModule_ProvideVolumeManagerFactory.java:60)
                                                                          at de.qabel.qabelbox.dagger.modules.BoxModule_ProvideVolumeManagerFactory.get(BoxModule_ProvideVolumeManagerFactory.java:14)
                                                                          at dagger.internal.DoubleCheck.get(DoubleCheck.java:46)
                                                                          at de.qabel.qabelbox.box.interactor.BoxDocumentIdInteractor_Factory.get(BoxDocumentIdInteractor_Factory.java:27)
                                                                          at de.qabel.qabelbox.box.interactor.BoxDocumentIdInteractor_Factory.get(BoxDocumentIdInteractor_Factory.java:8)
                                                                          at de.qabel.qabelbox.dagger.modules.BoxModule_ProvidesDocumentIdUseCaseFactory.get(BoxModule_ProvidesDocumentIdUseCaseFactory.java:31)
                                                                          at de.qabel.qabelbox.dagger.modules.BoxModule_ProvidesDocumentIdUseCaseFactory.get(BoxModule_ProvidesDocumentIdUseCaseFactory.java:10)
                                                                          at dagger.internal.DoubleCheck.get(DoubleCheck.java:46)
                                                                          at de.qabel.qabelbox.box.AndroidBoxService_MembersInjector.injectMembers(AndroidBoxService_MembersInjector.java:46)
                                                                          at de.qabel.qabelbox.box.AndroidBoxService_MembersInjector.injectMembers(AndroidBoxService_MembersInjector.java:10)
                                                                          at de.qabel.qabelbox.dagger.components.DaggerBoxComponent.inject(DaggerBoxComponent.java:232)
                                                                          at de.qabel.qabelbox.box.AndroidBoxService.onCreate(AndroidBoxService.kt:41)
                                                                          at android.app.ActivityThread.handleCreateService(ActivityThread.java:2895)
                                                                          at android.app.ActivityThread.access$1900(ActivityThread.java:157)
                                                                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1439)
                                                                          at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                          at android.os.Looper.loop(Looper.java:148)
                                                                          at android.app.ActivityThread.main(ActivityThread.java:5527)
                                                                          at java.lang.reflect.Method.invoke(Native Method)
                                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730)
                                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)