Release Notes

Release Notes for the BFE Launcher Application

Release 3.24.11


Various updates to the Site List processing, including polling for changes to the list and setting default site ID. Updated the Secure Device Mode to disallow muting a device during the alarm. Support for new WS50 wearables. Fixes for various bugs and exceptions.


  • Added new "appConfigs" configuration object to hold other BFE app configurations.

  • Updated logic to allow Launcher to poll for site list updates when using the configuration "siteListUrl" setting.

  • Added configuration setting "siteListPollingIntervalMinutes" that indicates the interval for polling for site list updates. Default is 1440 minutes.

  • Added a null check for the keyManager usages in LauncherKeyManager.

  • Updated SupportToolLib to version 5.7.3.

  • Added WifiMac address to configuration extended attributes.

  • Updated Secure Device logic to listen for volume changes. Logic will reset volume so that device cannot be muted.

  • Added new theme configuration setting darkStatusIcons with default value of false. This allows for setting the status bar color based on config.

  • Added configuration setting "isWearableItem" to layout objects. This indicates that the item should be sent to the wearable launcher during login flow.

  • Added Launcher State replacer to application intents.

  • Added Launcher State replacer to criteria logic.

  • Updated the user layouts to use the Launcher state replacer logic.

  • Updated logic for wearable parsing and passing reduced information.

  • Fixed null pointer exception when the theme object is null.

  • Refactored application information logic to allow for building isWearable-only objects.

  • Added theme configuration folderTextColor to allow for changing the folder text color. Default value is #000000.

  • Fixed a null pointer exception within the wallpaper update logic.

  • Fixed the assets file observer to not monitor changes to the full SD card.

  • Updated the Header Banner Widget to only show login button if an Auth package is installed on the device.

  • Cleaned up the external host storage check. Added exception handler and moved logic to make it cleaner to read.

  • Added logic to ensure to controller being available during session expiration receiver.

  • Updated SiteLocationManager to use the configured "defaultSiteId" in the site list if the device is unable to automatically determine its current site. If "defaultSiteId" is set to "9800", the SiteLocationManager will look for the site list row that matches siteId = 9800.

  • Updated Default Site ID logic so that if the default site ID is not in the site database, it will create a default site information object using the default site ID value. This covers a corner case where site list CSV is not properly supplied.

  • Added logic to reload clearable packages at Clear Recents to ensure all clearable apps are accounted for, even if the Launcher is restarted.

  • Added the Launcher State Replacer to custom intent extras.

  • Added new option to use the user's current session PIN for the protected app feature. The configuration setting is "requirePinToLaunch."

  • Fixed the Manage All file permissions request logic on Zebra devices.

  • Removed the request for Managed Storage Permissions.

  • Added Japanese translations.

  • Updated persistent foreground app to be allowed in Open Zone and without the need for authentication within the controller.

  • Updated the Controller View Listener logic to ensure correct listener is being removed.

  • Added a try/catch around Samsung MultiUserManager use, as some Samsung devices do not support this mode.

  • Fixed issue where persisted app may interfere with re-authentication.

  • Changed the way the theme style was implemented in the AlertDialog. This fixes the OK button not being clickable in some instances.

  • Added null check within WidgetManager logic when processing widget parameter settings.

  • Updated logic during the device reboot, so that if the Launcher does not have a site it will invoke the site service logic.

  • Updated Login button display to hide the button if there is no launcher configuration on device.

  • Added additional checks for missing widget parameters.

Release 3.23.8


External auth layout support, fixes for icon shortcuts and intent filters.


  • Added ability for external auth modules to dynamically pass a layout with the user session.

  • Fixed issue where Launcher would not display icon images for shortcuts.

  • Fixed issue where intent filters are ignored.

Release 3.23.6


Extended Display support for Zebra Workstation Connect and Honeywell Desktop, Platform Service 2.x support, and Samsung Knox improvements for Android 13/OneUI 5.0.


  • Added ability to extend displays using Zebra devices with Zebra Workstation Connect.

  • Added ability to extend displays on Honeywell devices with Honeywell Extended Desktop.

  • Implemented Knox improvements for Android 13/OneUI 5.0:

    • Introduced new knoxSettings configuration section to allow for finer-grained control of Knox settings in Launcher.

    • Set ProKioskMode to true by default to prevent use of the Recents Application that contains unauthorized app links.

    • Made Bluetooth and Wifi settings accessible via configuration.

    • Improved device admin activation/Knox registration flow during initial startup.

  • Updated to support Platform Service 2.x:

    • Improved boot start-up time on Honeywell devices when using Platform Services 2.x.x.

    • Added ability to disable individual components of packages on Samsung and Platform-signed OEMs.

  • Updated disablePackages functionality to re-enable previously disabled packages when the disablePackages configuration is changed.

  • Added ability to re-enable all disabled packages when exiting Launcher from the admin page.

  • Updated browser shortcuts to display the specified browser's icon if the icon is not specified, instead of the default green Android icon.

  • Updated Widgets to validate the format of the colors provided and log a warning message when Launcher detects an incorrect color value.

  • Added information log when Launcher determines it needs to set itself as default launcher.

  • Added package verification for shortcut objects. If the specified browser is not present, the shortcut object will not be displayed.

  • Added intent resolution verification to the Action object. If the target package of the action is not present, the action object will not be displayed.

  • Added support for passing boolean extras in Custom Intents.

  • Fixed issue where BlueFletch Launcher is not able to scan on Zebra devices if it is already set as the default launcher.

  • Fixed issue where the session widget header on tablets is not customizable.

Release 3.22.31


Updated Secure Device mode to support external application monitoring of device cradle status. Various exceptions fixed.


  • Added isInSecondaryAuth key in the session extended attribute when a device is displaying the secondary auth screen.

  • Added logic to accept new config setting to allow external cradle monitoring apps to broadcast messages to override the cradle status.

  • Fixed an issue of already defined message variable in the controllers onLoginComplete.

  • Fixed the cradle monitor to only disable receiver when the user is logged in or device is charging.

  • Moved the external cradle monitor functions out of controller and into Secure Device Manager.

  • Merged functions for disabling Secure Device and external cradle deactivation.

  • Added method to get the Support Tool Settings array.

  • Created a new config section for Secure Device to define external cradle monitor settings.

  • Added logic to perform null check when getting the orgId from the configuration.

  • Fixed various exceptions for null pointers and bounds out of range.

  • Fixed an issue with the session widget where configuration change cannot set the background color.

  • Added the ability to override the log file upload endpoint if the Support Agent is not present.

  • Fixed issue where the location text is not cleared when useSiteInfoService is disabled after previously being enabled.

  • Reworked logic so that external cradle monitor does not keep Secure Device Mode from working correctly when dealing with a device that is cradled.

Release 3.22.25


Configurable Header Widgets, updated widget parameter configuration for flexibility, Persistent App feature.


  • Openzone and authorized screen header is now configurable indepent from theme and can support other widget header layouts.

  • Updated widget configuration to use a more flexible widgetParams object.

  • Support for custom intents in widgetParams widget configuration.

  • Added Persistent App feature that automatically starts an application if a certain session criteria is met, and is made persistent even when pressing the home button.

  • Added the ability to hide icons/folders from the workspace.

  • Added ability to tweak the row height for icons in the Launcher workspace.

  • Added ability to specify a certificate version when using the Auth Broker.

  • Added intent to force redownload of the launcher configuration file when using Managed Configuration.

  • Display an overlay screen during startup to prevent users from interacting with recent applications during long boot up cycles.

  • Added functionality to allow web applications to run custom Android intents through the Launcher by navigating to a URL.

  • Automatically grant permissions for EPM on supported devices.

  • Fixed issue where Launcher did not restart Auth properly if the user cancelled authentication.

  • Support for using criteria evaluation when running custom intents.

  • Fix issues related to Key Management.

  • Fixed issue in Motion Lock where the Android soft keyboard overlapped with the navigation icons.

  • Fixed issue where secure notifications did not disable the status bar on devices running Platform Service.

  • Fixed issue on some devices running Android 7.1 and below where it would not detect launcher.json configuration file updates in the /sdcard/Download/ems folder.

  • Fixed configuration QR code scan to download configuration file to application storage, not the /sdcard/Download folder.

