You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by "Erik Thomas (JIRA)" <ji...@apache.org> on 2013/01/29 20:25:12 UTC

[jira] [Updated] (FLEX-33371) On Android, changing orientation fires Event.DEACTIVATE and FlexEvent.VIEW_DEACTIVATE events

     [ https://issues.apache.org/jira/browse/FLEX-33371?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Erik Thomas updated FLEX-33371:
-------------------------------

    Attachment: AndroidDeactivateOnOrientationChangeDefect.zip

Unzip the attached project, start FB 4.7 and set your workspace to the directory where you put this. Open, build, debug on an Android device and watch the trace output to see that the bogus events are being fired as a result of a simple orientation change.

We've tested this on two phones and with release builds as well and our app just unloads on every orientation change because we are listening for the Event.DEACTIVATE to close sockets, etc. and unload the app. 
                
> On Android, changing orientation fires Event.DEACTIVATE and FlexEvent.VIEW_DEACTIVATE events
> --------------------------------------------------------------------------------------------
>
>                 Key: FLEX-33371
>                 URL: https://issues.apache.org/jira/browse/FLEX-33371
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: Mobile: MobileApplication
>    Affects Versions: Adobe Flex SDK 4.6 (Release)
>         Environment: Samsung Galaxy Express and Galaxy S III Android Phones, FlashBuilder 4.7 Premium on Windows 7, debugging through USB as well as deployed release builds, iPhone and iPad, but the problem doesn't exist on iOS devices, only Android
>            Reporter: Erik Thomas
>            Priority: Critical
>             Fix For: Adobe Flex SDK 4.6 (Release)
>
>         Attachments: AndroidDeactivateOnOrientationChangeDefect.zip
>
>
> Orientation changes on Android devices always fire the following events in this order:
> ViewNavigatorEvent.VIEW_DEACTIVATE
> Event.DEACTIVATE
> StageOrientationEvent.ORIENTATION_CHANGE
> The first two events are a defect. They must not fire simply because the user changed the orientation of the phone.
> The result of this defect is that we cannot do two very important things:
> 1. Use view state changes to hide/show layouts, using includeIn property on containers and components. On Android, components that are not included for a given state are destroyed yet they have state we want to maintain which is why we don't change Views.
> 2. We cannot know when the user navigates away from our application, for example to press the Home key. We have certain cleanup we must do in our complex connected app that streams FMS data, etc., and cannot keep sockets open for hours or days.
> On iOS, this is not a problem. Only Android has this bug and it's blocking us from releasing our product on Android. iOS does not have this defect.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira