diff options
| -rw-r--r-- | services/java/com/android/server/connectivity/PacManager.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/services/java/com/android/server/connectivity/PacManager.java b/services/java/com/android/server/connectivity/PacManager.java index 772921aa97dc..53e1dc218c3d 100644 --- a/services/java/com/android/server/connectivity/PacManager.java +++ b/services/java/com/android/server/connectivity/PacManager.java @@ -252,7 +252,7 @@ public class PacManager { Intent intent = new Intent(); intent.setClassName(PAC_PACKAGE, PAC_SERVICE); // Already bound no need to bind again. - if (mProxyConnection != null) { + if ((mProxyConnection != null) && (mConnection != null)) { if (mLastPort != -1) { sendPacBroadcast(new ProxyProperties(mPacUrl, mLastPort)); } else { @@ -332,10 +332,15 @@ public class PacManager { } private void unbind() { - mContext.unbindService(mConnection); - mContext.unbindService(mProxyConnection); - mConnection = null; - mProxyConnection = null; + if (mConnection != null) { + mContext.unbindService(mConnection); + mConnection = null; + } + if (mProxyConnection != null) { + mContext.unbindService(mProxyConnection); + mProxyConnection = null; + } + mProxyService = null; } private void sendPacBroadcast(ProxyProperties proxy) { |