Release 3.21.25


Improved error handling for theme and wallpaper configuration. Improved site change processing on network changes.


  • Added validation against theme configuration values to prevent wallpaper and theme exceptions.

  • Fixed site detection flow when different IP is recognized.

  • Fixed Launcher's re-authentication required screen to follow the currently configured theme.

  • Updated developer tools page to allow other apps to read the log level setting.

Release 3.21.21


Added ability to use device information (Model, Android version) within Implied Group logic. Added new intents to rotate Launcher to portrait or landscape. Various fixes for exceptions. Fixed reauth display during Lock In Motion.


  • Fixed a corner case exception when the current state object does not have the current configuration object.

  • Added a try/catch within the file downloader class to ensure that poorly formed URLs do not cause issues.

  • Created new Device Replacer object. Implied Groups now utilizes the replacer.

  • Updated WidgetManager and Custom Field determinator to utilize the new Device Replacer logic.

  • Fixed the Custom Intent Worker unit test.

  • Updated the controller state processing to always check for reauth required. Regardless of the state of the device, if reauth is required, the reauth UI will be displayed within Launcher.

  • Fixed logic on Honeywell devices to keep default launcher enabled and make the recents activity available after Android 11.

  • Fixed logic on Honeywell devices to keep the current device brightness setting during provisioner runs.

  • Added an overlay screen to Launcher during initialization to prevent users from interacting with the device at boot.

  • Updated Custom Intents to handle rotation requests.

  • Fixed a corner case exception with notification updates.

Release 3.21.15

Released September 2023


Changed the Lock In Motion behavior to require the user to click a button to exit Lock In Motion display, and added a method to allow for manually entering Lock In Motion display. Additional localization support for fr-ca.


  • Added an internal action to allow for displaying a shortcut for turning on Lock In Motion.

  • Updated the Launcher Activity to allow it to turn off Motion Lock via a button click.

  • Updated the Motion Lock logs to indicate if a manual enter or exit occurred.

  • Added Motion Lock exit button to other layout formats.

  • Updated the Motion Lock feature to force user to select exit in order to get out of the Motion Lock feature.

  • Updated Exit Motion Lock button to match Login button theme logic.

  • Updated Asset Manager assets permissions to included the Chat application.

  • Added localization support for fr-ca language.

  • Updated the Crash Handler AAR to version 3.0.1.

Release 3.21.12

Released September 2023


Logic added to monitor for assets that have not been loaded, ignore Draw Over permission checks on Zebra devices, added logic to wait for MX Services to start during device boot, and various other fixes.


  • Updated the EMDK Platform usage to wait till the EMDK / MX services indicate they are ready for usage.

  • Added a check for a null NFC adapter to prevent crashes on devices that do not support NFC.

  • Updated the Launcher Activity to recognize there is a missing logo file.

  • Added special file observer processing to monitor assets that have not been downloaded.

  • Added an intent flag during logout to override auth verification screens, if present.

  • Within the Draw Over permissions check, if the device is a Zebra device, will ignore the check.

  • Fixed a corner case issue during device boot where notifications pull down gets re-enabled. The controller is unaware of device state, therefore was not attempting to disable.

Release 3.21.6

Released August 2023


Changed the No Configuration file UI to be less obtrusive. Fixed the Site List loading. Various fixes and changes for performance.


  • Added logic to check for null folder contents during folder render to fix an exception.

  • Updated the logic for Configuration missing display, using widget support.

  • Added Implied Groups settings for no external launcher configuration file.

  • Updated the Controller to handle setting configuration extended attribute for no external configuration file.

  • Added logic to reset the session group object if there is an external configuration file.

  • Added attribute to center the text within the Text Widgets.

  • Fixed the string resource name and text for the no configuration file message.

  • Added a new Resources String replacer helper to use for including strings into widgets.

  • Added default group for no configuration file loaded onto file.

  • Added implied group to display the no config files widget.

  • Added the Resource String replacer to the Widget rendering logic.

  • Updated the column span to 10 on the No Configuration widget.

  • Updated the Site List database insert method to return the row number.

  • Updated the Controller to not load the configuration from database multiple times, which improves performance.

  • Refactored the Site Processor to be a instantiated object, not static methods. This makes it easier to create unit tests.

  • Added logic to run the Site Load logic once.

  • Changed the Site Info Loader logging to be verbose, to reduce the logged data.

  • Removed reference to Robolectric.

  • Added Powermock packages to the Site Location service project to begin work on unit test cases.

  • Updated the Site logic logging messaging text.

  • Added additional null checks in the Controller life cycle processing.

  • Added configuration assign for Implied Group settings.

  • Fixed the implied group merge function to prevent provider errors.

  • Added logging statement for SiteId and Site Name being set.

  • Updated the configuration manager to return the in-memory config object and not read the database on getConfig calls.

  • Fixed corner case issue where notifications pull down were getting re-enabled during device reboot while using the setting hideNotificationsOpenZone.

  • Placed a try/catch around provider writes. This will handle situations when bad json files are supplied.

  • Cleaned up Configuration Manager add extended attribute add logic.

Release 3.20.14

Released July 2023


Luggage Tag logging and logic refactor. Various fixes and enhancements.


  • Updated EMDK settings to disable notifications settings on Android 11.

  • Added try / catch around package manager method that throws exception.

  • Updated password dialog entry to display the keyboard when the dialog is used.

  • Added some additonal permissions to the manifest.

  • Updated the Controller to log some addtional information regarding Luggage Tag use.

  • Changed the network usage within Luggage Tag and added test for ethernet connection.

  • Refactor logic within the Luggage Tag manager.

  • Fixed formatting in text widget for long titles.

  • Added Wallpaper checksum null check.

  • Updated the individual platform classes to return from the enable Wifi method.

  • Upgraded the Key Manager library to 1.0.8, to resolve an exception.

  • Add BrowserRestrictions object to configuration for browser allow/block lists.

Release 3.20.12

Released July 2023


