{ "id": "62869", "key": "TIMOB-2237", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "11238", "name": "Release 1.6.0 M05", "archived": true, "released": true, "releaseDate": "2011-01-17" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2011-04-17T01:58:30.000+0000", "created": "2011-04-15T03:14:26.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "android", "defect", "release-1.6.0" ], "versions": [], "issuelinks": [], "assignee": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2011-04-17T01:58:30.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "{html}

On 1_4_X branch line 84 \nTiUIScrollableView.java the showPager method assumes that the\nscrollable view has \"showPagingControl\" as a property.

\n

Using the trackball on a G1 caused a customer app to crash with\na NPE. See Helpdesk\n52401

\n

~~~

\n

E/TiUncaughtHandler( 919): (main) [2072,15484] Sending event:\nexception on thread: main msg:java.lang.NullPointerException
\nE/TiUncaughtHandler( 919): java.lang.NullPointerException
\nE/TiUncaughtHandler( 919): at\norg.appcelerator.titanium.util.TiConvert.toBoolean(TiConvert.java:223)
\nE/TiUncaughtHandler( 919): at\nti.modules.titanium.ui.widget.TiUIScrollableView.showPager(TiUIScrollableView.java:84)
\nE/TiUncaughtHandler( 919): at\nti.modules.titanium.ui.ScrollableViewProxy.handleMessage(ScrollableViewProxy.java:69)
\nE/TiUncaughtHandler( 919): at\nandroid.os.Handler.dispatchMessage(Handler.java:95)
\nE/TiUncaughtHandler( 919): at\nandroid.os.Looper.loop(Looper.java:123)
\nE/TiUncaughtHandler( 919): at\nandroid.app.ActivityThread.main(ActivityThread.java:4203)
\nE/TiUncaughtHandler( 919): at\njava.lang.reflect.Method.invokeNative(Native Method)
\nE/TiUncaughtHandler( 919): at\njava.lang.reflect.Method.invoke(Method.java:521)
\nE/TiUncaughtHandler( 919): at\ncom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
\nE/TiUncaughtHandler( 919): at\ncom.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
\nE/TiUncaughtHandler( 919): at dalvik.system.NativeStart.main(Native\nMethod)
\n~~~

{html}", "attachment": [ { "id": "18128", "filename": "app.js", "author": { "name": "opiecyrus", "key": "opiecyrus", "displayName": "Opie Cyrus", "active": true, "timeZone": "America/Chicago" }, "created": "2011-04-15T03:14:27.000+0000", "size": 1971, "mimeType": "application/x-javascript" } ], "flagged": false, "summary": "Android: TiUIScrollableView showPager() Assumes !null", "creator": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "127908", "author": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Was in wrong milestone.

{html}", "updateAuthor": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:14:27.000+0000", "updated": "2011-04-15T03:14:27.000+0000" }, { "id": "127909", "author": { "name": "opiecyrus", "key": "opiecyrus", "displayName": "Opie Cyrus", "active": true, "timeZone": "America/Chicago" }, "body": "{html}

(from [2d56a930ddc126adc94f3bbb8dcabe3fb5086f66])\n[#2237 state:fixed-in-qa] updated ScrollableView\nto check for null view

\n

scrollableView checks for null view before trying to show\npagingControl
\n\nhttps://github.com/appcelerator/titanium_mobile/commit/2d56a930ddc1...

{html}", "updateAuthor": { "name": "opiecyrus", "key": "opiecyrus", "displayName": "Opie Cyrus", "active": true, "timeZone": "America/Chicago" }, "created": "2011-04-15T03:14:27.000+0000", "updated": "2011-04-15T03:14:27.000+0000" }, { "id": "127910", "author": { "name": "opiecyrus", "key": "opiecyrus", "displayName": "Opie Cyrus", "active": true, "timeZone": "America/Chicago" }, "body": "{html}

Test app attached. Steps to verify fix:
\n1) Run test app
\n2) Click on \"Open ScrollableView\"
\n3) Click on \"Click me then look a the log!\"
\n4) Look at the log and you should see two entries for setting the\npaging control. This would result in a exception before.

\n

Thanks
\nOpie

{html}", "updateAuthor": { "name": "opiecyrus", "key": "opiecyrus", "displayName": "Opie Cyrus", "active": true, "timeZone": "America/Chicago" }, "created": "2011-04-15T03:14:28.000+0000", "updated": "2011-04-15T03:14:28.000+0000" }, { "id": "127911", "author": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Verified on G1/1.6 and Nexus One/2.2.1 using build #e1cb22a

\n

Used scrollable view test.

{html}", "updateAuthor": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:14:29.000+0000", "updated": "2011-04-15T03:14:29.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }