{ "id": "92064", "key": "TIMOB-9285", "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": "13872", "description": "", "name": "Sprint 2012-16 Core", "archived": true, "released": true, "releaseDate": "2012-08-13" }, { "id": "14096", "description": "Release 2.1.2", "name": "Release 2.1.2", "archived": true, "released": true, "releaseDate": "2012-08-31" }, { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" }, { "id": "14162", "description": "Release 3.1.0", "name": "Release 3.1.0", "archived": true, "released": true, "releaseDate": "2013-04-16" }, { "id": "14166", "description": "2012 Sprint 21 Core", "name": "2012 Sprint 21 Core", "archived": true, "released": true, "releaseDate": "2012-10-22" }, { "id": "14273", "description": "2012 Sprint 21", "name": "2012 Sprint 21", "archived": true, "released": true, "releaseDate": "2012-10-22" }, { "id": "13496", "description": "Release 2.0.3", "name": "Release 2.0.3", "archived": true, "released": false } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2013-05-23T06:47:27.000+0000", "created": "2012-05-21T09:04:52.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "SupportTeam", "core" ], "versions": [ { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" }, { "id": "13272", "description": "Release 2.0.1", "name": "Release 2.0.1", "archived": true, "released": true, "releaseDate": "2012-04-16" } ], "issuelinks": [ { "id": "20141", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "90402", "key": "TIMOB-8768", "fields": { "summary": "Android: App restart required on first launch when installed from sdcard", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "57114", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "171712", "key": "TIMOB-26075", "fields": { "summary": "Android: Refactor app resume and \"newintent\" handling", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "29884", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "110469", "key": "TIMOB-12939", "fields": { "summary": "Android: Developer option \"do not keep activities\" cause Titanium apps to close", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2019-01-11T03:29:26.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" } ], "attachment": [ { "id": "30242", "filename": "crash-nexus7.txt", "author": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-01T20:16:42.000+0000", "size": 12206, "mimeType": "text/plain" } ], "flagged": false, "summary": "Android: Message \"An application restart is required\" fires incorrectly.", "creator": { "name": "paul h", "key": "paul h", "displayName": "Paul Hamilton", "active": true, "timeZone": "America/Havana" }, "subtasks": [], "reporter": { "name": "paul h", "key": "paul h", "displayName": "Paul Hamilton", "active": true, "timeZone": "America/Havana" }, "environment": "tested on HTC EVO API 2.3 and Galaxy Nexus API 4\r\nusing SDK 2.0.1.GA2", "comment": { "comments": [ { "id": "198108", "author": { "name": "tvfoodmaps", "key": "tvfoodmaps", "displayName": "Frank Apap", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This is happening to me a lot. I'm on a ICS phone and it's even worse then before. If I exit my app and then try to start it from the \"recent apps\" pull down this \"error\" occurs.", "updateAuthor": { "name": "tvfoodmaps", "key": "tvfoodmaps", "displayName": "Frank Apap", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-06-11T17:19:06.000+0000", "updated": "2012-06-11T17:19:06.000+0000" }, { "id": "202062", "author": { "name": "mofle", "key": "mofle", "displayName": "Sindre Sorhus", "active": true, "timeZone": "Europe/Oslo" }, "body": "Seriously, this is bad... Please prioritize this ticket!\r\n\r\nStill happening in Titanium SDK 2.1.0", "updateAuthor": { "name": "mofle", "key": "mofle", "displayName": "Sindre Sorhus", "active": true, "timeZone": "Europe/Oslo" }, "created": "2012-07-09T05:14:47.000+0000", "updated": "2012-07-09T05:14:47.000+0000" }, { "id": "202636", "author": { "name": "zane", "key": "zane", "displayName": "Zane Wright", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Recreating the home screen icon stops this alert from appearing. Doesn't fix the issue of launching from installer activity though.", "updateAuthor": { "name": "zane", "key": "zane", "displayName": "Zane Wright", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-07-11T07:38:28.000+0000", "updated": "2012-07-11T07:38:28.000+0000" }, { "id": "207766", "author": { "name": "tvfoodmaps", "key": "tvfoodmaps", "displayName": "Frank Apap", "active": true, "timeZone": "America/Los_Angeles" }, "body": "It appears that this issue can also cause a crash report:\r\nhttp://developer.appcelerator.com/question/139282/crash-reports-with-this-message#comment-132936\r\n\r\nI can't reproduce at will but have witnessed the stack trace seen in the above link occur after clicking OK on the restart message. ", "updateAuthor": { "name": "tvfoodmaps", "key": "tvfoodmaps", "displayName": "Frank Apap", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-07-16T11:56:35.000+0000", "updated": "2012-07-16T11:56:35.000+0000" }, { "id": "208817", "author": { "name": "dasher@computer.org", "key": "dasher@computer.org", "displayName": "David Asher", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This happens every time for my app, using 2.1 and 2.02. This does NOT happen when building under 1.8. \r\n\r\nMy first user after the app was posted found this bug, posted a comment and one star for my app. After five months of work this is tragic and I had to pull down the app. The fix that was introduced by Appcelerator, tiapp.xml settings, is shameful because it presents no acceptable solution for an end user experience. \r\n\r\nMy source code is open: https://github.com/mapocosm/Map-Explorer-Open\r\n", "updateAuthor": { "name": "dasher@computer.org", "key": "dasher@computer.org", "displayName": "David Asher", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-07-21T19:27:19.000+0000", "updated": "2012-07-21T19:27:19.000+0000" }, { "id": "208821", "author": { "name": "ttorimoto", "key": "ttorimoto", "displayName": "Taka Torimoto", "active": true, "timeZone": "America/New_York" }, "body": "Please get this fixed - a huge concern from clients - I am using 2.1.0 on a ICS 4.0 device directly installing an APK file - doesn't happen in the Emulator running Android 2.3.3. ", "updateAuthor": { "name": "ttorimoto", "key": "ttorimoto", "displayName": "Taka Torimoto", "active": true, "timeZone": "America/New_York" }, "created": "2012-07-22T08:19:26.000+0000", "updated": "2012-07-22T08:19:26.000+0000" }, { "id": "210304", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "h2. Discussion\r\n\r\nThis discussion serves as a little background on the infamous Android bug [2373|http://code.google.com/p/android/issues/detail?id=2373] (and its offshoots, bugs [5277|http://code.google.com/p/android/issues/detail?id=5277] and [26658|http://code.google.com/p/android/issues/detail?id=26658]) and describes:\r\n\r\na) What we've done in the past to help developers get around it,\r\n\r\nb) What the bug was that gave rise to this specific JIRA ticket, and\r\n\r\nc) A new option I'm providing to approach the handling of Android bug 2373 in, I think, a better way.\r\n\r\nh3. 2373 backgrounder\r\n\r\nMany of you will know this stuff already, but since so many people are following this JIRA ticket, I thought it might be worthwhile to hearken back to the original problem and give some background information.\r\n\r\n2373 is a \"bug\" that has been around for quite a while. I use scare quotes around \"bug\" because I think it's safe to say at this point that Google does not consider the behavior a bug, though I and many others certainly do.\r\n\r\nIn a nutshell, the bug manifests itself like this:\r\n\r\na) Your app is downloaded from the Play Store and installed (automatically) using the Installer app on the device.\r\n\r\nb) When the Installer app is finished, it shows an option to \"Open\" the app. Alternatively, if the installation was occurring in the background, you get a Notification when the installation is completed.\r\n\r\nc) If you then click \"Open\" in the Installer app to run your app right away (or, alternatively, select the Notification, which also launches it right away), your app's launcher Activity (that's defined in AndroidManifest.xml) gets started with flags 0x10000000. (I think that's the right number of zeroes. :-) )\r\n\r\nd) If you then put your app in the background, and later go back to it using the apps screen (i.e., _not_ the app history / recent apps list), your launcher Activity will then be started with flags 0x10200000.\r\n\r\ne) This difference in the flags will cause the launch from the apps screen to create a wholly new instance of your launcher Activity and put it on top of the Activity stack. Meanwhile, that first instance is still back there as well.\r\n\r\nThe fact that a second instance of your launcher Activity is created and shown to the user is considered a bug by many including myself. After all, it is definitely _not_ what a user would expect. Before backgrounding your app the first time, they may have gone \"deep\" into it (opening additional Activities, etc.) When they background it and go back to it using the apps screen, they expect to see exactly what they just left, not your launcher Activity all over again.\r\n\r\nIn Titanium's case, this bug means that app.js would get run twice. Of course you might do all sorts of setup work in app.js that you only want to do once and that might even be dangerous or buggy if done twice in the same application.\r\n\r\nSome native app developers apparently _don't_ care about this anomalous behavior. Presumably their startup code isn't dangerous if run twice. One example is Google itself with their Google I/O 2012 application (the [source code|http://code.google.com/p/iosched/] for which they have made available to the public.) If you install Google I/O 2012 from the Play Store and go through the steps I describe above, you'll see the 2373 behavior:\r\n\r\na) Install Google I/O 2012 from the Play Store.\r\n\r\nb) When done installing, launch it from the \"Open\" button shown to you by the Installer app, or by selecting the Notification if you get one.\r\n\r\nc) When it loads, you'll be presented with a screen to verify which Google ID you want to use for the app. Leave that screen there and background the app by touching the Home button/icon.\r\n\r\nd) Go back to the app using the apps screen (_not_ the list of recent apps).\r\n\r\ne) You'll again see the screen to select the Google ID to use for the app.\r\n\r\nf) Press the back button to back out of that screen.\r\n\r\ng) It will look like the back button didn't work, because you'll still see the screen to select a Google ID. In fact, what just happened was you backed out of the second instance of their home activity, only to land back on top of the first instance of it.\r\n\r\nIndeed if you look at the app's [source code|http://code.google.com/p/iosched/], you'll see that they didn't put any kind of special logic/handling in there to account for the 2373 anomalous behavior. It could be they don't think it's anomalous. But a lot of people do think it is.\r\n\r\nYou can see the same behavior with the Facebook app, by the way.\r\n\r\nh3. The original Titanium workaround\r\n\r\nOf course we have no control over which flags the Installer app sets on the Intent to launch your application. Our goal was therefore to provide you with a way to restart the app with the \"better\" Intent flags so that a second instance of your launcher Activity (i.e., app.js in Titanium parlance) wouldn't run when the user selected your app from the apps screen.\r\n\r\nWe considered the behavior anomalous enough to make forcing a restart the _default_ behavior in Titanium. Because it's obviously distracting to the user, we provided ways to disable the restarts (and thus \"live with\" 2373 behavior) or at least customize what you show the user to force the restart. These options are the [tiapp.xml properties|http://docs.appcelerator.com/titanium/2.1/index.html#!/guide/tiapp.xml_and_timodule.xml_Reference-section-29004921_tiapp.xmlandtimodule.xmlReference-Androidspecificsection] whose names begin with \"ti.android.bug2373\". \r\n\r\nh3. The bug in this JIRA ticket\r\n\r\nBeginning with Android 3.0, the Intent flags that are sent to start your Activity if your app is selected from the history / recent apps list are different than they were pre-3.0, and this fact messed up our logic that detects the 2373 condition. The result is that if your app is installed from the Play Store and started right away from the Installer or a Notification, and then the user backs out of your app and later goes back to it from the history list (a very common usage pattern, of course), they would see the \"Application restart required\" message _again_.\r\n\r\nI've fixed that by changing our detection logic.\r\n\r\nh3. A new approach to 2373 handling\r\n\r\nThe last thing we want is yet-another-2373-related-tiapp-property, but indeed I've introduced one now in the commits related to this ticket. I'm hoping this new property can give a near perfect user experience.\r\n\r\nThe goal of this new property (and the code that goes along with it) is to not bother the user at all, and at the same time not show the 2373 anomalous behavior. It works by simply putting this one 2373-related property in your tiapp.xml as such:\r\n\r\n{code}\r\ntrue\r\n{code}\r\n\r\nThis \"finishfalseroot\" (finish false root) property, if set to true, will mean your app will not need to be restarted when opening from the Installer/Notification, and then, when the 2373 anomalous behavior is detected -- namely, a new, second, unwanted instance of your launcher Activity comes into being if the user selects your app from the apps screen after backgrounding it -- the unwanted Activity is simply destroyed immediately (the native code calls {{finish()}} right away in the Activity's {{onCreate}} handler -- if you've followed the state of the art in suggestions provided in comments to bug 2373, you'll know about this approach.)\r\n\r\nBecause the Activity is destroyed immediately, the user won't even see any part of it. Meanwhile your app has also come forward, so what they _will_ see is where they last were in your app, which is precisely the behavior you want.\r\n\r\nSo once my commits are merged, I encourage those of you who are watching this ticket to use a new build from the [continuous build server|http://builds.appcelerator.com.s3.amazonaws.com/index.html] and try out this new property with your app(s).\r\n\r\nIf it seems stable and works as expected, I believe we would like to make it the default behavior in a future version.\r\n", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-07-27T15:38:04.000+0000", "updated": "2012-07-30T16:52:35.000+0000" }, { "id": "210305", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "h2. Testing Notes\r\n\r\nh3. Fail case / test case\r\n\r\nThese instructions use the ASTRO File Manager app as an easy way to get the Installer app to run when opening an .apk on stored on the sdcard. An alternative approach would be the dropbox app, or mailing yourself a link to an apk stored on the web. But these instructions will be for using ASTRO.\r\n\r\n1) Create any app in Titanium Studio.\r\n\r\n2) Build and install the app on a Honeycomb-or-later device. (The problem does not occur in Froyo or Gingerbread.)\r\n\r\n3) Uninstall the app from the device using (optional).\r\n\r\n4) Move the apk that you just built on to the /sdcard of the device. (This and the next few are steps that can be changed by you if you don't wish to use ASTRO to make the Installer app install the APK. The point is, you want the Installer to install the app.) For example: {{adb push build/android/bin/app.apk /sdcard}}.\r\n\r\n5) Using a file manager such as ASTRO to view your SDCard and select the .apk file you copied there. \"Open\" it (i.e., tap it in ASTRO) and select the option to Install.\r\n\r\n6) If you did not do step (3), you'll be asked if you're sure you want to replace the existing app. You are sure.\r\n\r\n7) Go through the Installer steps to install the app. At the end, do *not* select \"Done\", but rather \"Open\" so as to launch the app immediately.\r\n\r\n8) When the app launches you will see our \"app needs to be restarted\" (or whatever it says) warning and button. Tap the button to allow the restart to occur.\r\n\r\n9) After the app relaunches, just back out of it.\r\n\r\n10) Use the history/recent apps list to go back to the app (not the main apps screen, but the history/recent apps list). In the fail case scenario, you will _again_ be told that the app needs to be restarted. When testing the fix, this should *not* happen.\r\n\r\nh3. Test new option\r\n\r\nFor this test case, use KitchenSink since it has multiple activities.\r\n\r\n_This test should be done at least twice: once on a Froyo or Gingerbread device, and once on a Honeycomb or greater device_.\r\n\r\n1) Open the tiapp.xml for KitchenSink.\r\n\r\n2) Add this property:\r\n\r\n{code}\r\ntrue\r\n{code}\r\n\r\nand save the file.\r\n\r\n3) Use the steps from the above fail case instructions to build KS and put its APK file on the /sdcard, open it with ASTRO and start the Installer installing it. (Or use your preferred method of getting the Installer to start installing the KitchenSink .apk file.\r\n\r\n4) When the Installer is finished, don't click \"Done\", but rather \"Open\" so you run the KitchenSink app right away.\r\n\r\n5) When the app loads, you should *not* see the warning about needing to restart it.\r\n\r\n6) Go to the \"Base UI\" tab.\r\n\r\n7) Click \"Views\" to load the list of Views tests.\r\n\r\n8) With the Views test list showing, put the KS app in the background (either by tapping the Home button/icon or switching to another app using the history/recent apps list.) *Don't* back out of the app -- just leave it with the Views test list showing.\r\n\r\n9) Go back to KS by selecting it from the history / recent apps list. There should be no warning whatsoever, and you should be put right back to the Views test list, just as you left it.\r\n\r\n10) Again put KS into the background, leaving it sitting at the Views test list, just like step (8).\r\n\r\n11) This time, go back to KS using the main apps screen.\r\n\r\n12) Again, you should see no warnings whatsoever, and you should be put right back at the Views test list.\r\n\r\n13) In general, you should be able to use KS, put it in the background, bring it forward again, without any warnings or anomalies.\r\n", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-07-27T15:38:33.000+0000", "updated": "2012-07-30T16:54:50.000+0000" }, { "id": "210306", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "Pull request ready:\r\n\r\nhttps://github.com/appcelerator/titanium_mobile/pull/2651", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-07-27T15:41:09.000+0000", "updated": "2012-07-27T15:41:09.000+0000" }, { "id": "210373", "author": { "name": "tvfoodmaps", "key": "tvfoodmaps", "displayName": "Frank Apap", "active": true, "timeZone": "America/Los_Angeles" }, "body": "First, thanks for fixing this!\r\n\r\nSecond, how do we know what CI build has the change?", "updateAuthor": { "name": "tvfoodmaps", "key": "tvfoodmaps", "displayName": "Frank Apap", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-07-28T14:48:59.000+0000", "updated": "2012-07-28T14:48:59.000+0000" }, { "id": "210714", "author": { "name": "aevans", "key": "aevans", "displayName": "Arthur Evans", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Frank: When this fix is merged, this bug will be moved to the Resolved state. At that point, the next CI build should contain the fix. ", "updateAuthor": { "name": "aevans", "key": "aevans", "displayName": "Arthur Evans", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-07-31T10:34:56.000+0000", "updated": "2012-07-31T10:34:56.000+0000" }, { "id": "211147", "author": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Having issues running KS with the \"ti.android.bug2373.finishfalseroot\" set to true.\r\nAttached the log which includes the stack trace from the crash if you try backing out.\r\n\r\nDevice: Nexus 7 (Android 4.1)", "updateAuthor": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-01T20:18:14.000+0000", "updated": "2012-08-01T20:18:14.000+0000" }, { "id": "211163", "author": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This crash might actually be the same bug as TIMOB-10227.", "updateAuthor": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-01T21:32:34.000+0000", "updated": "2012-08-01T21:32:34.000+0000" }, { "id": "211372", "author": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "body": "Testing should also include updating the app from the Play Store app. Right now, with SDK 2.1.0.GA and these TiApp.xml settings:\r\n\r\n true\r\n Initializing...\r\n\r\nwhen my app is updated from the Play Store app and then the user hits \"Open\", my app's splash screen appears, the \"Initializing...\" toast message appears, then the screen goes right back to the Play Store app. My app never starts.\r\n\r\nNote that doing a virgin install of my app via the Play Store app, then hitting \"Open\" starts my app correctly.", "updateAuthor": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "created": "2012-08-03T05:43:41.000+0000", "updated": "2012-08-03T05:43:41.000+0000" }, { "id": "213179", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR for 2_1_X ready:\r\n\r\nhttps://github.com/appcelerator/titanium_mobile/pull/2689", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-08-07T11:14:48.000+0000", "updated": "2012-08-07T11:14:48.000+0000" }, { "id": "213965", "author": { "name": "mvinayakam", "key": "mvinayakam", "displayName": "Vinayakam", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Any update on this. I am still facing this issue on Samsung Galaxy 10.1 with SDK 2.1.0 GA.\r\n\r\n true\r\n 500\r\n 0\r\n true\r\n Initializing\r\n Restart Required\r\n Continue\r\n\r\nThe finishfalseroot doesn't seem to have any effect.\r\n", "updateAuthor": { "name": "mvinayakam", "key": "mvinayakam", "displayName": "Vinayakam", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-12T20:40:47.000+0000", "updated": "2012-08-12T20:40:47.000+0000" }, { "id": "213966", "author": { "name": "iotashan", "key": "iotashan", "displayName": "Shannon Hicks", "active": true, "timeZone": "America/Chicago" }, "body": "Vinayakam: If you look at the ticket status, it's fixed in 2.1.2 and 2.2. You can try the CI build if you need the fix sooner rather than later.", "updateAuthor": { "name": "iotashan", "key": "iotashan", "displayName": "Shannon Hicks", "active": true, "timeZone": "America/Chicago" }, "created": "2012-08-12T21:08:49.000+0000", "updated": "2012-08-12T21:09:13.000+0000" }, { "id": "214260", "author": { "name": "mvinayakam", "key": "mvinayakam", "displayName": "Vinayakam", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I'm sorry for not specifying the problem correctly. Even with SDK 2.1.0 earlier, after using special properties I wasn't seeing the popup but a black screen shows up after the initial splash screen. \r\n\r\nEven with the latest Mobile SDK build, I am seeing the same behaviour\r\n\r\nhttp://builds.appcelerator.com.s3.amazonaws.com/mobile/2_1_X/mobilesdk-2.1.2.v20120813164609-win32.zip", "updateAuthor": { "name": "mvinayakam", "key": "mvinayakam", "displayName": "Vinayakam", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-13T22:27:25.000+0000", "updated": "2012-08-13T23:52:33.000+0000" }, { "id": "214353", "author": { "name": "coolone3000", "key": "coolone3000", "displayName": "Chris Carranza", "active": true, "timeZone": "America/Chicago" }, "body": "I implemented this fix on the latest version of my app and it did the trick. So glad that headache is over.\r\n\r\nI used the 2.1.2 ci build along with the true", "updateAuthor": { "name": "coolone3000", "key": "coolone3000", "displayName": "Chris Carranza", "active": true, "timeZone": "America/Chicago" }, "created": "2012-08-14T10:43:32.000+0000", "updated": "2012-08-14T10:43:32.000+0000" }, { "id": "214354", "author": { "name": "mvinayakam", "key": "mvinayakam", "displayName": "Vinayakam", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hello Chris\r\n\r\nI am not seeing a restart needed popup anymore but I still see a black screen after the splash screen. Are you seeing anything of this sort?", "updateAuthor": { "name": "mvinayakam", "key": "mvinayakam", "displayName": "Vinayakam", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-14T10:49:37.000+0000", "updated": "2012-08-14T10:49:37.000+0000" }, { "id": "214366", "author": { "name": "coolone3000", "key": "coolone3000", "displayName": "Chris Carranza", "active": true, "timeZone": "America/Chicago" }, "body": "Vinayakam,\r\n\r\nI haven't noticed any black screen from my app. Do you have any of the previous properties still in your tiapp.xml? Like these:\r\n\r\ntrue\r\n500\r\n0\r\ntrue\r\nInitializing\r\nRestart Required\r\nContinue\r\n\r\nAll i have is the new property true along with the new ci build. Maybe one of the previous properties is interfering. ", "updateAuthor": { "name": "coolone3000", "key": "coolone3000", "displayName": "Chris Carranza", "active": true, "timeZone": "America/Chicago" }, "created": "2012-08-14T11:09:36.000+0000", "updated": "2012-08-14T11:09:36.000+0000" }, { "id": "216135", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified setting the property works with SDK 2.1.2.v20120824144611 and:\r\nmac:\r\nLion: Android 2.2.x, 4.0.x, 4.1.x\r\nMountain Lion 2.3.x, 3.1, 3.2, 4.0.x, 4.1.x\r\nLinux:\r\nAndroid 2.2.x, 3.2.x, 4.0.x, 4.1.x\r\nWin 7:\r\nAndorid 2.2.x, 2.3.x, 33.1, 4.0.x, 4.1.x\r\n", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-25T19:23:54.000+0000", "updated": "2012-08-25T19:23:54.000+0000" }, { "id": "216528", "author": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "body": "In [this Q&A|http://developer.appcelerator.com/question/121201/titanium-studio-android---an-application-restart-is-required-and-also-mcafee-blocking-the-studio-from-building-into-emulator#answer-246128], the user reports that after restarting, in-app billing can't connect. In-app billing only works when launching from the icon, not from the installation screen. Using 2.1.1.GA.\r\n", "updateAuthor": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "created": "2012-08-28T12:35:49.000+0000", "updated": "2012-08-28T12:35:49.000+0000" }, { "id": "216622", "author": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "body": "@Shawn - Thanks for the update. Would you mind opening another ticket for this issue as it is related to in-app billing? ", "updateAuthor": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-28T16:00:43.000+0000", "updated": "2012-08-28T16:00:43.000+0000" }, { "id": "216744", "author": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "body": "Neeraj, I will suggest to the reporting user that he file a JIRA ticket. I'm not having this problem (although I'm also not doing in-app purchasing in an active app right now).", "updateAuthor": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "created": "2012-08-29T06:43:48.000+0000", "updated": "2012-08-29T06:43:48.000+0000" }, { "id": "216788", "author": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "body": "@Shawn - Thanks.", "updateAuthor": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-29T09:17:21.000+0000", "updated": "2012-08-29T09:17:21.000+0000" }, { "id": "222826", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Reopening to edit labels. Bill this needs a backport to 2_0_X. Can you give an ETA on when that could be done?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-10-10T00:13:26.000+0000", "updated": "2012-10-10T00:13:26.000+0000" }, { "id": "222895", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "2_0_X PR ready https://github.com/appcelerator/titanium_mobile/pull/3149", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-10-10T12:06:40.000+0000", "updated": "2012-10-10T12:06:40.000+0000" }, { "id": "223469", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR merged. Resolving issue.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-10-14T13:17:50.000+0000", "updated": "2012-10-14T13:17:50.000+0000" }, { "id": "230331", "author": { "name": "lokeshchdhry", "key": "lokeshchdhry", "displayName": "Lokesh Choudhary", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Verified using the two scenarios mentioned by Bill Dawson & the app behaves as it should in the fixed case.\r\nTitanium studio : 3.0.0.201211301903\r\nSDK Version : 3.0.0.v20121204154658\r\nCLI version : 3.0.19\r\nOS : OSX 10.8.2\r\nAndroid 4.0.4 galaxy s3\r\n ", "updateAuthor": { "name": "lokeshchdhry", "key": "lokeshchdhry", "displayName": "Lokesh Choudhary", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-12-06T23:27:10.000+0000", "updated": "2012-12-06T23:27:10.000+0000" }, { "id": "238824", "author": { "name": "jsgalloo", "key": "jsgalloo", "displayName": "Jean-Sébastien GALLOO", "active": true, "timeZone": "Europe/Berlin" }, "body": "Got the same problem using Ti 3.0.0GA...\r\nfixed by using the previous trick in TiApp.xml\r\ntrue\r\n500\r\n0\r\ntrue\r\nInitializing\r\nRestart Required\r\nContinue", "updateAuthor": { "name": "jsgalloo", "key": "jsgalloo", "displayName": "Jean-Sébastien GALLOO", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-02-18T16:07:40.000+0000", "updated": "2013-02-18T16:07:40.000+0000" }, { "id": "238825", "author": { "name": "jsgalloo", "key": "jsgalloo", "displayName": "Jean-Sébastien GALLOO", "active": true, "timeZone": "Europe/Berlin" }, "body": "and this before, i forgot:\r\ntrue", "updateAuthor": { "name": "jsgalloo", "key": "jsgalloo", "displayName": "Jean-Sébastien GALLOO", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-02-18T16:08:51.000+0000", "updated": "2013-02-18T16:08:51.000+0000" }, { "id": "251886", "author": { "name": "dsbenson", "key": "dsbenson", "displayName": "Doug Benson", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Lanica is seeing very similar behavior on Android with 3.1.0GA:\r\n\r\nProblem:\r\nWhen installing the .APK over ADB there is no problem and there are no alerts given to the user.\r\nWhen installing the .APK by copying it to a folder on the device (as described above) then installing it from within that folder, user gets \"Restart Required\" message OR an immediate hang on launch.\r\n\r\nSteps:\r\nInstall APK by copying it to an \"sdcard folder\". Open the .apk from within that folder on the device.\r\n\r\na) the user is told to allow apps from unknown sources (as expected)\r\nb) the user is asked to approve the app access to various device services (as expected). \r\nc) the app installs. User is given choice of Done and Open\r\nd) *If choosing \"Open,\" the app returns an alert \"Restart Required\"* during the app splash screen.\r\n\r\nNOTE: Intermittently, some devices fail to display \"Restart Required\" and instead *hang during the initial splash screen.*\r\n\r\nFor devices that fail to launch: if the user subsequently uninstalls that .apk and then reinstalls it over ADB, the app will launch normally.\r\n\r\nNote that logcat references *issue 2373* (as described in previous comments):\r\n\r\nE/TiLaunchActivity( 3163): (main) [10,947] Android issue 2373 detected (missing intent CATEGORY_LAUNCHER or FLAG_ACTIVITY_RESET_TASK_IF_NEEDED), ", "updateAuthor": { "name": "dsbenson", "key": "dsbenson", "displayName": "Doug Benson", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-05-14T20:31:13.000+0000", "updated": "2013-05-14T20:31:13.000+0000" }, { "id": "251887", "author": { "name": "mlangston", "key": "mlangston", "displayName": "Matt Langston", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Lanica is seeing very similar behavior on Android with 3.1.0GA:\r\n\r\nProblem:\r\nWhen installing the .APK over ADB there is no problem and there are no alerts given to the user.\r\nWhen installing the .APK by copying it to a folder on the device (as described above) then installing it from within that folder, user gets \"Restart Required\" message OR an immediate hang on launch.\r\n\r\nSteps:\r\nInstall APK by copying it to an \"sdcard folder\". Open the .apk from within that folder on the device.\r\n\r\na) the user is told to allow apps from unknown sources (as expected)\r\nb) the user is asked to approve the app access to various device services (as expected). \r\nc) the app installs. User is given choice of Done and Open\r\nd) If choosing \"Open,\" the app returns an alert \"Restart Required\" during the app splash screen.\r\n\r\nNOTE: Intermittently, some devices fail to display \"Restart Required\" and instead hang during the initial splash screen.\r\n\r\nFor devices that fail to launch: if the user subsequently uninstalls that .apk and then reinstalls it over ADB, the app will launch normally.\r\n\r\nNote that logcat references issue 2373 (as described in previous comments):\r\n\r\nE/TiLaunchActivity( 3163): (main) [10,947] Android issue 2373 detected (missing intent CATEGORY_LAUNCHER or FLAG_ACTIVITY_RESET_TASK_IF_NEEDED),", "updateAuthor": { "name": "mlangston", "key": "mlangston", "displayName": "Matt Langston", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-05-14T20:36:59.000+0000", "updated": "2013-05-14T20:36:59.000+0000" }, { "id": "253600", "author": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing this issue again. When you load the app to the sd card and install it from there, it is expected behavior that the dialog comes up. It is essentially mimicking an install from the play store which is what the restart dialog is supposed to address. If the user doesn't want to use this, we have a tiapp.xml flag to disable it: 'ti.android.bug2373.disableDetection'.\r\n\r\nIf the restart is not working correctly, that is a different issue and a separate ticket should be filed for it. The purpose of this ticket is to address when we show the restart dialog.\r\n\r\n[~ dsbenson] and [~ mlangston], could you please file a separate ticket with relevant logs if you are still running into the issue? You can also link it to this ticket.\r\n\r\nThanks.\r\n", "updateAuthor": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-05-23T06:47:27.000+0000", "updated": "2013-05-23T06:47:27.000+0000" }, { "id": "445204", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This issue has been resolved in Titanium 8.0.0. Please see: [TIMOB-26075]", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-01-11T03:29:13.000+0000", "updated": "2019-01-11T03:29:13.000+0000" } ], "maxResults": 38, "total": 38, "startAt": 0 } } }