Support for Samsung Remote control, various fixes, updates for Wallpaper processing, updates to the Implied Groups feature.


  • Fixed a corner case issue in Lugguage Tag if unable to unable to determine the SSID, then will start the timer.

  • Moved Remote Control Settings to its own configuration section.

  • Added configuration enums for Remote Control settings.

  • Added logging within Samsung platform logic.

  • Added error handling around some Samsung APIs to prevent unexpected crashes on older Samsung devices.

  • Added Samsung Knox version checks on some methods.

  • Added check for Android 12 or higher to prevent putting luggage tag lock at top of screen.

  • Added Remote Control host to settings.

  • Fixed File Downloader to return from download processing if malformed URL.

  • Added logging to the On Asset Change notification, so will know when asset loading is completed.

  • Changed grant permissions logic to reuse the existing Asset Manager object.

  • Updated the Asset Manager with additional logging.

  • Removed the dependency on Configuration Manager within Asset Manager. The Asset Manager now keeps a weak reference to the configuration object instead of requesting it.

  • Added a Configuration Manager read within a corner case during download of assets.

  • Added null check when looking at Authorized clients in asset processing.

  • Added motionlock app list to launcher state.

  • Added motionlock apps to the UI.

  • When the File Manage permission is completed, touch files within the Download directory to process files, if they exist.

  • At boot time (Launcher start), touch files needed by Launcher to make file observer check for differences.

  • Updated Knox platform setup to support key injection.

  • Added Knox Event processing for Key events and Motion events.

  • Added comments to key injection for Samsung. Updated the logic to invoke the injection in another thread, as to ensure no conflict with the main threads.

  • Added the Playbook Agent to the clear package exclusions.

  • Added Playbook Agent to package resolver logic.

  • Added logic to request the Manage All External permissions on Android 13 and above.

  • Added configuration entries for cacheUserEnabled and cacheUserExpirationInDays.

  • Changed the cache expiration to use 'Hours' instead of 'Days'.

  • Added new Knox security permission.

  • Added the ability to run config and session replacement on widget options.

  • Added additional logging around wallpaper logic.

  • Fixed the secure device snooze behavior to sound alarm immediately after snooze duration timeout.

  • Added a configuration option for max snooze count, default = 1. After max snooze count is reached, user will no longer be able to snooze the secure device alarm.

  • Changed the secure device notification text to display minutes and seconds if timer duration is greater than 60 seconds.

  • Updated the Theme Configuration object to have a true isEqual method.

  • Fixed an issue where certain tablets on landscape with 240dpi do not show the correct number of columns.

  • Updated the impliedGroups feature to support AND and OR type matching criteria.

  • Updated Controller to always call Wallpaper service when assets have changed. Let the service determine if a change has occurred that it needs to deal with.

  • Added logic to check for a running Wallpaper service. If one is running, do not start another one.

  • Added logic to save off the last Wallpaper image and checksum of the image, if a local file. Use that information on next service run to see if there is a change in wallpaper asset information.

  • Added logic to test if the Wallpaper file has changed.

  • Updated the Support Library for logging on Android 13.

Release 3.19.21

Released June 2023


Allow for manual site selection to utilize an external site activity. Updated Patterns processing to use settings within Custom Intents.


  • Refactored Custom Intents into a worker class so that it can be utilized in other places.

  • Added new Custom Intent value replacer routine to support scanning.

  • Added support for Pattern Scan objects within Custom Intents.

  • Added support for Patterns setting of 'unrestricted' which allows search activity to look at all applications installed on the device for a match.

  • Updated application install logic to grant special permissions to BlueFletch applications after an application install.

  • Added externalManualSiteSelect configuration for defining and starting manual site selection.

  • Added checking for packageName and activityName for externalManualSiteSelect.

  • Updated logic to use externalManualSiteSelect instead of the Site Processor.

Release 3.19.15

Released May 2023


New feature for "Implied Groups" inclusion and general fixes.


  • Fixed the progress dialog display to not display information if the Launcher is in the background.

  • Changed the Honeywell Platform to not invoke progress status display on all invocations.

  • Updated the Auth Manager logout to check if current user is the Admin user. If so, do not invoke the Auth APK logout.

  • Added more logging when receiving messages from Honeywell Platform.

  • Added logic to track the last action invoked within Honeywell Platform requests.

  • Changed logging for Honeywell intents to verbose.

  • Fixed the use of the mqttPassword for non-BlueFletch MQTT Brokers.

  • Updated Honeywell Platform support to set EMS application permissions.

  • Added new auth_ldap_connections section in the configuration.

  • Added the ability to apply an "implied group" based on a matching regex pattern.

  • Updated Key Management receiver to include application context to resolve a potential application exception.

  • Updated Key Manager to ensure initialized.

  • Updated Key Manager instance constructor to use the application context.

Release 3.19.10

Released April 2023


Various fixes. Added new layout setting configuration, pageWidthOffsetOverride, to allow for overriding the calculated page width.


  • Fixed a crash in Asset Manager if the configuration file is not present.

  • Added additional re-auth logging.

  • Added a check for a possible race condition within the re-auth processing.

  • Updated the re-auth screen on/off logic to look at the dream start/stop state.

  • Updated the EMDK Platform XML to not disable settings on EMDK 11.3.

  • Fixed the Action intent logic to build a component name object if the layout action object includes a package name and an activity.

  • Added logic to set the Device Token to empty string if unable to delete the token.

  • Fixed an issue where Launcher is compressing icons on lower density screen devices.

  • Added logic to test the key guard setting to determine if the screen can be unlocked for re-auth.

Release 3.19.4

Released March 2023


Fixed the Luggage Tag password display, fixed the Site Information services for cellular-only devices, and changed the reauthorization flow display of Launcher.


  • Fixed Notification Manager reset logic to reset some additional flags.

  • Added a reset timer method to the Auth Manager to allow the controller to reset auth timers when the screen turns on.

  • Updated the reauth logic to start the Auth Verification activity when the screen is turned off.

  • Added new flag to control the reauthentication flow during screen on / off. secondaryAuthWhenScreenOff is defaulted to true, therefore the secondary auth will be displayed during screen off, not during screen on. This will keep application task list the same, not bringing launcher to foreground.

  • Calculate view after starting auth for screen off re-auth logic.

  • Added logic to force the Auth Verify screen to display on screen on.

  • Fixed the Luggage tag password display.

  • Removed the text color overrides.

  • Updated logic such that BlueFletch Browser (and other BlueFletch apps) will be re-granted permission to assets in case they get cleared during logout.

  • Updated the EMDK settings enable/disable notification Quick Action tile.

  • Fixed the Site Location processing for Cell Only devices if a site is found.

  • Updated the Site Info service logic to look for cellular being enabled.

Release 3.18.16

Released February 2023


Updates for Samsung Knox support, and changes to allow overriding the Secure Device alarm sounds.


  • Changes to support to allow task switching on Samsung devices. Can only be enabled after exiting Launcher or factory resetting.

  • Added new Support Agent configuration for LowBattery sound.

  • Updated the Unsecured Device feature to allow for custom sounds to be used for entry sound and for count down sound.

  • Refactored the Secured Device alarm logic to handle snooze and sounds properly.

  • Added new Support Agent FindMe volume fields.

  • Added new 'settings' to the Support Agent configurations, so common settings can be added more easily.

  • Updated the Secured Device notification message to include a count down of number of seconds until the alarm is sounded.

  • Updated Secured Device feature to display the snooze button during the first notification message indicating that login is needed.

  • Fixed Secure Device logic to ensure asset override exists.

  • Changed the priority on the notification to default so that the Android notification sound is not made.

  • Updated the Asset Manager to validate existence of assets.

  • Updated Secure Device logic to not update the tray notification, as causes issues on some devices.

  • Fixed the icon action image.

  • Updated Secured Device logic to loop the override count down effect.

Release 3.18.10

Released February 2023


Full implementation of Key Management device token support, added feature to enforce unique logins across an organization's fleet of devices, various fixes and performance improvements.


  • Added the unique login/forced logout feature.

  • Updated DevTools theme to match base launcher.

  • Added stopVisibleTasks configuration setting for Platform Service 1.3.x.

  • Fixed usage of EmsPackageResolver in DevTools to be able to upload auth and messaging logs from Launcher.

  • Fixed widget display bug where the last app is bumped to the next page due to one of the apps being set as a quickStartFolder.

  • Added UniqueLogin settings section in Launcher configuration.

  • Fixed the site logic to skip the location lookup for an existing site, but added logic to continue processing the saving of site meta data.

  • Fixed the site database check to properly test for the no sites error condition.

  • Fixed UI spacing issues caused by language translations.

  • Updated the Key Manager alarm to use RTC_WAKEUP, to wake the device up during refresh logic.

  • Changed the signature checking within key provider to use code instead of being defined in the manifest.

  • Fixed a bug to allow redrawing Launcher for Badge Updates.

  • Fixed a bug that the last application on a page was placed on the next UI page.

  • Updated Launcher API requests to include the Organization Id. This is to allow for validation of requests.

  • Removed the API Key usage within file downloader and added Device Token to the request.

  • Moved the Device Token setting to be within the resource, in case there is the off chance the device is off network when publishing.

  • Updated the messaging to send the Device Id within the request.

  • Updated the Launcher key management device token refresh logic to use the expiration value from the original generated key.

  • Updated the Key Management flow to run on configuration load.

  • Added a flag to setupKeyManagement to only attempt asset downloads on configuration change.

