Ok, just reinstalled from Market, added a clock widget, removed it, tried
to add one again.

The config activity worked fine, then after confirming, this showed up in
the logcat:

01-06 01:25:08.770 E/AndroidRuntime(26804): java.lang.RuntimeException:
Failure delivering result ResultInfo{who=null, request=5, result=-1,
data=Intent { (has extras) }} to activity
{com.android.launcher/com.android.launcher2.Launcher}:
java.lang.NullPointerException
01-06 01:25:08.770 E/AndroidRuntime(26804): at
android.app.ActivityThread.deliverResults(ActivityThread.java:2976)
01-06 01:25:08.770 E/AndroidRuntime(26804): at
android.app.ActivityThread.handleSendResult(ActivityThread.java:3019)
01-06 01:25:08.770 E/AndroidRuntime(26804): at
android.app.ActivityThread.access$1100(ActivityThread.java:122)
01-06 01:25:08.770 E/AndroidRuntime(26804): at
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1176)
01-06 01:25:08.770 E/AndroidRuntime(26804): at
android.os.Handler.dispatchMessage(Handler.java:99)
01-06 01:25:08.770 E/AndroidRuntime(26804): at
android.os.Looper.loop(Looper.java:137)
01-06 01:25:08.770 E/AndroidRuntime(26804): at
android.app.ActivityThread.main(ActivityThread.java:4340)
01-06 01:25:08.770 E/AndroidRuntime(26804): at
java.lang.reflect.Method.invokeNative(Native Method)
01-06 01:25:08.770 E/AndroidRuntime(26804): at
java.lang.reflect.Method.invoke(Method.java:511)
01-06 01:25:08.770 E/AndroidRuntime(26804): at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-06 01:25:08.770 E/AndroidRuntime(26804): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-06 01:25:08.770 E/AndroidRuntime(26804): at
dalvik.system.NativeStart.main(Native Method)
01-06 01:25:08.770 E/AndroidRuntime(26804): Caused by:
java.lang.NullPointerException
01-06 01:25:08.770 E/AndroidRuntime(26804): at
com.android.launcher2.Launcher.getSpanForWidget(Launcher.java:941)
01-06 01:25:08.770 E/AndroidRuntime(26804): at
com.android.launcher2.Launcher.completeAddAppWidget(Launcher.java:964)
01-06 01:25:08.770 E/AndroidRuntime(26804): at
com.android.launcher2.Launcher.completeAdd(Launcher.java:492)
01-06 01:25:08.770 E/AndroidRuntime(26804): at
com.android.launcher2.Launcher.onActivityResult(Launcher.java:528)
01-06 01:25:08.770 E/AndroidRuntime(26804): at
android.app.Activity.dispatchActivityResult(Activity.java:4649)
01-06 01:25:08.770 E/AndroidRuntime(26804): at
android.app.ActivityThread.deliverResults(ActivityThread.java:2972)
01-06 01:25:08.770 E/AndroidRuntime(26804): ... 11 more
01-06 01:25:08.786 W/ActivityManager(26561):   Force finishing activity
com.android.launcher/com.android.launcher2.Launcher

This is on a Galaxy Nexus, retail UK version, GSM, Android 4.0.1.

If I can be of further help, please contact me off-list.

Thanks,
-- Kostya

6 января 2012 г. 0:37 пользователь Ashley McConnell <
ash...@siroccoracing.com> написал:

