a this is a step to the right direction ;)
notice they don't check for null

now any places the  ReceiverData object is initialized ?

btw search in grepcode Sucks big time ! could you in the name of Mordor 
tell me what I should make out from here : 
http://grepcode.com/search?query=ReceiverData&n=

compare : 
http://androidxref.com/4.2.2_r1/search?q=ReceiverData&defs=&refs=&path=&hist=&project=abi&project=bionic&project=bootable&project=build&project=cts&project=dalvik&project=development&project=device&project=docs&project=external&project=frameworks&project=gdk&project=hardware&project=libcore&project=libnativehelper&project=ndk&project=packages&project=pdk&project=prebuilts&project=sdk&project=system

In froyo the intent is just passed in :

http://androidxref.com/2.2.3/xref/frameworks/base/core/java/android/app/ActivityThread.java#1563

In 4.2.2 we have the same in a constructor : 
http://androidxref.com/4.2.2_r1/xref/frameworks/base/core/java/android/app/ActivityThread.java#648

Now scheduleReceiver we have in ApplicationThreadNative : 
http://androidxref.com/4.2.2_r1/xref/frameworks/base/core/java/android/app/ApplicationThreadNative.java#758
 and in ActivityThread : 
http://androidxref.com/4.2.2_r1/xref/frameworks/base/core/java/android/app/ActivityThread.java#645

What's the difference ?

Anyway in ApplicationThreadNative it is called here 
http://androidxref.com/4.2.2_r1/xref/frameworks/base/core/java/android/app/ApplicationThreadNative.java#197
 
and it is passed an intent from : 

http://androidxref.com/4.2.2_r1/xref/frameworks/base/core/java/android/app/ApplicationThreadNative.java#189

So Intent intent = Intent.CREATOR.createFromParcel(data);

but this is where I give up - where is this "data" (a Parcel instance) 
created ?






On Thursday, July 11, 2013 5:54:07 PM UTC+3, Piren wrote:
>
> i'm pretty sure it's impossible to guarantee something like that... i 
> don't think part of their new programmer orientation is "if you ever touch 
> the code that runs BroadcastReceiver.onReceive...never send a null intent".
>
> Either way, at least on android 4.2.2_r1, it seems like it's impossible to 
> get a null intent. feel free to verify this is true for all previous 
> versions as well (and don't forget to keep checking this method every time 
> they make a new build).
>
> http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.2.2_r1/android/app/ActivityThread.java#2335
>
>
> On Thursday, July 11, 2013 4:09:27 PM UTC+3, Palmer Eldritch wrote:
>>
>> That's nice advice - but in this case I think one should have a guarantee
>>
>> Does it make sense to receive a null intent ? Is it even possible with 
>> the current android code ?
>>
>> On Thursday, July 11, 2013 9:46:00 AM UTC+3, Piren wrote:
>>>
>>> No point of being sure here... even if the current code is structured in 
>>> a way that it shouldn't be null, nothing says it will stay like that in all 
>>> future code revisions.
>>> Ever since i started getting null exceptions from android (not 
>>> NullPointerException... a Null instead of an exception) i learned it's 
>>> always a good idea to check for nulls when you're supposed to receive an 
>>> object.
>>>
>>> On Thursday, July 11, 2013 6:01:13 AM UTC+3, Palmer Eldritch wrote:
>>>>
>>>> I suspect it can't be null *by construction* - I just can't pin it 
>>>> down in code (or in docs)
>>>>
>>>> It's nice to be sure
>>>>
>>>> Can somebody point to the relevant code parts ?
>>>>
>>>> I mean what paths lead to the onReceive being triggered ? Can we have a 
>>>> null intent in any of them ?
>>>>
>>>> On Thursday, July 11, 2013 4:18:09 AM UTC+3, TreKing wrote:
>>>>>
>>>>>
>>>>> On Wed, Jul 10, 2013 at 4:14 PM, Palmer Eldritch <[email protected]>wrote:
>>>>>
>>>>>> I mean nobody knows ??
>>>>>>
>>>>>> Do you ever check the intent for being null and if not why ?
>>>>>>
>>>>>
>>>>> Here's what you do. Assume it will not be null, then use ACRA or some 
>>>>> other bug-reporting tool to handle uncaught exceptions. If you get a null 
>>>>> pointer exception from here, you know it can be null.
>>>>>
>>>>> You're welcome.
>>>>>
>>>>>
>>>>> -------------------------------------------------------------------------------------------------
>>>>> TreKing <http://sites.google.com/site/rezmobileapps/treking> - 
>>>>> Chicago transit tracking app for Android-powered devices
>>>>>  
>>>>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to