Release 3.17.38

Released January 20, 2023


Additional debug logging and icon fix for Nokia devices.


  • Added additional logging during workspace drawing, to allow for better researching of draw issues.

  • Added changes for icon drawing on Nokia devices.

Release 3.17.32

Released December 12, 2022


Various fixes for DozeMode settings, Widget display, and Platform Service usage.


  • Updated the Permissions Manager to whitelist Messaging and Remote Control from DozeMode. Also updated to give Voice application System Draw permissions.

  • Added logic to track the columns and rows being populated by widgets and applications in order to display correct locations.

  • Fixed an issue where Launcher is unable to find the Platform Service when it is installed via EMM.

Release 3.17.29

Released Decemeber 5, 2022


Release of the new widget display logic. Widgets supported include notifications, text, and native.


  • Added Notification widget (requires notification access).

  • Added Text widget support.

  • Added Native widget support.

  • Updated handling for Notification Badges.

  • Added support to include User installed applications in Launcher pages. Requires using configuration includeUserApps, userAppInstallCutoffTime and authorizedAppStores.

  • Added ability for user to long press an application in order to delete, if the application is user installed.

  • Added Android 12 support.

  • Updated the Knox Platform license initialization.

  • Deprecated the "messe" wallpaper.

  • Updated the Asset Manager to include user-installed certificates during download.

  • Fixed an issue where Launcher would crash if a notification's pending intent is empty.

  • Upgraded the dependencies and target SDK to 32.

  • Added the ability to customize the notification badge color and search app icon.

  • Updated logoff flow to ensure Support Tool knows which user is being logged off.

  • Added file creation monitor against /sdcard/Download/ems in case Launcher is started before ems folder is created.

  • Improved layout support for WT6300 devices.

  • Added additional event logging for motion lock enter/exit.

  • Improved motion tracking when using GPS for motion lock.

  • Fixed an issue with Knox and Honeywell (non Platform Service) where recently launched apps are not cleared.

  • Added logic to verify and reprocess Launcher assets when used in a shortcut.

  • Fixed issue where Launcher crashes when switching to Debug logging on Android 12 devices.

  • Updated various language translations.

  • Made additional enhancements to improve memory performance.

  • Changed the BadgeListener to use the new NotificationDataManager.

  • Fixed crash on Android 12 due to PendingIntent changes.

  • Fixed layout issues and inconsistencies with Android 11 and higher-resolution devices.

  • Update logic to prevent initializing condition on Knox license activation errors if configuration is not found.

  • Fixed layout issues and inconsistencies with Android 11 and above for tablets.

  • Fixed workspace to use the standard icon size unless overridden with the iconSize configuration.

  • Fixed the Asset Manager to remove a crash condition. It appears that during Launcher startup the internal 'Files' path is not available.

  • Fixed the default options for text widgets. Added a check to redraw widgets on options change.

  • Added changes for Key Management functionality.

  • Enclosed provider query in a try/catch to prevent possible crash if stored data is incorrect.

  • Added additional logging around configuration / managed configuration download to assist with troubleshooting.

  • Added ability to customize the Notification Badge Color and the Search Icon.

  • Added a new file creation monitor to see if the base downloads file exists. Once the file exist, will start the file observer.

  • Added verifyIdpOnReauth flag to call back to the IDP during reauthentication.

  • Fixed the KNOX Clear Recent Tasks logic to reset the clearing processing flag.

  • Added logic to stop the file observer creation monitor if using EMM managed configuration URL.

  • Added logic to use trusted certs on download for assets and managed configuration.

  • Added an Applog event for MotionLock enter and MotionLock exit.

  • Refactored the MotionLock GPS Assist logic to account for empty or repeating location speed values. Added a secondary speed calculation to ensure device is not moving. Added additional logging.

  • Fixed an issue to better estimate execution time if custom intents contains a delay intent.

  • Added prevent doze (battery optimization) mode settings.

  • Updated PermissionsManager to turn off battery optimization for the Support Tool.

Release 3.16.22

Released October 14, 2022


Launcher has been updated to read a new format of QR Code to allow for easier provisioning of devices. Also updated support for additional locales: Italian, Latvian, Romanian, Slovenian, Swedish, and Serbian.


  • Added logic to read new QR Code data format to apply Launcher configuration file to a device.

  • Updated Launcher text translations for IT, LV, RO, SL, SR, and SV.

  • Added cradleSyncMode configuration setting.

Release 3.16.20

Release October 5, 2022


Update to allow for subscriptions to email updates.

Release 3.16.19

Release October 4, 2022


Updates to Support Application interaction at Launcher startup and during Support Agent installation.


  • Fixed a check within Secure Notifications to ensure the prefix inclusion/exclusion list has data, and that the data values are not null.

  • Added a check for null package name when processing Asset Manager grant logic, in the situation where the application is not installed on the device. Reduces the noise in the device logs.

  • Added null config check in device id intent logic for a corner case issue where the current state object does not have the current configuration. Resolves a device boot issue that caused Launcher to throw an exception.

  • Updated the post-install logic to invoke the Support Agent permissions, then properly start Support Application.

  • Updated the initialize logic to properly start the Support Application.

Release 3.16.15

Released September 15, 2022


Changes to when Site Location is processed and updates to Asset Manager usage.


  • Added new custom intent to support prelogin.

  • Fixed issue where EMS Packages would lose permissions when clearAppDataOnLogout is true.

  • Fixed issue where Lock In Motion is still active even after configuration is turned off.

  • Updated the Site Location Manager to look for existing site value in local database, if exists and not a reforce processing condition, will ignore the site change.

  • Added a new method to the Site Processor logic to verify if a site is within the internal database.

  • Fixed the site update logic to invoked the External Site Info Finder when Site Update intent is received.

  • Fixed an issue in controller where the reinstallation of an external site activity is causing Launcher to look for sites in the internal database.

  • Added Device Finder key within the configuration.

  • Fixed Asset Manager sharing outside of Launcher.

  • Added ASSETS as a type of object in the Launcher Provider.

  • Updated AssetManager to insert the content URI for each asset into the provider.

  • Added return code to wallpaper setting so that even if asset for wallpaper completes much later the wallpaper can get set.

  • Updated LauncherProviderHelper to return correct content URI for a requested asset.

  • Added BlueFletch Browser as a valid user of assets.

  • Made sure that permissions are granted if the apps are installed after Launcher.

  • Updated logic to honor the authorizedClients array to allow use of assets.

Release 3.16.8

Released August 23, 2022


Fixed various bugs regarding Support Agent interface, added new settings support for Device Finder, and added new string translations.


  • Updated the Support Application interface to remove the dependency on needing Support Application installed.

  • Fixed crash during corner case where Device ID message is received prior to Launcher intialization is completed.

  • Support for new configuration values settings.alternateSecondaryAuth, emsSupportTool.disablePingFromDevice, and emsSupportTool.disablePingCustomText.

  • Updated string resource translations.

  • Changed the isLoggedIn state check to use the Session object as the state setting can be updated to other values.

  • Updated controller to use Session manager for logged in state check.

Release 3.16.3

Released August 5, 2022


