} else {
rd.validate(context, handler);
}
+ rd.mForgotten = false;
return rd.getIIntentReceiver();
}
}
rd.setUnregisterLocation(ex);
holder.put(r, rd);
}
+ rd.mForgotten = true;
return rd.getIIntentReceiver();
}
}
final boolean mRegistered;
final IntentReceiverLeaked mLocation;
RuntimeException mUnregisterLocation;
+ boolean mForgotten;
final class Args extends BroadcastReceiver.PendingResult implements Runnable {
private Intent mCurIntent;
final Intent intent = mCurIntent;
mCurIntent = null;
- if (receiver == null || !mRegistered) {
+ if (receiver == null || mForgotten) {
if (mRegistered && ordered) {
if (ActivityThread.DEBUG_BROADCAST) Slog.i(ActivityThread.TAG,
"Finishing null broadcast to " + mReceiver);