Merge change If990cab0 into eclair
* changes: Make sure to acknowledge stale broadcasts
This commit is contained in:
@@ -691,6 +691,20 @@ public final class ActivityThread {
|
|||||||
if (rd != null) {
|
if (rd != null) {
|
||||||
rd.performReceive(intent, resultCode, data, extras,
|
rd.performReceive(intent, resultCode, data, extras,
|
||||||
ordered, sticky);
|
ordered, sticky);
|
||||||
|
} else {
|
||||||
|
// The activity manager dispatched a broadcast to a registered
|
||||||
|
// receiver in this process, but before it could be delivered the
|
||||||
|
// receiver was unregistered. Acknowledge the broadcast on its
|
||||||
|
// behalf so that the system's broadcast sequence can continue.
|
||||||
|
if (DEBUG_BROADCAST) {
|
||||||
|
Log.i(TAG, "Broadcast to unregistered receiver");
|
||||||
|
}
|
||||||
|
IActivityManager mgr = ActivityManagerNative.getDefault();
|
||||||
|
try {
|
||||||
|
mgr.finishReceiver(this, resultCode, data, extras, false);
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
Log.w(TAG, "Couldn't finish broadcast to unregistered receiver");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -716,8 +730,8 @@ public final class ActivityThread {
|
|||||||
BroadcastReceiver receiver = mReceiver;
|
BroadcastReceiver receiver = mReceiver;
|
||||||
if (DEBUG_BROADCAST) {
|
if (DEBUG_BROADCAST) {
|
||||||
int seq = mCurIntent.getIntExtra("seq", -1);
|
int seq = mCurIntent.getIntExtra("seq", -1);
|
||||||
Log.i(TAG, "Dispathing broadcast " + mCurIntent.getAction() + " seq=" + seq
|
Log.i(TAG, "Dispatching broadcast " + mCurIntent.getAction()
|
||||||
+ " to " + mReceiver);
|
+ " seq=" + seq + " to " + mReceiver);
|
||||||
}
|
}
|
||||||
if (receiver == null) {
|
if (receiver == null) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user