Added features to mute/un-mute the device and change audio volumes from custom intents or application shortcuts. New feature for 'conditional' custom intent execution based on session information. Also various fixes.


  • When logged in as the Local Admin on a device, re-enable any packages identified in disablePackages.

  • Changed the behavior of Quick Start Application folder: if search bar is active, the quick start is hidden.

  • Added new Custom Intent support to mute or un-mute the device audio.

  • Fixed a bug where the Pin Code verification screen is not displayed during crash recovery.

  • Resolved memory leak with alert dialogs not being properly cleaned up.

  • Updated logic to request the Device ID after device reboot.

  • Added logic to listen for Device ID changes from the new Device ID application.

  • Fixed a bug to reset the site ID if site ID and config site ID are not equal.

  • Resovled an exception with java.lang.AbstractMethodError crash.

  • Fixed GPS motion lock.

  • Account for padding on folder icon to prevent cutting off label text.

  • Added new Custom Intent for XML Platfrom processing. Zebra devices are the only devices currently supported.

  • Fixed a bug where details.deviceRole not being set: if the device role is empty then will use the value from session groups.

  • Added new RUN_XML Action that will allow for Shortcuts to run XML within platforms.

  • Added a filter map for conditional Custom Intents based on session attributes.

  • Updated Audio Custom Intents and Custom Actions to support setting individual audio streams.

  • Updated the Custom Action activity to support audio processing from shortcuts.

Release 3.15.4

Released July 11, 2022


LauncherProvider security updates, utilize GPS speed for Motion Lock, PDF links, Layout fixes.


  • Introduced new authorizedClients configuration to limit apps that can access LauncherProvider session.

  • Utilized GPS speed to activate motion lock on GPS-enabled devices.

  • Added fix for Android 11 Zebra devices to prevent Battery Swap from failing.

  • Added ability to create Launcher icons to open PDFs or other local files.

  • Fixed issue where an existing sitelist.csv is not picked up on Launcher install.

  • Tweaked layout to allow more icons on the screen for most devices.

  • Introduced clearRecentIncludeList setting to specify apps to be killed if launched by another app.

  • Added fix for Honeywell devices where Recent Tasks becomes disabled on Android 10.

  • Added local admin password requirement to change the Launcher Log Level.

Release 3.14.15

Released June 21, 2022


Site Information logic changes, Launcher setup/exit for Honeywell Android 10 updates, idle timer reset on phone calls, delete files on logout.


  • Updated configuration to allow either the Launcher search bar or quick start.

  • Reset the Launcher idle timer when the phone is in use, even if the screen is off.

  • Fixed set default Launcher behavior for Honeywell devices.

  • Fixed exit Launcher behavior for Honeywell devices.

  • Fixed WiFi enable application shortcut for Android 11 on Zebra devices.

  • Made Site Information logic changes; sitelist.csv is now optional if using a custom site finder.

  • Fixed issue in some scenarios where Launcher does not pickup configuration changes.

  • Added new custom intent to delete files.

  • Added ability to disable SMS package when in the open zone.

  • Added temporary disable secure device mode when a phone call is received.

Release 3.14.5

Released May 11, 2022


Introduction of Low Battery kiosk mode and password protection of individual applications or folders. Additional changes for locking down the device features in certain scenarios.


  • Added package wildcard feature to Secure Notifications. Now individual packages do not need to be specified.

  • Updated Launcher to disable Settings on Android 11 using the new System Settings within AccessMgr 11.3.

  • Added custom intent support for site change.

  • Added the ability to disable notifications pulldown in Open Zone.

  • Added a Low Battery kiosk mode, that will put the device into kiosk mode at certain battery level.

  • Added the ability to set a password on individual applications or folders.

  • Fixed bug to ensure the device keyboard is hidden when login fails.

  • Added the ability to 'snooze' the secure device alarm.

  • Updated translation files.

  • Fixed an issue where clear app data isn't fully clearing app data.

  • Updated the Clear Cache logic to invoke Enable / Disable logic for Android 9, 10, 11 running on Honeywell or Zebra devices.

Release 3.13.20

Released April 6, 2022


Introduction of the Quick Start applications bar to "pin" frequently used apps for easy access. This replaces the search bar across bottom of Launcher screen, but search can be added to the Quick Start app bar.


  • Updated application shortcut icon to use URLs.

  • Added support for subscribeToIdentityGroups Message Broker flag, to turn on Identity Group MQTT subscriptions.

  • Added 'lastWillTopic' to configuration and pass the topic value to the messaging application.

  • Updated Launcher for Zebra Android 11 devices to not disable/reenable Android 11 launcher as not needed. Android 11 devices are properly setting home launcher without having to disable other launchers.

  • Added BlueFletch Chat configuration settings to launcher provider.

  • Fixes for Clear Recents on Honeywell devices to ensure applications are cleared from task lists.

  • Added logic to cache the clearablePackages to shared prefs so that they persist on a reboot.

  • Updated app manager install receiver to prevent rebuilding the installed app list when an app is disabled/enabled.

  • Added logic to debounce onAppChange call to prevent multiple redraws during consecutive package changes.

  • Fixed an asset redraw issue.

  • Added the Quick Start Apps Bar to launcher, removing the Search box.

  • Fixed the clip to padding on the folder icon in the quick start toolbar.

  • Added logic to now dismiss folder pop ups when the home button is pressed.

  • Internal code clean up within the EmsPackageResolver class.

  • Fixed a bug occurring when a logged-in device is rebooted; now sets the proper state flags.

  • Updated how communications is accomplished with the Support Application, in order to properly start the application if needed.

  • Added logic to store device orientation in the session extended attributes.

  • Fixed an issue where the Launcher crashes when put on a display dock and cradleLogoutDelay is set.

  • Updated the size of search bar in landscape mode.

  • Moved the runtime permission state set to initializeLauncher to make sure it gets called for MDM auto-granted permissions.

  • Changed the refreshSiteOnStartup behavior to not clear out previous site, only force the re-determination of site.

Release 3.13.5

Released February 11, 2022


Introduction of the ability to theme the launcher based on the Site / Location setting of the device.


  • Fixed an issue with reading WorkForce Connect extensions where extension data is empty.

  • Fixed a check for a null logo object which was causing issues.

  • Fixed wallpaper setting logic to check for a null value.

  • Fixed issue where a system notification contains a invalid bitmap drawable. Will skip the notifications for now.

  • Fixed the folder display when the 'Site Change' flag is not in use, as the folder display did not have a theme to use for drawing.

  • Introduction of theming by Site / Location.

  • When looking at the assets to download, ensure have valid values for the name and URL.

  • Updated base launcher configuration to support new TLS MQTT endpoints.

  • Changed the SiteInfoService to a regular service, to allow it to keep running in external site info scenarios.

  • Added an option for external site finder to send the entire siteInfo directly, instead of relying on sitelist.csv.

  • Added configuration setting for device_lost_hours that is used by Device Information application.

  • Upgrade to target SDK 31 and added the MANAGE_EXTERNAL_STORAGE permission as required with Android 11.

  • Fixed the asset manager grant URI permissions.

  • Added translation in Launcher for the languages: Bulgarian, Croatian, Czech, French, German, Greek, Hungarian, Italian, Polish, Portugese, Slovak, Spanish (Spain).

  • Set minimum width on logout confirmation dialog buttons to account for different languages.

Release 3.12.20


