Document contains release notes for BlueFletch Launcher.
Binaries can be found on the EMS Portal Downloads page.
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