Merge "ServiceConnection: Properly serialize events" into nyc-mr1-dev
This commit is contained in:
@@ -1396,18 +1396,6 @@ public final class LoadedApk {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void death(ComponentName name, IBinder service) {
|
public void death(ComponentName name, IBinder service) {
|
||||||
ServiceDispatcher.ConnectionInfo old;
|
|
||||||
|
|
||||||
synchronized (this) {
|
|
||||||
old = mActiveConnections.remove(name);
|
|
||||||
if (old == null || old.binder != service) {
|
|
||||||
// Death for someone different than who we last
|
|
||||||
// reported... just ignore it.
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
old.binder.unlinkToDeath(old.deathMonitor, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mActivityThread != null) {
|
if (mActivityThread != null) {
|
||||||
mActivityThread.post(new RunConnection(name, service, 1));
|
mActivityThread.post(new RunConnection(name, service, 1));
|
||||||
} else {
|
} else {
|
||||||
@@ -1456,7 +1444,7 @@ public final class LoadedApk {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If there was an old service, it is not disconnected.
|
// If there was an old service, it is now disconnected.
|
||||||
if (old != null) {
|
if (old != null) {
|
||||||
mConnection.onServiceDisconnected(name);
|
mConnection.onServiceDisconnected(name);
|
||||||
}
|
}
|
||||||
@@ -1467,6 +1455,17 @@ public final class LoadedApk {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void doDeath(ComponentName name, IBinder service) {
|
public void doDeath(ComponentName name, IBinder service) {
|
||||||
|
synchronized (this) {
|
||||||
|
ConnectionInfo old = mActiveConnections.get(name);
|
||||||
|
if (old == null || old.binder != service) {
|
||||||
|
// Death for someone different than who we last
|
||||||
|
// reported... just ignore it.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
mActiveConnections.remove(name);
|
||||||
|
old.binder.unlinkToDeath(old.deathMonitor, 0);
|
||||||
|
}
|
||||||
|
|
||||||
mConnection.onServiceDisconnected(name);
|
mConnection.onServiceDisconnected(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user