Additional Android 11 support changes around Site list downloads from URL and Assets management. Fixed various exceptions that were thrown in edge cases.


  • Added ability to download and manage Site CSV list from URL, based on configuration settings.

  • Added the ability to send a Launcher configuration from another MDM without having to use manage configurations.

  • Added asset management within Launcher which is to allow Launcher to download image/file assets.

  • Updated the Support Library to one that closes cursor.

  • Updated the logo and wallpaper within theming to reference the downloaded assets.

  • Enhancement to allow for supplying a quick start application display on the Pin verification screen.

  • Added method to Launcher Provider to allow applications to read from Launcher assets.

  • Ensured downloaded assets are readable.

  • Moved the old PlatformServicePlatform code to a legacy class. Created a new PlatformServicePlatform to use Platform Service AAR library helper.

  • Updated onPowerConnection logic to only display home screen if logged in and cradled.

  • Added logging for onTrim Memory issues.

  • Ensured internal folders are created before downloading sitelist file.

  • Added new config settings keys into Launcher Provider.

  • Removed unused legacy platform service classes. Updated to the new platform service library.

  • Fixed the Site Info processing of empty columns for GPS location data.

  • Added the ability to reference assets for text info.

  • Fixed a bug where Force Logout dismiss dialog is displayed multiple times during a session; the 2nd or 3rd display will cause Launcher to crash.

  • Added return callbacks for platform ready and clear recent tasks.

  • When Launcher activity is destroyed, tell the controller to use a NO OP Listener. The No Op listener will ensure no crashes/null pointer issues. Also will ensure UI is not invoked if activity is gone during Clear Recents.

  • Added Logic to Delayed Logout Alert to occur after the activity created via onNewIntent.

  • Updated External Storage logic to check for null Path and exit if needed.

  • Updated project usage of EMDK to use AAR from Maven.

  • Changed Site Service to use ForegroundService.

  • Added Logging for the EMDK Init error condition.

  • Added System Alert Window permission setting for Auth apk.

  • Updated Launcher to look for Demo Config within the on new intent processing.

  • Added logic to recover current user Launcher State if a user is logged in and Launcher stops for any reason. Only works after device has been running for at least 5 minutes.

  • Updated the controller to update launcher state on Launcher Toggle Orientation Action.

  • Within Asset Manager, do not attempt to create the asset directory if it already exists.

  • Updated the Custom Field Determinator to use the Asset Manager.

  • Updated the Custom Config to use asset files and still be backward compatible to use pathed files on Sdcard.

  • Fixed the use of the Content Provider AAR to allow other applications to read the provider on Android 11.

  • Updated the Launcher Provider with additional configuration settings, such as epmConfig.

Release 3.11.10

Released October 20, 2021


Resolved issues with open database cursors and excessive home screen redraws. Implemented new Asset Manager to support Android 11.


  • Fixed issue where Site Selection dialog is being closed on startup of Launcher.

  • Updated the launcher configuration to provide collection of named assets.

  • Fixed issue where multiple site services were started.

  • Updated the post platform processing logic to allow for processing certain actions after the first Clear Recents invocation.

  • Added logic to wait for launcher orientation updates during initialization processing.

  • Fixed issue where re-authorization processing was causing UI state to be recalculated and causing unneeded UI draws.

  • Fixed issue where database cursors were not being closed within Launcher Provider.

  • Fixed the configuration assign logic for Support Tool configuration settings.

Release 3.11.5

Released October 6, 2021


Fixed a bug where the Max Session timer was getting reset during pin code re-authentication processing. This is to ensure that the Max Session timer is based on the initial user authentication, not re-authentication.

Release 3.11.4

Released October 4, 2021


Improvements to Lock In Motion, some general bug fixes, including fix to recents button being disabled during launcher start.


  • Masked the admin password with dots (never show the actual character).

  • Fixed the Permissions usage within Launcher for Packages on Android 11.

  • Added support for demo configuration, such as logic to display the Demo Alert after 1 hour of login.

  • Resolved an issue that after a logout, if the user re-logged in relativly quick, the UI was cleared.

  • Added a class to make it cleaner to cancel runnable objects.

  • Added an exception handler around invalid JSON received within the sites lookup logic.

  • After Platform startup, if the RECENTS button needs disabled, ensure it is disabled.

  • Added a prompt to check for ACTIVITY_RECOGNITION permission.

  • Made Lock In Motion interval configurable using lockInMotionInterval.

  • Added extra conditions to unlock the device quickly when walking, on foot or still.

Release 3.10.8

Released September 8, 2021


Improvements and bug fixes.


  • Fix issue where Launcher crashes on Honeywell devices on startup.

  • Fix issue where crash logs are not written to the log file.

Release 3.10.5

Released August 30, 2021


Samsung Knox Support, Secure Notifications, Motion Lock Enhancements, other improvements and bug fixes


  • Support for Samsung Devices running Knox 3.x and higher.

  • Support for third-party authentication applications to drive the Launcher.

  • Allow changing Launcher logging level via the Admin page

  • Fixes issue with icons being cut-off inside of Folders

  • Translation updates

  • Suppress reporting of User ID/Username in the support logs

  • Additional support agent logging to track applications opened from the Launcher

  • Additional support agent logging to report current configuration version in use

  • New custom intents 'motionLockEnter' and 'motionLockExit' to be able to send intents when the device enters/exit motion lock mode

  • Revised landscape layout to better support WT6000/WT6300

  • New configuration to set Launcher to wait for an IP address when using automatic site location

  • Secure Notifications - allow changing color and position of unread badge

  • Improve Launcher performance when using Secure Notifications

  • Fix issue where Launcher will sometimes get stuck in Logging Out dialog if an error occurred during logout

Release 3.9.6

Released June 24, 2021


Site-specific Open Zones, improvements and bug fixes.


  • Fixes an issue where icons are sometimes duplicated onto a second launcher page when there is not enough room on current screen.

  • Fixes an issue where secure device logic is not activated when the user logs out while cradled, or after reboot

  • Fixes an issue where the serial number is not pulled correctly when uploading logs from the Launcher

  • Bring launcher to foreground if reauth is required to prevent users from bypassing pin/nfc screen

  • Add feature to allow defining a different open zone per site if using the Site Info Service

  • Reincorporate previous Launcher 2.x feature to disable logout on cradle if configured

  • Internal development CI improvements

Release 3.8.19

Released June 4, 2021


New Luggage Tag Mode and Secure Device Mode features, Site-specific Open Zones and other improvements, bug fixes


  • Add Secure Device feature to require users to login immediately after undocking the device.

  • Add new Luggage Tag Mode feature to lock the device when it wanders off approved networks.

  • If using SiteList.csv, have the ability to set a different Open Zone group by site

  • Add logic to initiate the Logout sequence to clean up the session if the device is shutdown while logged in

  • Add logic to hide the Recents button while performing cleanup or while in locked mode (Zebra devices)

  • Add functionality to be able to use an https link to an image to use as the wallpaper

  • Fixes issue where sometimes the icons on the screen are not drawn properly and moved to a different page.

  • Prevent crash when the EMS support url configuration is invalid

  • Better error messages to differentiate between an invalid configuration vs an invalid license

Release 3.7.7

Released April 8, 2021


Fixes for Encrypted Launcher Provider data, and support for device id within Custom text fields.


  • Add a new layout for ongoing notifications in Secure Notifications to be smaller and at the very bottom.

  • Added postLogout Intent support.

  • Updated Launcher Controller to include Device Id within the Extended Attributes of the configuration. This will allow the device Id (or Serial Number) to be accessible to Custom Text Fields or thru Launcher Prodvide extended config attributes

  • Add disable and enable task for Honeywell Launcher in Honeywell platform provisioner xml (EMSD-1286)

  • Improve login experience by showing progress indicator at tap of LOGIN button.

  • Updated the Secure Provider decryption to decypt Column DATA. Thus if a user looks just for that column Launcher will properly decrypt

  • Updated the Controller Login Progress handler as was not closing if code invoked from service object

  • Updated the logic to be cleaner within the Custom Intent invocation. Added new Platform Action to invoke Login

Release 3.7.0

Released March 25, 2021


