{ "id": "123028", "key": "TIMOB-15884", "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": "15931", "description": "2014 Sprint 05", "name": "2014 Sprint 05", "archived": true, "released": true, "releaseDate": "2014-03-14" }, { "id": "15932", "description": "2014 Sprint 05 API", "name": "2014 Sprint 05 API", "archived": true, "released": true, "releaseDate": "2014-03-14" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2014-03-05T21:52:43.000+0000", "created": "2013-11-28T08:22:01.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "SupportTeam", "module_emaildialog", "qe-closed-3.3.0", "qe-manualtest", "qe-testadded" ], "versions": [ { "id": "15593", "description": "Release 3.1.3", "name": "Release 3.1.3", "archived": true, "released": true, "releaseDate": "2013-09-18" } ], "issuelinks": [], "assignee": { "name": "bijuexalture", "key": "bijuexalture", "displayName": "Biju pm", "active": true, "timeZone": "Asia/Kolkata" }, "updated": "2014-10-16T00:12:25.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": "h4. Problem Description\r\nWhen not using the Ti.UI.Emaildialog but creating my own email Intent I cannot set the EXTRA_EMAIL property, which it's purpose is for recipients.\r\nThis is because this property expects array of strings but titanium does not support this conversion in the putExtra method of IntentProxy.\r\n\r\nHello,\r\n\r\nI have tested this issue with test code. I got same warning message. I think this is a bug.\r\n\r\nh5. Testing environment: \r\n\r\nOS: MAC OS X 10.8.5\r\nTi SDK: 3.1.3 GA \r\nTi CLI: 3.3.0\r\nAndroid SDK 2.3.3 \r\n\r\n\r\nh5. Test Code\r\n\r\n{code}\r\nvar win = Ti.UI.createWindow({\r\n\tbackgroundColor : '#fff'\r\n});\r\nvar button = Ti.UI.createButton({\r\n\ttitle : 'Share'\r\n});\r\nwin.add(button);\r\nwin.open();\r\n\r\nbutton.addEventListener('click', function() {\r\n\tvar intent = Ti.Android.createIntent({\r\n\t\taction : Ti.Android.ACTION_SEND,\r\n\t\ttype : 'message/rfc822'\r\n\t});\r\n\tintent.putExtra(Ti.Android.EXTRA_SUBJECT, 'My subject!'); \r\n\tintent.putExtra(Ti.Android.EXTRA_EMAIL, ['email@gmail.com','email@yahoo.com']);\r\n\tintent.putExtra(Ti.Android.EXTRA_TEXT, 'My text!');\r\n\ttry {\r\n\t\tTi.Android.currentActivity.startActivity(intent);\r\n\t} catch (ex) {\r\n\t\t/* Handle Exception if no suitable apps installed */\r\n\t\tTi.UI.createNotification({\r\n\t\t\tmessage : 'No sharing apps installed!'\r\n\t\t}).show();\r\n\t}\r\n});\r\n\r\n{code}\r\n\r\n\r\nh5. Logs\r\n{code}\r\n11-29 23:12:50.445: W/TiIntent(7164): (KrollRuntimeThread) [14183,14183] Warning unimplemented put conversion for java.lang.Object[] trying String\r\n11-29 23:12:50.445: W/TiIntent(7164): (KrollRuntimeThread) [0,14183] Warning unimplemented put conversion for java.lang.Object[] trying String\r\n11-29 23:12:50.445: I/ActivityManager(96): Starting: Intent { act=android.intent.action.SEND typ=message/rfc822 cmp=com.google.android.gm/.ComposeActivityGmail (has extras) } from pid 7164\r\n11-29 23:12:50.485: I/ActivityManager(96): Start proc com.google.android.gm for activity com.google.android.gm/.ComposeActivityGmail: pid=7178 uid=10009 gids={3003, 1015}\r\n11-29 23:12:50.515: D/dalvikvm(67): GC_EXPLICIT freed 11K, 53% free 2540K/5379K, external 1625K/2137K, paused 41ms\r\n11-29 23:12:50.585: D/dalvikvm(67): GC_EXPLICIT freed <1K, 53% free 2540K/5379K, external 1625K/2137K, paused 60ms\r\n11-29 23:12:50.635: I/ActivityThread(7178): Pub gmail-ls: com.google.android.gm.provider.MailProvider\r\n11-29 23:12:50.635: D/dalvikvm(67): GC_EXPLICIT freed <1K, 53% free 2540K/5379K, external 1625K/2137K, paused 46ms\r\n11-29 23:12:50.675: I/ActivityThread(7178): Pub com.google.android.gm.attachmentspreviews: com.google.android.gm.AttachmentPreviewProvider\r\n11-29 23:12:50.685: I/ActivityThread(7178): Pub com.google.android.gmail.SuggestionProvider: com.google.android.gm.SuggestionsProvider\r\n11-29 23:12:50.695: I/ActivityThread(7178): Pub gmail-downloads: com.google.android.gm.downloadprovider.DownloadProvider\r\n11-29 23:12:50.715: I/ActivityThread(7178): Pub com.google.android.gm: com.google.android.gm.provider.PublicContentProvider\r\n11-29 23:12:50.765: I/ActivityManager(96): Starting: Intent { act=android.intent.action.SEND typ=message/rfc822 flg=0x2000000 cmp=com.google.android.gm/.ComposeActivity (has extras) } from pid 7178\r\n11-29 23:12:50.775: I/ActivityManager(96): No longer want com.android.packageinstaller (pid 7061): hidden #16\r\n11-29 23:12:51.165: I/Gmail(7178): calculateUnknownSyncRationalesAndPurgeInBackground: queueing\r\n11-29 23:12:51.195: I/Gmail(7178): calculateUnknownSyncRationalesAndPurgeInBackground: running\r\n11-29 23:12:51.455: W/Bundle(7178): Key android.intent.extra.EMAIL expected String[] but value was a java.lang.String. The default value was returned.\r\n11-29 23:12:51.475: W/Bundle(7178): Attempt to cast generated internal exception:\r\n11-29 23:12:51.475: W/Bundle(7178): java.lang.ClassCastException: java.lang.String\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.os.Bundle.getStringArray(Bundle.java:1459)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.content.Intent.getStringArrayExtra(Intent.java:3630)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat com.google.android.gm.ComposeArea.initFromExtras(ComposeArea.java:620)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat com.google.android.gm.ComposeActivity.initFromExtras(ComposeActivity.java:1482)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat com.google.android.gm.ComposeActivity.finishOnCreateAfterAccountSelected(ComposeActivity.java:1020)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat com.google.android.gm.ComposeActivity.onCreate(ComposeActivity.java:259)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.app.ActivityThread.access$1500(ActivityThread.java:117)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.os.Handler.dispatchMessage(Handler.java:99)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.os.Looper.loop(Looper.java:130)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.app.ActivityThread.main(ActivityThread.java:3683)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat java.lang.reflect.Method.invokeNative(Native Method)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat java.lang.reflect.Method.invoke(Method.java:507)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat dalvik.system.NativeStart.main(Native Method)\r\n11-29 23:12:51.475: W/Bundle(7178): Key android.intent.extra.CC expected String[] but value was a java.lang.String. The default value was returned.\r\n11-29 23:12:51.475: W/Bundle(7178): Attempt to cast generated internal exception:\r\n11-29 23:12:51.475: W/Bundle(7178): java.lang.ClassCastException: java.lang.String\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.os.Bundle.getStringArray(Bundle.java:1459)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.content.Intent.getStringArrayExtra(Intent.java:3630)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat com.google.android.gm.ComposeArea.initFromExtras(ComposeArea.java:624)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat com.google.android.gm.ComposeActivity.initFromExtras(ComposeActivity.java:1482)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat com.google.android.gm.ComposeActivity.finishOnCreateAfterAccountSelected(ComposeActivity.java:1020)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat com.google.android.gm.ComposeActivity.onCreate(ComposeActivity.java:259)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.app.ActivityThread.access$1500(ActivityThread.java:117)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.os.Handler.dispatchMessage(Handler.java:99)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.os.Looper.loop(Looper.java:130)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat android.app.ActivityThread.main(ActivityThread.java:3683)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat java.lang.reflect.Method.invokeNative(Native Method)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat java.lang.reflect.Method.invoke(Method.java:507)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)\r\n11-29 23:12:51.475: W/Bundle(7178): \tat dalvik.system.NativeStart.main(Native Method)\r\n11-29 23:12:51.485: I/ActivityManager(96): Start proc android.process.acore for content provider com.android.providers.contacts/.ContactsProvider2: pid=7193 uid=10006 gids={3003, 1015}\r\n11-29 23:12:51.595: I/ActivityThread(7193): Pub user_dictionary: com.android.providers.userdictionary.UserDictionaryProvider\r\n11-29 23:12:51.615: I/ActivityThread(7193): Pub com.android.social: com.android.providers.contacts.SocialProvider\r\n11-29 23:12:51.615: I/ActivityThread(7193): Pub applications: com.android.providers.applications.ApplicationsProvider\r\n11-29 23:12:51.685: I/ActivityThread(7193): Pub contacts;com.android.contacts: com.android.providers.contacts.ContactsProvider2\r\n11-29 23:12:51.875: I/ActivityManager(96): Displayed com.google.android.gm/.ComposeActivity: +1s103ms (total +1s402ms)\r\n11-29 23:12:52.045: D/dalvikvm(167): GC_EXTERNAL_ALLOC freed 76K, 51% free 3112K/6343K, external 4674K/5001K, paused 139ms\r\n11-29 23:12:52.785: I/ActivityThread(7193): Pub call_log: com.android.providers.contacts.CallLogProvider\r\n11-29 23:12:53.005: D/szipinf(7193): Initializing inflate state\r\n11-29 23:12:56.595: D/dalvikvm(7178): GC_EXTERNAL_ALLOC freed 433K, 51% free 3033K/6087K, external 2074K/2137K, paused 54ms\r\n11-29 23:12:59.425: W/KeyCharacterMap(7178): No keyboard for id 131074\r\n11-29 23:12:59.425: W/KeyCharacterMap(7178): Using default keymap: /system/usr/keychars/qwerty.kcm.bin\r\n11-29 23:12:59.555: W/InputManagerService(96): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@40828398\r\n11-29 23:13:14.035: D/dalvikvm(6468): GC_EXPLICIT freed 8K, 49% free 3501K/6855K, external 1625K/2137K, paused 56ms\r\n{code}\r\n\r\nh5. Step o reproduces \r\n\r\n# Click on button share button \r\n# And Check \"TO\" input field \r\n\r\n", "attachment": [ { "id": "44275", "filename": "device-2013-11-29-232130.png", "author": { "name": "mrahman", "key": "mrahman", "displayName": "Mostafizur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "created": "2013-11-29T17:40:03.000+0000", "size": 51055, "mimeType": "image/png" } ], "flagged": false, "summary": "Android: Can't use the EXTRA_EMAIL property for adding recipients to mail", "creator": { "name": "nadavh", "key": "nadavh", "displayName": "Nadav Hoze", "active": true, "timeZone": "Asia/Gaza" }, "subtasks": [], "reporter": { "name": "nadavh", "key": "nadavh", "displayName": "Nadav Hoze", "active": true, "timeZone": "Asia/Gaza" }, "environment": null, "comment": { "comments": [ { "id": "285003", "author": { "name": "bijuexalture", "key": "bijuexalture", "displayName": "Biju pm", "active": true, "timeZone": "Asia/Kolkata" }, "body": "PR : - \r\nhttps://github.com/appcelerator/titanium_mobile/pull/5144", "updateAuthor": { "name": "bijuexalture", "key": "bijuexalture", "displayName": "Biju pm", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2013-12-18T09:56:54.000+0000", "updated": "2013-12-18T09:56:54.000+0000" }, { "id": "310158", "author": { "name": "pmishra", "key": "pmishra", "displayName": "Paras Mishra", "active": true, "timeZone": "Asia/Kolkata" }, "body": "EXTRA_EMAIL property is working as expected.\r\nClosing as fixed\r\n\r\nVerified the fixed on:\r\nTested on:\r\nDevice: LG-P970, Android version: 4.0.4\r\nSDK: 3.3.0.v20140619164112\r\nCLI version : 3.3.0-rc\r\nOS : MAC OSX 10.9.2\r\nAlloy: 1.4.0-rc\r\nACS: 1.0.14\r\nnpm:1.3.2\r\nLiveView: 1.0.4\r\nAppcelerator Studio, build: 3.3.0.201406171619\r\ntitanium-code-processor: 1.1.1\r\nXCode : 5.1.1\r\n", "updateAuthor": { "name": "pmishra", "key": "pmishra", "displayName": "Paras Mishra", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2014-06-20T09:49:24.000+0000", "updated": "2014-06-20T09:49:24.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }