Document contains release notes for the BlueFletch Launcher application.
Binaries can be found on the BlueFletch Portal Downloads page.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Released 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 current state object does not have the current configuration. Resolves a device boot issues 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.
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 lose permissions when clearAppDataOnLogout is true.
- Fixed issue where Lock In Motion is still active even after configuration 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.
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.
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.
Released July 11, 2022
LauncherProvider security updates, utilize GPS speed for Motion Lock, PDF links, Layout fixes.
- Introduced new
authorizedClientsconfiguration 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.
clearRecentIncludeListsetting 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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
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
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
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.
Released December 18, 2020
- Fix startup crash if NFC is disabled on device or not present.
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.
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
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
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
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
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.
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
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
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
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.
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.
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
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
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
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
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
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
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
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
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.
- 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
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