Session encryption within the launcher. Additional settings for changing Folder background colors.


  • Re-organized the Launcher Provider logic. Encrypting the CONFIG and SESSION data into the database.

  • Fixed configuration update logic to allow applying a new configuration if the license is expired.

  • Remove license validation during managed configuration processing

  • Save siteId to session.location

  • Add sleep device as a config feature.

  • Add onclick to reauthenticate view's cancel button to call sleep device function

  • Only use default site id if useSiteInfoService is false

  • Adding back WFC Voice extension/tracking

  • Expose broadcast intent to reset wallpaper to config theme

  • Allow for custom folder background color

  • Create addExtendedAttribute method to Config Manager.

  • Update customField to allow use of session/config variables in the format.

  • Add disableRecents setting

Release 3.6.2

Released February 9, 2021


  • Enhancement to force a logout from the Auth PIN screen (Auth 3.6.+)

  • Enhancement to be able to clear an application's cache data via Custom Intent events

  • Enhancement to allow setting of special permissions (Zebra MX10+ devices)

  • Add configuration option to prevent selected apps from getting killed during logout/cradle for Honeywell devices.

  • Add ability to lock the screen if the device is detected to be in a moving vehicle.

  • Fix an issue where the logo gets corrupted when placed on a display docking station.

  • Fixes an issue where Launch URL was conflicting with Bringg application

  • Fixes issue where the icons sometimes take a long time to display after a reboot.

Release 3.4.10

Released December 18, 2020


  • Fix startup crash if NFC is disabled on device or not present.

Release 3.4.8

Released December 15, 2020


  • Fix issue where delayed logout dialog doesn't show if the Launcher is not in focus when cradled.

  • Fix issue Launcher will stop on initial sideload when asking for system permissions.

Release 3.4.4

Released November 25, 2020


  • Enable file system support for Android 10 devices (will be removed with Android 11 support)

  • Add ability to Clear Application data for opened applications on Zebra devices

  • Addition of include/exclude list for clearing application data

  • New support for replacing session and config placeholders in shortcut URLs

  • New support for uploading Launcher log files from the Launcher or from Support Agent

  • Keep Settings package enabled on Honeywell devices to prevent boot loop

  • Disable ability to navigate to Full Settings from Power Settings or Volume Settings on Honeywell

  • Re-enable settings on Honeywell devices when exiting the Launcher

  • Fix issue with Honeywell devices where orientation does not reset to portrait after removing from display dock

  • Fix issue Launcher goes to landsdcape mode on newer Honeywell/Zebra devices due to incorrect DPI settings

Release 3.3.33

Released October 15, 2020


  • New feature to support merging of Folder contents based on the label

  • Fix issue with Honeywell devices where orientation does not reset to portrait after removing from display dock

Release 3.3.28

Released October 2, 2020


  • New configuration option to clear application data for opened apps on Logout (Honeywell only)

  • New configuration option to re-calculate site on reboot (if Site Service is enabled)

  • Fix issue where Search Page would crash if pattern is incorrect

Release 3.3.25

Released October 1, 2020


  • Change to use Provisioning Whitelist instead of Unrestricted Intents for Honeywell devices

  • Added feature to clear recent tasks on Honeywell devices based on opened applications

  • Prevent Honeywell provisioner Status UI from being displayed when Launcher is changing settings state

  • Additional logic to detect workstation docks and switch to landscape if a large screen is detected.

  • Fully disable Launcher foreground service on Launcher exit

Release 3.3.20

Released September 17, 2020


Changes to how the scan data is sent to other applications. Update Manual Site Page to show all available sites by default.

Release 3.3.18

Released September 17, 2020


On Site / Location changes ensure MQTT Messaging is subscribe to new location. Wallpaper memory improvements.


  • Update the Access Scanner EMDK settings

  • Fixes for honeywell set launcher default and site change option

  • Fix to use different paths for provisioning files so launcher can disable other launchers

  • New config "disallowSiteChange", if set to true will prevent user from changing the site.

  • MQTT Messaging changes for Site Changes

  • Fixes for low memory devices and file watch issue

  • Add foreground service in application to promote the Launcher above the kill list

  • Change WallpaperSetting to object

  • Create separate WallpaperIntentService to handle wallpaper settings

  • Add theme helper method to compare the theme configurations

  • Add onFileModified callback in the MOVED_TO observer -- this is for SOTI and probably Airwatch after they copy the file down, they do a move.

  • Also enable settings in EMDK, to re-enable settings on older device upgrades

  • Do not unregister the Site Info Change Receiver

  • Added missing permission

  • Monitor the BlueLauncher directory for site list csv

  • Make the Site Info Receiver setup a public method. Not sure if correct, but is NEEDED

  • Handle the SITE Change outside of Logout processing. Make it unique, assuming user can not change site during logged in state

  • On Resume force workspace render

Release 3.3.13

Released September 8, 2020


General fixes and various changes for Android 10 support. Ability to submit Launcher Logs via Dev UI.


  • Fix issue where packages defined with separate activities in layouts are incorrectly marked as duplicates so only one icon is showing.

  • Look for OnResume in order to handle Scan Event

  • Replace Build.SERIAL & Build.getSerial calls with SupportLibrary.getDeviceId()

  • Fix issue where apps that use a similar intent to Launcher for scanning gets started while Launcher is in the background.

  • Added a Submit Logs button to the Dev UI. Fixed Reload Configurations

  • Change logout dialog to use DialogFragment so it persists on device rotation

  • Update to Calligraphy 3 due to crashing on Android 10

Release 3.3.7

Released September 1, 2020


Cradle Logout options, UI improvments, optional reauthentication delay, stability and security fixes/improvements.


  • New delay option before user is required to re-enter their pin after the screen turns off

  • New option to logout a user if a pin is not created after authentication.

  • New option to allow user to keep session when docking a device

  • New layout settings to support app icon label boldface type and font size

  • Allow setting of the screen timeout/sleep from the Launcher (Zebra)

  • Admin password security improvements

  • Allow use of wallpaper image as-is without duoTone tint.

  • Other UI improvements to support dark and light theme modes.

  • Memory optimization when wallpaper blur is not required.

  • Fix issue for clearing recent tasks on Zebra devices

  • Fix issue where an error occurs when a user cancels out creating a pin for certain auth scenarios.

  • Fix to correctly calculate top/bottom margins when switching from dark/light theme

  • Fix issue where wallpaper is not set when the duoTone colors are blank

  • Fix issue where Launcher crashes when a URL is launched and Chrome is disabled

Release 3.2.14

Released August 21, 2020


Secure Notifications (beta), Group Inclusion support, Device Orientation by Device, Managed Google Play availability, fixes and stability improvements.


  • Secure Notifications (beta) is now available (requires Notification Access).

  • Group inclusion functionality is now supported with layouts.

  • Performs deduplication of apps when a user belongs to multiple identity groups

  • Allow configuration of the device orientation based on the device model

  • Support for multiple URLs for device load-balancing and/or failover for connecting to a cluster of brokers without a load balancer (requires Messaging 3.x)

  • Upgraded logging framework to be able to remotely pull EMS app logs from the device

  • Additional enhancements for Managed Google Play compatibilty

  • Support for custom/external site location logic

  • Fixes an issue where session object can be empty during initialization

  • Improvements to ensure Launcher is able to start Support Agent and Messaging background services during application updates

  • Fix issue where the Launcher progress bar doesn't dismiss

  • Fix orientation issues with older TC700H devices (running Android 5.1)

  • Fix issue where the search bar overlaps with the bottom row icons in the Open Zone.

Release 3.0.29

Released July 8, 2020


Improvements to Launcher UI.


  • Fix issue where the home screen 'blinks' frequently when the Launcher was given notification access.

  • Improve logic in Launcher to draw more efficiently.

Release 3.0.28

Released July 2, 2020


Updates to Alert Dialogs, removed License Valid toast, and allowed more room if Location Services not utilized.


  • Display only one dialog for Config error, license error or site error

  • If Formatted Text is not being used, then remove (gone) the Location Field

  • If the Screen is being turned on, calculate view state

  • Some null pointer checks, check for height prior to drawing application

  • Render performance tweaks

  • Fix display of site info

