Hm, okay, for that, where basically you are just using BroadcastReceiver as a separated class not known by the rest of the framework, it seems okay.
On Thu, May 17, 2012 at 7:22 PM, Kiran Rao <techie.curi...@gmail.com> wrote: > Oops .. apologies for the typo, and the ensuing confusion. I did mean > LocalBroadcastManager in my original post, wherever I referred to > LocalBroadcastReceiver. > > Mark has summed it all up in his response. My current implementation is > this: > > > try to fork BroadcastReceiver and use a forked edition with >> LocalBroadcastManager and ordered-broadcast support > > > But I have added my own flag (mConsumed) and added my own methods ( > consumeBroadcast(), clearConsumeBroadcast() and isBroadcastConsumed()). > > Secondly, my solution still doesn't allow using any of the setResult*methods > of > BroadcastReceiver (since all of these first do a checkSynchronousHint()). > The way around this is to add another bunch of methods that basically do > the exact same thing as getResult* and setResult* ; but which do not go > through the checkSynchronousHint() path. > > Using setOrderedHint() which would allow me to avoid all of this pain.All > my changes would be isolated to LocalBroadcastManager, and I would not > need to fork BroadcastReceiver (not to mention that code which registers > for such local ordered broadcasts wouldn't need to deal with yet another > forked class; and confusing methods like consumeBroadcast() in place of > abortBroadcast()) > > On Friday, 18 May 2012 02:18:21 UTC+5:30, Mark Murphy (a Commons Guy) > wrote: >> >> On Thu, May 17, 2012 at 4:27 PM, Dianne Hackborn <hack...@android.com> >> wrote: >> > No, you should not be using it. Why would you even *want* to use it? >> I can >> > only imagine using this to do things that are broken. :) >> >> To clarify (and fix a typo in Kiran's post), he is working on adding >> ordered broadcasts to LocalBroadcastManager from the Android Support >> package, while maintaining maximum fidelity with the protocol used by >> regular ordered broadcasts. >> >> Most of this can go into (a fork of) LocalBroadcastManager without >> issue. However, calling abortBroadcast() on a BroadcastReceiver throws >> a RuntimeException ("BroadcastReceiver trying to return result during >> a non-ordered broadcast") if you try to use abortBroadcast() without >> having the Intent go through the standard sendOrderedBroadcast(). >> >> I have not seen Kiran's code -- I have merely been advising him so far >> via email, as this is an itch I had been meaning to scratch myself. >> Off the cuff, the options appear to be: >> >> - use setOrderedHint(), despite it being labeled as "internal", or >> >> - attempt to override the internal checkSynchronousHint() to not raise >> the RuntimeException, or >> >> - try to fork BroadcastReceiver and use a forked edition with >> LocalBroadcastManager and ordered-broadcast support, or >> >> - abandon LocalBroadcastManager entirely and create a workalike that >> supports ordered "pseudocasts" or some such >> >> Certainly, I am up for other suggestions. >> >> Thanks! >> >> -- >> Mark Murphy (a Commons Guy) >> http://commonsware.com | http://github.com/commonsguy >> http://commonsware.com/blog | http://twitter.com/commonsguy >> >> Android Training...At Your Office: >> http://commonsware.com/**training<http://commonsware.com/training> >> > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to android-developers@googlegroups.com > To unsubscribe from this group, send email to > android-developers+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en > -- Dianne Hackborn Android framework engineer hack...@android.com Note: please don't send private questions to me, as I don't have time to provide private support, and so won't reply to such e-mails. All such questions should be posted on public forums, where I and others can see and answer them. -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en