NeoMAD 3.1.3 release notes

December 21, 2012

NeoMAD 3.1.3 is a maintenance release that brings some enhancements and addresses bugs of NeoMAD 3.1.2.

Enhancements

Localization

NeoMAD allows to build binaries containing several languages (using the -m option). At the execution time, the application will automatically use the language according to the phone settings.

Please refer to the NeoMAD User Guide for more information ($3.2.1.2 Language(s)).

Specific code

Add the <specificdefpath> and <specificimplpath> parameters in the URS. These parameters allow to choose the path of the folders containing the definition and the implementation of the platform-specific code.

Generic API

Application life-cycle

Add new methods that allows a better control of the application life-cycle: onBackground(), onForeground(), onActivated(), onDeactivated().

Downloads using HTTP

Add the HttpProgressListener interface that allows to listen to the progress of a download (in order to display a progress bar, for example).

Fixed bugs

Build chain

  • In the URS, do the constant substitution for the attributes in the <ios> tag (inside <signature>).
  • Fix the checking of the length of the license key.
  • Fix the packaging of the images for Android (the packaging was wrong when all the resources used in the project were images).
  • Fix the generation of data.res when the project contains no resource.
  • Fix the “Disable obfuscator” option (-o0). The obfuscation was not fully disabled when using this option.

Generic API for Android

  • Fix bug: a view added in the specific code disappears when the phone’s orientation changes.

Generic API for iOS

  • iOS 6 is now supported.
  • Fix a bug in TextLabel and ImageLabel: set them non-clickable by default.
  • Fix a bug in ComboBox: set a disabled graphic style.
  • Fix the setVolume() method in AudioPlayer.

Generic API for Windows Phone 7

  • Fix the default style of some UI components so that their background color can be overridden in the code.
  • Fix a bug in ComboBox: the index value given to onItemSelected() was wrong.