Release 3.0.25

Released June 24, 2020


Complete UI refresh, allowing changes to Wallpaper and Lock screen, with support for Light and Dark mode displays.


  • UI theme settings, including dark/light mode, and wallpaper settings

  • Developer UI Security changes

  • Playstore Manage configuration support

  • Allow for custom intents to include Session values

  • Add ability for external applications to initiate login, re-auth, or logout

  • Android X migration and stability enhancements

  • Allow for controlling NFC Enable / Disable during login or application start (Zebra only)

  • Allow for enabling WIFI Settings UI during application start (Zebra only)

  • Support for Displaying System Actions on Home Screen

  • Allow for session data to be included as Extras to application launches

Release 2.13.11

Released June 2, 2020


Can now use Chrome Custom Tabs to launch shortcuts. Ability to launch apps in single app kiosk mode. Custom Fields feature to display file contents in UI.


  • Default BF Keyboard settings values

  • Enhancements to add support for signed platform service

  • Updated Layout definition to have a KIOSK flag (true/false). Updated the Application Start Event to have a startKioskMode

  • Implement single-app kiosk feature, passcode required on exit

  • Moved window inset calculation to its own method

  • Move some strings to resource file

  • Add the keyPreview setting

  • Fix for incorrect logic in ip range site location

  • Adding useSecondaryAuth default value for generic re-auth

  • Initial checkin of Custom Field work

  • Using Custom Chrome tab to launch shortcuts. Also have ability to use another browser

  • Added UI display of a custom field.

  • Added check for potential null config entry or no custom field in view.

  • Move config pull into the Config Change event to prevent null pointer configs.

  • Fix the bottom toolbar offset based on soft navigation

  • During application search, recurse through folder contents

  • Added Package Name to broadcasts

  • Fixed Decode when there is an INVALID license

Release 2.12.1

Released January 28, 2020


Added platform update for OEM Platform Service (now supports Nokia Devices)


  • Implement status bar lockdown via platform service

  • Implement set default launcher via platform service

  • Implement clear app cache, data and recents via platform service

Release 2.11.1

Released January 22, 2020


Updated the Device Serial number logic. Platform updates for Honeywell devices. Added ability to scan QR code to load Launcher Configurations. EC30 layout support.


  • Removed configuration enableOptiko. now support application support always on

  • New 'legacy' honeywell platform and enhanced way of checking for default launcher

  • Make list of launchers to disable configurable, if needed.

  • Update Device Serial Number usage

  • Tweaks to EC30 Layout + support for Voice on EC30

  • Remove search from EC30 view for now.

  • Support config settings for keyboard

  • Enhancements for sitelist to monitor folder for file changes.

  • Cleanup on check for downloads on ems folder

  • Basic changes for qr code reading

  • Updated logic to set data into UI adapter

  • Accepts a Scanned QR Code to load configuration for Launcher

  • Fixed issue where Download/ems/launcher.json was not checked on initial load

  • Added conformation flow to the launcher configuration qr scan. removes download file, if exists

  • Implement enable and disable package on honeywell platform.

  • Support backward compatibility with legacy builds for honeywell

Release 2.9.2

Released December 5, 2019


Update Developer UI to reduce confusion of current logged in user versus Admin User. Changes to the setting of Default Launchers.


  • Set BF Launcher as the default after the user exits and reopens it

  • Updated launcher icons

  • Updated the Developer tools to message user about logging out first

  • If error during login attempt, then Clear Recent Tasks

  • Disable the Android Launchers when making BF Launcher the default launcher

Release 2.8.1

Released November 5, 2019


Various fixes to support latest Zebra BSP.


  • Fix for AppLog to send the actually Location value, not the string 'LOCATION'

  • Fixed the Power Connect receiver, now registered within the Main Activity

  • Re-added the BOOT Complete Receiver

  • Moved Clear Provider and Clear Session to APPLICATION level

  • Fixed application startup issue. When clearing provider, config has not been fully loaded at the time, so needed a null check

  • Allow for Disabling Packages at startup

  • Updated the Launcher Banner image to the new bluefletch logo

  • Removed ‘s from tool’s, now is tools

  • Moved Power Session logic into launcher. Fixes logout of session when device is cradled.

  • Moved session “retain” logic into power session

Release 2.7.7

Released October 8, 2019


Common Configuration uploader, to allow for easier remote debugging. Support for ADFS Auth.

Launcher will look for configuration changes in /sdcard/Downloads/ems folder.


  • Changed default production Org ID to the new support org id

  • If the Configuration file is not on the device, it will display an alert

  • If debug build, ignore license and config check

  • Made Alert dialog dis-misable via config change

  • New feature: config upload

  • Will get config, launcher version and expiration date

  • Add permission READ_PHONE_STATE to get the device serial number on O devices

  • Send data to eventAPI configuration endpoint

  • Upgrade Retrofit to 2.x, OkHttp to 3.x

  • Put in a workaround for a known defect in Android 6.0 M where FileObserver doesn't trigger CREATE event if folder is empty.

  • Add feature to defer posting of config until a valid network connection exists.

  • "No Config" Dialog can not be dismissed

  • Updated the Config Missing message

  • Moved unregister to calling function for readability

  • Updated base configuration for new auth for ADFS 3.0

  • Updated ConfigManager to check /sdcard/Download/ems folder for newer files

  • Fixed missing function error

  • Add separate recursive file observer for /sdcard/Downloads/ems folder. Existing fileObserverAction can take care of the processing

  • Fixed errors being reported by IDE due to Timber usage

  • Additional logic in fileObserver to differentiate between ems/launcher.json and blueLauncher/launcher.json

  • Added debounce logic to notifyConfigChange method to prevent multiple calls when launcher.json is being updated (within a second)

  • When Support tool is updated, logic will restart/re-init the connection with the tool

  • Logic to catch Platform startup issue

  • Added disable logic to the setting default launcher

  • Added the disable off launcher 3 because the set default launcher profile will not always be run

  • Changed the Clear Recent to only occur on Log off

Release 2.6.4

Released September 16, 2019


Support for new Site location CSV. This allows for detection of the SITE / Location based on where the DEVICE is, not based on who is logged in.

Various fixes.


  • New SiteLocationService module: corresponding services for Loading Site Information. Merged loader and fetch services into single service Load the data on first request for location Store load file checksum in shared preferences to skip loading step if already processed. Cache location in shared prefs to load at next startup (except if using default config). Use config default siteId and siteName if no file is found

  • Send location to support agent once location is known

  • Moved setTheme to post config change

  • Revert old behavior for setting location if useSiteInfoService = false

  • Moved sitelist.csv location from /sdcard/Downloads to app folder

  • Set base configuration useSiteInfoService to false

  • Added logic to look for the show Badges on the Channel

  • Updated Notification manager to NOT subscribe to topics if ORG not set but needed. Fixed subscribing for GROUPS array

Release 2.5.16

Released September 4, 2019


Various fixes, removed logged in user id from the Notifications Topics


  • Fix for occasional crash due to NPE with messaging service _connected variable.

  • License logic now displays an Alert on Failed expiration

  • Removed UserId from Topics Updated the Alert Message.

  • Sending Event records about License Check

  • Updated the Claims to match the new format updated license message

  • If ADMIN logged in and using Layouts, if the Admin group exists within layouts, use that, otherwise default to displaying all

  • Fixed scroll bar that displays on home screen.

  • Fixed crash on ec30 because the height / width were not defined for hidden items

  • Resolve Layouts issue where Folder contents rendered on incorrect view. Issue was getting the Folder View objects from the correct layout. Only affects when having 3 or more pages of icons

Last updated