Release Notes
Release Notes for the BFE Launcher Application
Release 3.25.7
Highlights
New "Recents Activity", Orientation enhancements, Additional Samsung enhancements, fixed icon size option, and other fixes.
Details
Added knoxEnableRecentsButton flag to allow use of the hard key Recents button for select Samsung devices.
Fixed issue where Launcher would crash when setting Language/Locale via XML.
Added option to layoutSettings.iconSize parameter to specify a fixed icon size in dp, e.g. "48dp".
For Samsung devices running in the default ProKiosk mode, going into Temporary Admin mode will now correctly restart Launcher with settings enabled (requires Knox Helper application to be installed).
Fixed issue in Launcher where it is unable to retrieve the actual device serial number from the Device ID application in some scenarios.
Fixed issue where overlay is preventing Knox license activation when Launcher is granted all permissions at install
Added orientation override option to use the device sensor for orientation.
Fixed issue where Launcher screen constantly redraws when Samsung Motion Smoothing is enabled.
Fixed issue where the Device ID application was continuously being invoked if the MAC address was not found.
Added new Recents Activity, which displays all user-launched apps, with the ability to kill the applications.
Updated text widgets to scroll correctly.
Updated text widgets to allow displaying of rectangular images. The iconSize parameter will now only restrict the height of the image.
Disabled split-screen mode on Zebra devices.
Updated to allow Launcher orientation changes to persist within a session.
Updated to allow Launcher on ELO M60s to also send a broadcast when a scan event occurs, which other applications can consume.
Release 3.24.30
Highlights
Fixes for Luggage Tag and Asset Manager, changes to Secure notifications, and support for scanning on ELO M60 devices.
Updated Secure Notifications unread bubble to only show if the Launcher is in the foreground.
Updated Secure Notifications to prevent notifications from being displayed when reauthentication is required.
Added support for search and configuration barcode scanning on ELO M60 devices.
Fixed issue with Luggage Tag mode to prevent constant entering/exiting if location permissions were not granted to Launcher.
Updated Asset Manager to re-download assets if the asset URL string has changed.
Updated to temporarily enable settings for 120 seconds when using certain admin actions that require access to com.android.settings.
Release 3.24.20
Highlights
Fixed issue where web links were not being cleared during logout. Added dialog display updates, EMDK processing updates, and various bug fixes.
Details
Updated Launcher to prevent a user from clicking a notification when in open zone or when in re-auth screen.
Removed the "Cancel" button from the Launcher re-authentication display screen.
Updated Launcher to enter Luggage Tag mode if the device is marked as "blocked" within the Portal.
Added the ability to display the last four digits of the serial number within the custom field text.
Changed the idle alarm to use setExact, to ensure Launcher properly logs out when the idle timeout occurs.
Updated Launcher to enable Android Settings for 30 seconds upon clicking the “ok” button on the notification access dialog.
Added ability to display session or device information within the custom header.
Implemented consistent buttons in the Dev Admin screen.
Added ability to clear individual application storage using custom action "CLEAR_STORAGE".
Updated Zebra Platform logic and EMDK settings to reduce the number of invocations of the EMDK processing on Android 11 and above.
Fixed the display of application titles that are being cut off.
Fixed logic to prevent merged folders from persisting between sessions.
Added a new configuration setting "disableStatus" that indicates if the pull down notification tray should be disabled.
Updated the display of dialogs to remove excess space in the dialog headers.
Updated the button shapes to be more consistent.
Added the ability to control the desired shape of buttons. Requires new theme configuration settings of "consistentButtonShape" and "buttonCornerRadius".
Release 3.24.15
Highlights
Fix for refreshing the Site Id during network change.
Details
Updated the network connection change logic to invoke the site refresh logic even if the IP Address is the same. Previously would only refresh sites if the IP Address had changed.
Release 3.24.14
Highlights
Updated logic to support device information replacement. Fix for idle timeout issues.
Details
Permanently hid the Cancel button on the reauth screen.
Fixed Widget Manager to allow for device information replacement.
Updated Custom Intents to allow for device information to be included/replaced in intent data fields.
Updated Application Manager URL builder to allow for replacing device contents in the URL.
Updated logic to use WorkerManager to schedule tasks in background.
Updated device reboot logic to get the MAC address value and set into configuration extended attributes.
Updated logic to display the max idle dialog when Launcher is restarted after a force stop.
Release 3.24.11
Highlights
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.
Details
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
Highlights
External auth layout support, fixes for icon shortcuts and intent filters.
Details
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
Highlights
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.
Details
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
Highlights
Updated Secure Device mode to support external application monitoring of device cradle status. Various exceptions fixed.
Details
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
Highlights
Configurable Header Widgets, updated widget parameter configuration for flexibility, Persistent App feature.
Details
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
Highlights
Improved error handling for theme and wallpaper configuration. Improved site change processing on network changes.
Details
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
Highlights
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.
Details
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
Highlights
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.
Details
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
Highlights
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.
Details
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
Highlights
Changed the No Configuration file UI to be less obtrusive. Fixed the Site List loading. Various fixes and changes for performance.
Details
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
Highlights
Luggage Tag logging and logic refactor. Various fixes and enhancements.
Details
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
Highlights
Support for Samsung Remote control, various fixes, updates for Wallpaper processing, updates to the Implied Groups feature.
Details
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
Highlights
Allow for manual site selection to utilize an external site activity. Updated Patterns processing to use settings within Custom Intents.
Details
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
Highlights
New feature for "Implied Groups" inclusion and general fixes.
Details
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
Highlights
Various fixes. Added new layout setting configuration, pageWidthOffsetOverride, to allow for overriding the calculated page width.
Details
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
Highlights
Fixed the Luggage Tag password display, fixed the Site Information services for cellular-only devices, and changed the reauthorization flow display of Launcher.
Details
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
Highlights
Updates for Samsung Knox support, and changes to allow overriding the Secure Device alarm sounds.
Details
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
Highlights
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.
Details
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
Highlights
Additional debug logging and icon fix for Nokia devices.
Details
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
Highlights
Various fixes for DozeMode settings, Widget display, and Platform Service usage.
Details
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
Highlights
Release of the new widget display logic. Widgets supported include notifications, text, and native.
Details
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
Highlights
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.
Details
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
Highlights
Update to allow for subscriptions to email updates.
Release 3.16.19
Release October 4, 2022
Highlights
Updates to Support Application interaction at Launcher startup and during Support Agent installation.
Details
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
Highlights
Changes to when Site Location is processed and updates to Asset Manager usage.
Details
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
Highlights
Fixed various bugs regarding Support Agent interface, added new settings support for Device Finder, and added new string translations.
Details
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
Highlights
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.
Details
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
Highlights
LauncherProvider security updates, utilize GPS speed for Motion Lock, PDF links, Layout fixes.
Details
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
Highlights
Site Information logic changes, Launcher setup/exit for Honeywell Android 10 updates, idle timer reset on phone calls, delete files on logout.
Details
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
Highlights
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.
Details
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
Highlights
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.
Details
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
Highlights
Introduction of the ability to theme the launcher based on the Site / Location setting of the device.
Details
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
Highlights
Additional Android 11 support changes around Site list downloads from URL and Assets management. Fixed various exceptions that were thrown in edge cases.
Details
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
Highlights
Resolved issues with open database cursors and excessive home screen redraws. Implemented new Asset Manager to support Android 11.
Details
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
Highlights
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
Highlights
Improvements to Lock In Motion, some general bug fixes, including fix to recents button being disabled during launcher start.
Details
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
Highlights
Improvements and bug fixes.
Details
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
Highlights
Samsung Knox Support, Secure Notifications, Motion Lock Enhancements, other improvements and bug fixes
Details
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
Highlights
Site-specific Open Zones, improvements and bug fixes.
Details
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
Highlights
New Luggage Tag Mode and Secure Device Mode features, Site-specific Open Zones and other improvements, bug fixes
Details
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
Highlights
Fixes for Encrypted Launcher Provider data, and support for device id within Custom text fields.
Details
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
Highlights
Session encryption within the launcher. Additional settings for changing Folder background colors.
Details
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
Highlights
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
Highlights
Fix startup crash if NFC is disabled on device or not present.
Release 3.4.8
Released December 15, 2020
Highlights
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
Highlights
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
Highlights
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
Highlights
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
Highlights
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
Highlights
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
Highlights
On Site / Location changes ensure MQTT Messaging is subscribe to new location. Wallpaper memory improvements.
Details
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
Highlights
General fixes and various changes for Android 10 support. Ability to submit Launcher Logs via Dev UI.
Details
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
Highlights
Cradle Logout options, UI improvments, optional reauthentication delay, stability and security fixes/improvements.
Details
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
Highlights
Secure Notifications (beta), Group Inclusion support, Device Orientation by Device, Managed Google Play availability, fixes and stability improvements.
Details
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
Highlights
Improvements to Launcher UI.
Details
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
Highlights
Updates to Alert Dialogs, removed License Valid toast, and allowed more room if Location Services not utilized.
Details
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
Highlights
Complete UI refresh, allowing changes to Wallpaper and Lock screen, with support for Light and Dark mode displays.
Details
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
Highlights
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.
Details
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
Highlights
Added platform update for OEM Platform Service (now supports Nokia Devices)
Details
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
Highlights
Updated the Device Serial number logic. Platform updates for Honeywell devices. Added ability to scan QR code to load Launcher Configurations. EC30 layout support.
Details
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
Highlights
Update Developer UI to reduce confusion of current logged in user versus Admin User. Changes to the setting of Default Launchers.
Details
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
Highlights
Various fixes to support latest Zebra BSP.
Details
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
Highlights
Common Configuration uploader, to allow for easier remote debugging. Support for ADFS Auth.
Launcher will look for configuration changes in /sdcard/Downloads/ems folder.
Details
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
Highlights
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.
Details
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
Highlights
Various fixes, removed logged in user id from the Notifications Topics
Details
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