NeoMAD 4.4.4 release notes

February 12, 2018

NeoMAD 4.4.4 is a maintenance release proposing small enhancements.

Small enhancements

Runtime permissions for Android

Add automatic support of runtime permissions for Android. List of targeted APIs:

  • com.neomades.contact
  • com.neomades.barcode
  • com.neomades.media.Camera
  • com.neomades.location
  • com.neomades.io.file

NeoMAD configuration file

There were some improvents in the way the NeoMAD properties can be configured (file neomad.properties).

The configuration of NeoMAD is stored in the neomad.properties file which can be located at three different places:

  1. In the NeoMAD’s project directory beside the NeoMAD URS file.
    This file must be created by the user using the neomad.properties.template file from NeoMAD’s installation directory.
  2. In the NeoMAD’s installation directory.
    This file is created during the installation of NeoMAD and is filled using the values you chose during the installation process or with the NeoMAD plugin settings.
    It can be manually edited later with a text editor or directly with the plugin if the configuration must be updated.
  3. In the user home directory, inside a required .neomad directory:
    This file must be created by the user using the neomad.properties.template file from NeoMAD’s installation directory.
    • On Mac OS: /Users/username/.neomad/neomad.properties
    • On Windows: C:\Users\username\.neomad\neomad.properties

Note

Properties can be overridden in the command line see Neomad command line configuration properties.

These files and command line properties respect a priority order to select the needed property from prior to minor:

  1. Command line properties (see Neomad command line configuration properties)
  2. neomad.properties located in NeoMAD’s project
  3. neomad.properties located in NeoMAD’s installation directory
  4. neomad.properties located in user home directory

Keyboard Manager

com.neomades.app.Screen now offers the functionality to programmatically open or hide a Keyboard on a TextField or TextArea inside the screen.

Fixes

  • General
    • Fix a bug in the language order in generated binary name for multi-languages projects: sometime the language order changed between two builds.
    • Fix `FileStorage.getExternalApplicationDir(): it does not throw FileNotFoundException anymore.
  • Android:
    • Fix a NullPointerException that may occur in ProximityAlertBaseService.extractRegion().
    • Fix AutoCompleteTextField.setTextMode(TextMode mode): TextMode was not applied.
    • Fix NotficationManager.getCurrentId() that returned an empty string instead of null if the id cannot be found.
    • Fix URS <versionCode> tag default behavior to avoid compatibility issues with projects that did not use it. This will avoid installation issues on devices when installing a new version of an application while an older version is already installed. If you want to use the <versionCode> in an existing project that was already published, be sure to read the documentation Version Code to ensure compatibility.
  • iOS:
    • Fix NotficationManager.getCurrentId() that returned nil instead of null if the id cannot be found.
  • Windows:
    • Fix Location.distanceTo(Location destination) method that was always returning true.