From 65428dda8ed4ff538bb64394248584e088d5d4d9 Mon Sep 17 00:00:00 2001 From: str4d <str4d@mail.i2p> Date: Sun, 29 Dec 2013 23:29:49 +0000 Subject: [PATCH] Fix IRouterState Service connection leak properly --- src/net/i2p/android/router/MainActivity.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/net/i2p/android/router/MainActivity.java b/src/net/i2p/android/router/MainActivity.java index d117f4962..9f5af38ef 100644 --- a/src/net/i2p/android/router/MainActivity.java +++ b/src/net/i2p/android/router/MainActivity.java @@ -79,8 +79,10 @@ public class MainActivity extends I2PActivityBase implements try { mStateService.unregisterCallback(mStateCallback); } catch (RemoteException e) {} - unbindService(mStateConnection); } + if (mTriedBindState) + unbindService(mStateConnection); + mTriedBindState = false; super.onStop(); } @@ -91,14 +93,15 @@ public class MainActivity extends I2PActivityBase implements // Don't auto-create the RouterService. Intent intent = new Intent(IRouterState.class.getName()); intent.setClassName(this, "net.i2p.android.router.service.RouterService"); - boolean b = bindService(intent, + mTriedBindState = bindService(intent, mStateConnection, 0); - Util.i("Bind to IRouterState successful: " + b); + Util.i("Bind to IRouterState successful: " + mTriedBindState); } super.onRouterBind(svc); } + private boolean mTriedBindState; private ServiceConnection mStateConnection = new ServiceConnection() { public void onServiceConnected(ComponentName className, IBinder service) { -- GitLab