> Hi Kostya,
>
> Thanks again.  I have exactly that code for both config activities, so I
> don't think that's the problem.  Thanks for the stack trace, I was seeing
> that warning in the logs, but it didn't have a stack trace associated with
> it for some reason, I'm not sure why.
>
> I've tracked down the source of the warnings and they should be quiet now
> :)
>
> The problem he was reporting was when he added a clock component, then
> removed it, it was removed from the list of widgets.  Can you check to see
> if that happens on your device?
>
> Thanks for your help,
> Ash
>
> 2012/1/5 Kostya Vasilyev <kmans...@gmail.com>
>
>> The code in Launcher looks up the widget info object by the widget id.
>> Does your code properly handle that?
>>
>> Here is my code from a widget config activity:
>>
>> Intent resultValue = new Intent();
>>  resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId);
>> setResult(RESULT_OK, resultValue);
>>  finish();
>>
>> Where mAppWidgetId is initialized inside onCreate:
>>
>> Intent intent = getIntent();
>>  Bundle extras = intent.getExtras();
>> if (extras != null) {
>> mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID,
>>  AppWidgetManager.INVALID_APPWIDGET_ID);
>> }
>>
>> FWIW, I can't get your widget to crash on a Galaxy Nexus with 4.0.1,
>> tried both the switcher bar and the clock, but I did get a bunch of these
>> in the logcat when creating the clock:
>>
>> 01-05 19:59:28.047 W/ResourceType(30663): No known package when getting
>> value for resource number 0xffffffff
>> 01-05 19:59:28.055 W/ImageView(30663): Unable to find resource: -1
>> 01-05 19:59:28.055 W/ImageView(30663):
>> android.content.res.Resources$NotFoundException: Resource ID #0xffffffff
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> android.content.res.Resources.getValue(Resources.java:1019)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> android.content.res.Resources.getDrawable(Resources.java:663)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> android.widget.ImageView.resolveUri(ImageView.java:542)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> android.widget.ImageView.setImageResource(ImageView.java:315)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> sirocco.widgets.AwesomeClockActivity.setBackground(AwesomeClockActivity.java:672)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> sirocco.widgets.AwesomeClockActivity.skinExamples(AwesomeClockActivity.java:531)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> sirocco.widgets.AwesomeClockActivity.setCurrentSkin(AwesomeClockActivity.java:747)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> sirocco.widgets.AwesomeClockActivity.onCreate(AwesomeClockActivity.java:379)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> android.app.Activity.performCreate(Activity.java:4465)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> android.app.ActivityThread.access$600(ActivityThread.java:122)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> android.os.Handler.dispatchMessage(Handler.java:99)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> android.os.Looper.loop(Looper.java:137)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> android.app.ActivityThread.main(ActivityThread.java:4340)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> java.lang.reflect.Method.invokeNative(Native Method)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> java.lang.reflect.Method.invoke(Method.java:511)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
>> 01-05 19:59:28.055 W/ImageView(30663): at
>> dalvik.system.NativeStart.main(Native Method)
>>
>> Hope this helps.
>>
>> -- Kostya
>>
>> 5 января 2012 г. 18:43 пользователь Ash McConnell <
>> ash.mcconn...@gmail.com> написал:
>>
>> Hi Kostya,
>>>
>>> Sorry for the late reply, it has been a hectic holiday period.
>>>
>>> I couldn't get it to cause any problems in the emulator or any warnings
>>> on my Android 2.2 device (Motorola Defy)
>>>
>>> I got the user to send me a log file using a logfile capture app.  There
>>> was one exception of interest: -
>>>
>>> "
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): FATAL EXCEPTION: main
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): java.lang.RuntimeException:
>>> Failure delivering result ResultInfo{who=null, request=5, result=-1,
>>> data=Intent { (has extras) }} to activity 
>>> {com.android.launcher/com.**android.launcher2.Launcher}:
>>> java.lang.NullPointerException
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at
>>> android.app.ActivityThread.**deliverResults(ActivityThread.**java:2976)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at
>>> android.app.ActivityThread.**handleSendResult(**
>>> ActivityThread.java:3019)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at
>>> android.app.ActivityThread.**access$1100(ActivityThread.**java:122)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at
>>> android.app.ActivityThread$H.**handleMessage(ActivityThread.**java:1176)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at android.os.Handler.**
>>> dispatchMessage(Handler.java:**99)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at
>>> android.os.Looper.loop(Looper.**java:137)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at
>>> android.app.ActivityThread.**main(ActivityThread.java:4340)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at java.lang.reflect.Method.
>>> **invokeNative(Native Method)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at java.lang.reflect.Method.
>>> **invoke(Method.java:511)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at com.android.internal.os.*
>>> *ZygoteInit$**MethodAndArgsCaller.run(**ZygoteInit.java:784)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at com.android.internal.os.*
>>> *ZygoteInit.main(ZygoteInit.**java:551)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at dalvik.system.NativeStart.
>>> **main(Native Method)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): Caused by:
>>> java.lang.NullPointerException
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at com.android.launcher2.**
>>> Launcher.getSpanForWidget(**Launcher.java:941)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at com.android.launcher2.**
>>> Launcher.completeAddAppWidget(**Launcher.java:964)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at com.android.launcher2.**
>>> Launcher.completeAdd(Launcher.**java:492)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at com.android.launcher2.**
>>> Launcher.onActivityResult(**Launcher.java:528)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at android.app.Activity.**
>>> dispatchActivityResult(**Activity.java:4649)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): at
>>> android.app.ActivityThread.**deliverResults(ActivityThread.**java:2972)
>>> 12-21 12:24:46.919 E/AndroidRuntime(21552): ... 11 more
>>> 12-21 12:24:46.919 W/ActivityManager(  176):   Force finishing activity
>>> com.android.launcher/com.**android.launcher2.Launcher
>>> "
>>>
>>> Here is the relevant file
>>> http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/4.0.1_r1/com/android/launcher2/Launcher.java?av=f
>>>
>>>
>>> It seems like it can't get the appWidgetInfo object on line 959.  I
>>> have checked my AppWidgetProviderInfo XML and it seems to comply to the
>>> guidelines/rules.  I'm not sure what I've done wrong here
>>>
>>> Any suggestions would be welcome.
>>> All the best,
>>> Ash
>>>
>>>
>>>
>>>
>>>  --
>>> 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
>>>
>>
>>  --
>> 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
>>
>
>
>
> --
> Awesome Widgets <http://www.siroccosoftware.com/awesome>
> Online Racing Championship <http://onlineracingchampionship.com>
> Twitter <http://twitter.com/AshMcConnell>
>
>  --
> 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
>

-- 
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

Reply via email to