summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/java/com/android/server/connectivity/PacManager.java15
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) {