ANDROID RELEASE NOTES (8-15-18) Version 2.0
BUG FIXES:
ISSUES:
MAJOR CHANGES:
DOCUMENT ATTACHMENT FOR CUSTOM CLIENT AND PET FIELDS: if document attachment type of custom field, icon appears in respective detail views. Tapping icon will invoke WebView Mime handlers and show document in WebView within the native app. Note, if the user does not have a handler for document type (e.g. no reader for msword), the app will not be able to launch a view for it. Document attachment fields are summary listed in the manager note slide up view (tap the yellow sticky note icon in the main list view).
DETAIL VIEWS UI: as per Android best practices for newer versions of OS, LinearLayout views have been converted to ConstraintLayout which is (a) faster and more efficient to render (b) more reliably handles relative sizing for different screen formats. Additionally, the number of custom fields was hard-coded at a maximum of 40 due to explicitly laying out in XML format (and removing excess fields when the profile had < 40). This has been changed so that custom fields are programmtically added to the layout. In short, just about every view in the app was converted over to ConstraintLayout and, where possible / feasible, the layouts were tuned for consistency across device screen sizes.
CLIENT DETAIL FIELDS ORDERING AND MISSING: Missing fields added for detail views: Notes (Basic Info tab), Parking, Driving Directions. Custom fields are displayed in order according to the dictionary keys:
e.g. custom1 --> { label =
The custom<#> indicates ordering.
location tracking in background is a big deal in terms of rights management; there are very specific compliance requirements to adhere to when running background location tracking, including permissions management, generating foreground notification when going to background; removing message when coming to the foreground
the app does several things when coming to foreground:
In short, the coming foreground logic is fairly involved. There are numerous steps involved. Each step needs to choreographed in multiple threads. I have modeled and flow charted in detail all the steps and reviewed and debugged each one to ensure that what was expected was what was occuring etc. There were a few minor tweaks where potential issues could arise. And they have been corrected.
The most significant change was reworking the network checking code. All of the above needs to be orchestrated but if there is no network connection, there is no point in tear down and rebuild. Sometimes it might appear that there is a network connection (e.g. captive network) and this caused confusion within the app. Checking for captive network access has now been added / tested. And network code has been streamlined.
SERVER SETTING OPTIONS: