Fix crash in ManagedApplicationService.
- Prevent unbindService call in case where we
are calling disconnect on a service that has crashed.
Bug: 27706497
Change-Id: Ibb24087685f5152b6d8e339bd1e9dfa29be2730b
diff --git a/services/core/java/com/android/server/utils/ManagedApplicationService.java b/services/core/java/com/android/server/utils/ManagedApplicationService.java
index ad8acef0..0f251fd 100644
--- a/services/core/java/com/android/server/utils/ManagedApplicationService.java
+++ b/services/core/java/com/android/server/utils/ManagedApplicationService.java
@@ -62,8 +62,6 @@
private IInterface mBoundInterface;
private PendingEvent mPendingEvent;
-
-
private ManagedApplicationService(final Context context, final ComponentName component,
final int userId, int clientLabel, String settingsAction,
BinderChecker binderChecker) {
@@ -211,6 +209,7 @@
} else {
// Service connection wasn't pending, must have been disconnected
mContext.unbindService(this);
+ return;
}
try {
@@ -242,6 +241,8 @@
@Override
public void onServiceDisconnected(ComponentName componentName) {
Slog.w(TAG, "Service disconnected: " + intent);
+ mConnection = null;
+ mBoundInterface = null;
}
};