RMMobile_Android Last updated: 10/29/15 ======================================================================================================================= Installation ------------ NOTE: Please turn on the option of installing applications from "Unknown Source" by going to "Settings"-->"Applications" And check "Unknown Source". This will enable installation of non-Market applications is possible by checking on "Unknown sources" RMMobile_Android can be installed in multiple ways: i. Installing RMMobile_Android OTA ii. Installing RMMobile_Android through computer Installing RMMobile_Android --------------------------- i. Installing RMMobile_Android OTA ---------------------------------- - Browse to http://rmmobile.routematch.com/ - Choose Android - Choose the latest version of RMMobile Android release - Once the download starts, drag the status-notification bar of Android handset/tablet - Click on RMMobile_Android when the download is turned. - Click on "Install" ii. Installing RMMobile_Android through computer ----------------------------------------------- - Navigate to Android 'market' on the handset - Search for "AppInstaller" - Install "appInstaller" by Gregory House - Connect the handset to the PC with a mini-USB cable - Choose "Disk drive" as the 'connect to PC' type. - Browse to 'RMMobile_Android.apk' file on the hard disk and move it to the Removable Disk (handset). - After RMMobile_Android.apk is move to the handset, disconnect it from the PC. - Scroll to "appInstaller" and run the "applInstaller" - Choose 'com.routematch.mdcclient' to be Installed. - RMMobile_Android will appear in the application menu list after the process is complete. Note that as of Android 4.2 you can no longer downgrade from a higher version to a low version. You will have to uninstall the higher version of RMMobile before installing the lower version. Configuration ------------- Each phone's IP address must be recorded in the rmgate.properties file if the phone has static IP, such as: device.gateway.config.rmp.ipaddr.for.device(1) = 72.7.30.103 In case the phone is assigned a dynamic IP from the carrier, please provision the phone as: device.gateway.config.rmp.ipaddr.for.device(1) = * The RMGate server's IP address must be entered in the phone's settings screen. The rmgate.properties file's listener-port and the phone's settings screen's port must match. Generally we have used 55926 for this, but any reasonable port number can be used. device.server.port.to.read = 55926 device.server.port.to.write = 55926 Please note that the above comment pertains to the port on which RMGate will listen for inbound messages from the phone; RMGate always sends outbound messages to the phone on port 1234. This will likely be improved at some point such that "device.server.port.to.write = <>" will be honored as one might have expected, since RMGate knows by "device.server.name = (gateway)" that it is operating in this mode. However, for now, the use of port 1234 is hard-coded. Device Properties ----------------- Device properties can be set as of RMMobile_Android_v1-4_precut#1 from the "Configuration" screen: 0x0000000000000100 Encrypt all outbound messages and decrypt all inbound messages with RSA. 0x0000000000001000 Units (speed, distance etc.) are in SI(metric) instead of Imperial (US). This results in msg flag x40 to be "ON" when sending messages to RMGate to indicate that SI(metric) units are used. 0x0000000000010000 Navigates straight to the login screne with the ID as 1111, PIN as 2222 and Odometer as 3333 pre-populated. Also allows for the vehicle in motion screen blocker to be disabled for 60 seconds. 0x0000000000020000 Emulate GPS so that 1 minute the speed is more than 5 mph and the next minute it is less than 5mph. 0x0000000000040000 In case satellite GPS is not available, and neither is any previous GPS (stop arrival), turning this this bit on will pass the City and Zip of the destination as the starting address to Google maps/nav. 0x0000000000080000 Debug to file (local device property) if need to be written to file before login response. 0x0000000000100000 This bit is used for the driver login option, leaving it as zero uses legacy assignment to the vehicle, while setting it to one will assign it to driver 0x0000000000200000 This bit is used for switching between standard and military time in the left panel and status bar clocks 0x0000000000400000 This bit is used for displaying using the odometer as an integer or to include the tenths place 0x0000000000800000 This bit is used for displaying the current odometer value in the status bar 0x0000000001000000 Use Sygic as the default navigation tool; this will be part of the login response from the rmgate but this can also be set as a local device property. 0x0000000002000000 This bit is to disable the use of the "Map" tab in order to prevent excess data from being used. 0x0000000004000000 This bit is to store the previous day's odometer to be displayed as a suggestion at the next login. Note that this bit is tied to 0x0000000000100000 where if the device is assigned to driver then this bit will function as though it were off. The device must be assigned to vehicle for this bit to make sense/have use. Logging ------- As of RMMobile_Android_V1-6_precut#4, debug statements can be 'echoed' to RMGate and/or written to log based on the login response from RMGate. The kind of debug statements that are desired to be 'echoed' to RMGate or written to RMMobile's log can be set as �device properties�. Please note that RMGate 5.3 precut#3+ is required to receive a proper login response to set the type of logging desired. RMMobile logs are located in "\rmlogs" in the SDCard and as of v1-6_precut4, all log files older than 3 days are purged. As of RMMobile_Android_v1.7_precut#2 the SDCard is given a new file structure for storing RouteMatch related data. The folder located with reference to the device is ~\mnt\sdcard\RMMobile which has two subdirectories: \rmlogs and \rmconfig, the logs are stored in the \rmlogs folder and follow the same rules as above. If 0x0000000000080000 local device property is set, following debug categories can be specified in the "Configuration" screen to log the desired statements to file, before a successful response from rmgate is received. 0x0000000000000002 // information about where the execution is within the code (now entering, now leaving, etc.) 0x0000000000000004 // general warning for possible and handled exceptions (usually in try/catch blocks) 0x0000000000000008 // blocking/halting errors that cause a crash/reboot 0x0000000000000100 // general flow in the code and dev output. 0x0000000000000200 // related to GPS gathering/sending/etc. 0x0000000000000400 // related to incoming(outbound from RMGate) messages to the phone 0x0000000000000800 // related to outgoing(inbound to RMGate) messages from the phone 0x0000000000001000 // user interface related interactions (button pressed, processing selection, etc.) 0x0000000000002000 // related to tree DS holding MUWs. 0x0000000000004000 // raw NMEA sentences as they are received from DEV receiver. 0x0000000000008000 // this is complete garbage statements, should never really need them in the field. 0x0000000000010000 // outbound message which is an Ack to an inbound msg. 0x0000000000020000 // All the gps etc. related stuff related to target analysis. 0x0000000000040000 // All the gps related analysis(speed, distance/odometer etc.) 0x0000000000080000 // automatic passenger counter related debug. 0x0000000000200000 // anything related to generic peripherals. 0x0000000000400000 // Location only, without the extra noise... 0x0000000000800000 // Location only, without the extra noise... 0x0000000001000000 // J17 only related debug. 0x0000000002000000 // all the J17 stuff that's going OUT on the wire 0x0000000004000000 // all the J17 stuff that's ON the wire. 0x0000000008000000 // thread timing and queue sizes. 0x0000000010000000 // Detailed target analysis; per target distance on every gps hit, etc. 0x0000000020000000 // Detailed J17 info, how every J17 msg is constructed, parsed. 0x0000000100000000 // capture adb log - BE VERY MINDFUL WHEN TURNING THIS ON AS IT RESULTS IN HUGE LOG FILE SIZE AND WILL INCUR SIGNIFICANT OVERHEAD // After the desired log has been captured, MAKE SURE to turn OFF this bit and reboot the device 0x0000000200000000 // dump to (system) console... make sure exclusive of DEBUG_CAT_ADB.. 0x0000000400000000 // Do NOT buffer log messages before notifying (writeToFile or 'print to console') // i.e. if this bit is on, the log message will be written to file and printed to console verbatim 0x0000000800000000 // current memory/heap usage vs total allocated. NOTE: ----- These debug bits can be set in the table t_OnboardDevices of the agency's db under the columns DeviceDebugToFile1 and DeviceDebugToFile2 For RMMobile_Android v2.1d and earlier, recommended DeviceDebugToFile bits are: 43D0E For RMMobile_Android v2.2+, recommended DeviceDebugToFile bits are: 800003D0E From RMGate's readme: >> RMGate 5.3... + precut#3 implements dm#82254 (debug echo/file fields in signon-response, debug-echo inbound at any time) as part of rmp protocol v0.4. requires db change (dm#82350 in 28.277 and dm#82354 in 29.002) adding new columns to table t_OnboardDevices: DeviceCharacteristics2, DeviceDebugToServer, DeviceDebugToServer2, DeviceDebugToFile, and DeviceDebugToFile2. the "2" columns are the "top" 32 bits and the corresponding "non numbered" columns are the "bottom" 32 bits of the 64 bit concept represented by each such related set of columns. set the "to server" and/or "to file" bits you want for any devices (and be sure to start rmgate after that, so as to pick up changes) and when the device subsequently signs on, they will be delivered in the signon accepted response message and the device will obey. note that the bits in question here are NOT the rmgate bits; they are defined by the device software. the currently defined values for rmmobile 1.6 android are listed here. note that they are listed in hexadecimal, but you have to enter them in the database by hand until the "gps options" GUI is updated as part of the rm#6.x product... and the database uses decimal; remember to convert. also note that the hexadeimal values are 64 bits (16 digits)... and you need to split them into the hi/lo 32 (8 digits each) bit columns as described above. currenty there are no hi bits defined, so this amounts to setting the "2" columns to 0; but please understand what you are doing. and if you want "all", then remember that decimal -1 equals 0xFFFFFFFF. 0x0000000000000002 info; someone may care to know this. 0x0000000000000004 warning; coping with some condition but not happy about it. 0x0000000000000008 error; could not do something. 0x0000000000000100 general flow in the code and dev output. 0x0000000000000200 related to GPS gathering/sending/etc. 0x0000000000000400 incoming (outbound from RMGate) messages to the phone. 0x0000000000000800 outgoing (inbound to RMGate) messages from the phone. 0x0000000000001000 user interface related interactions (button pressed, processing selection, etc.) new rmgate dbg logging (0x0000080000000000) for "RMP GATEWAY debug-echo received from device" needs to be ON in "rmgate dbg" (which is the good old debugging concept you have always used on rmgate's cmdline, NOT the new "device debug" just discussed) if you want to log the "to server" device debug messages that you request and rmgate subsequently receives. capische? << Targeting --------- Prior to RMMobile_Android_v1.8_precut#1 the code targeted API Level 7/Android 2.0/Eclair. Starting with this precut the code now targets API Level 10/Android 2.3.3/Gingerbread in order to provide feature functionality to devices that can support it. Login Error Messages Description ------------------------------------------------------------------------------------ From RMMobile_Android_v2.5.00_precut#18+, following enhanced error messages are observed upon a failed login attempt: --Error Messages Generated Locally by RMMobile-- Message To User "Interrupted while sending first message, try again" Reason For Failure The thread was interrupted while sleeping, try it again. Message To User "Unable to send first message"; Reason For Failure We can't send the first message because the DeviceID is null, ensure the device is properly configured, restart the app and try again. Message To User "Sent first message, never heard back"; Reason For Failure The first message, the TSR was sent, but a reply did not arrive within the TTL. Make sure the address for RMGate is correct Ensure you're connected to VLU (If Relevant), check to see that RMGate is up and responsive. Message To User "Sent login request, no response"; Reason For Failure We sent some messages and got responses/ACKs, e.g got response/ACK for TSR and (maybe received???) the ACK for LoginRequest but didn't receive LoginResponse. The address for RMGate must be correct, make sure we didn't lose wifi, or dataplan, and the RMGate didn't go down. Message To User "Odometer value entered is not a number"; Reason For Failure The odometer value isn't parseable as a number, Re-enter the odometer field with valid data. Message To User "Device missing config data"; Reason For Failure The anchor point contains no configuration, either this is a bug, or the ConfigData has gone missing, Re-enter the configuration data if it is missing, otherwise report the bug. Message To User "Device not configured with an ID"; Reason For Failure The Device ID is not set, or is invalid, Go to config and ensure that the Device ID is set correctly Message To User "Someone else is already logged in on this device"; Reason For Failure ID does not match stored credentials, someone else is on break on this device, Re-enter correct credentials or stop trying to log into someone else's device Went on break->someone else tries to log in OR Mistyped ID trying to log in from break. (local version of unrecognized ID) Message To User "You are already logged into a different vehicle"; Reason For Failure You're trying to login to the wrong vehicle, dispatching, or get to the correct vehicle Configuration may be incorrect, check device configurations. Message To User "Could not prepare to send first message"; Reason For Failure The message context could not be acquired to send the TSR, Restart the device to free up the context and try logging in again. Message To User "Could not prepare to send login message"; Reason For Failure The message context could not be acquired to send the login request, Restart the device to free up the context and try logging in again Message To User "Could not send login message"; Reason For Failure Couldn't queue the login message, Restart the device and try again Message To User "Could not send first message"; Reason For Failure Couldn't queue the TSR message, Restart the device and try again Message To User "Not the same PIN you logged in with, try again." Reason For Failure Pin doesn't match saved credentials, use the correct PIN --Error Messages from RMGate-- Message To User "Wrong ID try again."; Reason For Failure RMGate does not accept that username, Check to make sure you typed in the username correctly Message To User "Pin not recognized by server, try again." Reason For Failure RMGate does not accept that pin for that user, enter the correct pin Message To User "You are already logged in."; Reason For Failure RMGate knows you're logged on somewhere else, and allow.device.resignon is set to no. Log out from all devices, then log into the one you want to use Message To User "Mismatched protocols."; Reason For Failure unsupported protocol version. (device needs new software.) Message To User "Unable to log in, try again. If the problem persists, contact dispatch."; Reason For Failure something strange went wrong at our end (unknown issue, check rmgate log. user can retry, but who knows?) Message To User "wrong driver type."; Reason For Failure driver gave invalid driver-type. (user error, he should retry.) Message To User "device not assigned to this vehicle."; Reason For Failure device not defined in rmdb, or not defined as MDC (dispatch should properly define device and restart rmgate, then user can retry. Message To User "malformed login request."; Reason For Failure signon-request message contained improper data. (probably a configuration issue or bug, check rmgate log. user can retry, but who knows? Message To User "Wrong vehicle name, try again."; Reason For Failure driver gave invalid vehicle-name (user error, he should retry.) Message To User "vehicle name is unsupported."; Reason For Failure device provided vehicleName but rmgate cannot make use of it becase the db(and associated rm app) in use do not support the concept of driver-assigned devices Message To User "VLU hasn't logged in."; Reason For Failure this failure status indicates that the device is paired with a VLU but the VLU has not yet logged on. Version Overview: ------------------------------ RMMobile_Android_v2.5.02 FP - removed precut designator 92979 RMMobile 2.5.01 on the inspection screens, when VIMA triggers, the app becomes unresponsive - VIMA now returns to parent screen rather than always returning to manifest screen. RMMobile_Android_v2.5.02_precut#7 93042 RouteMatch 'closing' after 9-11 minutes of no signal on Samsung Tab 4s - Updated manifest file to inclide "mcc" and "mnc" in activity configuration changes. "mcc" The IMSI mobile country code (MCC) has changed � a SIM has been detected and updated the MCC. "mnc" The IMSI mobile network code (MNC) has changed � a SIM has been detected and updated the MNC. When the SIM card lost connection for an extended period it changed states to �IMSI�. The android operating system by default closes all apps that attempt to use services that change states unless otherwise stated in the project properties file. The fix included in 2.5.02precut#7 to add the attributes �mcc|mnc� to the application activity elements. Mcc and mnc are two codes used to identify mobile network operators, and when devices that rely on SIM cards lose signal for long periods they attempt to update their mcc and mnc codes, which was causing the application to crash in previous versions. RMMobile_Android_v2.5.02_precut#6 93042 RouteMatch 'closing' after 9-11 minutes of no signal on Samsung Tab 4s - added WakeLock, pause in onCreate of Activity and enforced running separate processes in manifest. RMMobile_Android_v2.5.02_precut#5 93547 Run End button not being honored for relief driver. - Added logging to assist in post-mortem what scenario played out. With the current logging, it appears that when route/run/end is pressed, instead of pressing "Perform", "Cancel" is pressed in the "Are you sure you want to end run/route?" dialog. Once cancel is pressed, screen navigates to manifest screen, which perhaps gives the notion that run/route end is actually performed. If "Cancel" is pressed now, Departure Screen will stay in view. RMMobile_Android_v2.5.02_precut#4 93208 Log indicates inability to procure message context for resend of messages after network inability. RMMobile_Android_v2.5.02_precut#3 92919 auto arrive/depart causes tablet to "un-arrive" a stop sometimes - depart status no longer being set on mobile device on auto depart procs. 92895 Fare summary incorrectly displaying $0 - this should now be resolved. only affected the display at the end of the route... - fixed issue where all transactions were being lumped under "CASH". all payment types now have correct values. RMMobile_Android_v2.5.02_precut#2 92919 auto arrive/depart causes tablet to "un-arrive" a stop sometimes - this is now resolved. 92858 ETA not displaying correctly NOTE: this DM was added to the readme after the cut was made. the case was found to be FIXED in QA testing. adding fix to readme retroactively for this precut. RMMobile_Android_v2.5.02_precut#1 - fixed an issue which caused ID's of manifest layout items to be displayed if the item did not resolve to a String. - fixed an issue in the manifest item renderer which caused ETA to log exceptions due to mishandling of data. 92848 RMMobile 2.5.01 driver is able to 'Done' through the fare screen on a $0 expected pay trip even without a $0 fare type config 92845 RMMobile 2.5.01 $0 payments on defered payment of a $0 expected pay trip causing RMGate SQL error 92843 RMMobile 2.5.01 SQL error in RMGate when trying to use $0 paytype (or amount) on $0 expected pay stops - For all three of the above cases, there was an oversight in part of the conditional that allows the message processing to proceed. RMMobile now properly forms messages where $0 payments of any kind are made. 92858 ETA not displaying correctly in manifest.layout for FR - ETA now displays properly. 92895 Fare summary incorrectly displaying $0 - fare summaries should now be correct for multifare setups as well as legacy payment screens. RMMobile_Android_v2.5.01 - Removed precut designation. RMMobile_Android_v2.5.01_precut#2 92603 FORWARD_APPLY: RMMobile sends two messages with same tag (DM#92556) Tag number acquisition is now synchronized. RMMobile_Android_v2.5.01_precut#1 92452 RMMobile 2.5.00 FR manifest is not loading - this fix was causing index out of bounds exceptions as the address would attempt to parse the "performed time" data without checking for field validity or exceptions. (rel. 92238) RMMobile_Android_v2.5.00 GA - removed precut designator from .apk package. RMMobile_Android_v2.5.00_precut#25 92379 Keyboard for entering vehicle number on login screen does not allow for numbers - changed from DEFAULT_QWERTY to CUSTOM_QWERTY keyboard (backward applied from 2.7.00). 92377 Driver Manifest displays 'expected customer payment ID' instead of 'expected customer payment' - expected payment type should appear when defined as part of the manifest layout rather than the payment type id. 92228 NoShow wait timer visible on history tab - Wasn't checking the current tab, now we do, so it only effects the manifest tab. 92238 RMMobile> Para> History Tab pickup/arrive updates all trips/stops with the same Dropoff time - Whenever the value of a field isn't set there are some graphical side effects. This in particular was being caused by the performed time not being set for pickups in the manifest. The perormed time is now set. RMMobile_Android_v2.5.00_precut#24 91473 Configuration sometimes does not save - fixed a bug which caused the login to always fail on the first attempt after saving configuration data. 91502 - if WiFi is off, RMMobile hangs on log in forever RMMobile will not wait longer than twice the TTL*Retries. If RMMobile has no errors or responses in that time, RMMobile cancels the connection. This saves us from getting stuck during login. 92141 - RMMobile 2.5.00 stop arrives with prompt screens are not processing correctly when BACK is pressed Arriving to prompts, then backing out now leaves the manifest entries state unaltered. Accomplished by changing the MUW state after hitting send on the Departure Data Screen Summary RMMobile_Android_v2.5.00_precut#23 92082 - Signature Prompts - RESET button generates a null pointer error when using 2 signature prompts Fixed null pointer exception, a required variable was nulled out before the last time it was used. This has been fixed and safeguards put in place so if the clean up methods are called while the intent is null it won't cause errors. RMMobile_Android_v2.5.00_precut#22 92002 - Some devices do not save signatures Fixed issues with certain devices not displaying or saving signatures. Circumnavigated the need for getDrawingCache, which doesn’t behave the same on different devices. Created our own canvas to hold the data to be saved instead of relying on the drawing cache Forgot to set the background white – fixed. 92003 - Single Prompts are not appearing as the correct prompt Fixed issue with single prompts not being displayed correctly, the first digit was being used to create the prompt, not the whole number. Now the prompt string is properly split by the delimiter. RMMobile_Android_v2.5.00_precut#21 91890 RMGate is dumping signitures when multiple signitures are coming in at the same time SplitUpMessages weren't being properly flagged as ack required. 90709 RMMobile - Provide Electronic Signature Capture for Medicaid trips - ROOT. (90710, 90711, 90712, 91119 related) Improved file deletion to account for crashes or shutting down, mid signature. RMMobile_Android_v2.5.00_precut#20 90709 RMMobile - Provide Electronic Signature Capture for Medicaid trips - ROOT. (90710, 90711, 90712, 91119 related) Fixed a race condition between reading the saved image and deleting the image. 91871 RMMobile on 'back' on prompt screen, multifare is reverting to classic layout the back button on the prompts screen now returns to the manifest in multifare v3. RMMobile_Android_v2.5.00_precut#19 - fixed an issue where pickup arrive prompts are displayed for all arrivals, including dropoffs, which should display dropoff-arrive prompts. 90709 RMMobile - Provide Electronic Signature Capture for Medicaid trips - ROOT. (90710, 90711, 90712, 91119 related) Now actually sends the signature as a .png file to RMGate Responds to a subfield sent to determine the height of the resultant image, defaults to 50 if none is given, or maximum if * is given All messages are encoded using ISO-8859-1 explicitly Ok button only enabled when the canvas is dirtied. Display resolution is used to display signatures to customer. Editable while the canvas is dirty, regardless if it was from a previous signature, or not. Cleans up signature files when they are no longer needed A new signature has been supplied. The signature has been enqueued to be sent The previous signature has been cleared -> ok'd 89546 Extend rmp to support binary message transfer Related to DM#90709 RMMobile - Provide Electronic Signature Capture for Medicaid trips - ROOT. (90710, 90711, 90712 related) Outbound from rmmobile, inbound to rmgate messages, if greater than 2k, are now split up in chunks as defined in RMP v1.8. + Fixed bug where the splitup message was appended with RMP delimeters after it was properly formatted to be sent. 90659 Integrate more versatile and aesthetic multifare collection UI - added deeper "integrity checks" on RMGate data. G/A/A amounts are skipped in the following conditions: + field 53 is not present (no change from precut#18) + field 53 is empty + field 53 contains incorrect number of subfields. - fixed an issue where the "are you sure" prompt when cancelling payment occurred on screens other than the v3 multifare screen RMMobile_Android_v2.5.00_precut#18 90659 Integrate more versatile and aesthetic multifare collection UI - moved input of Attendants,Guests and Animals to the fare screen. - added indication of G/A/A expected to fare screen. - added support for new subfields in MUW which contain ridership expected pay data (G/A/A). - added an indicator in the left hand panel that shows if there is scrollable content in the central container. - allow adding aggregate items after the maximum payment buckets are filled. - added "strikethrough" G/A/A text which indicates original value if changed by the driver. [removed] - total fare now changes with G/A/A changes according to amounts sent from RMGate. - "Cancel" warning dialog on multi-fare screen now also removes GAA count changes. - replaced "strikethrough" with emboldened green changes on the main fare screen for G/A/A. - added indication of "expected" G/A/A values to "Additional Riders" dialog. 91478 Multi-fare version 1 causes NullPointerException on Defer pressed - fixed an error where payment information was not sent on deferral. - fixed an error in "multi-fare v1" where NullPointerException occurred on deferral. - fixed an error in "multi-fare v1" where NumberFormatException (Invalid double: "") occurred when the payment screen was displayed. - fixed an error in "multi-fare v1" where the defer button does nothing. 91339 "Jump" button should not be available on fixed route stops - Jump button no longer displays on a MUW's detail panel if it doesn't have a second part. RMMobile_Android_v2.5.00_precut#17 00000 - RMMobile_Androi-v2.5.00_precut#16 was signed with the incorrect keystore. 17 is the same code with the correct keystore RMMobile_Android_v2.5.00_precut#16 86128 Configuration of a no-show timer for RMMobile (86244, 88315, 88723 and 89305 DUP) - Bug allowing a user to skip the NoShow wait if they pressed while the text "NoShow" was displayed has been fixed - Bug if two pickup-arrrives are performed the timer shows both countdowns has been fixed. 86129 Configuration of an out-of-order warning for RMMobile - Out of order warning disabled again, should not appear to a user. RMMobile_Android_v2.5.00_precut#15 - this cut addressed naming issues within the .apk. all references to versions have been updated. RMMobile_Android_v2.5.00_precut#14 89546 Extend rmp to support binary message transfer Related to DM#90709 RMMobile - Provide Electronic Signature Capture for Medicaid trips - ROOT. (90710, 90711, 90712 related) Outbound from rmmobile, inbound to rmgate messages, if greater than 2k, are now split up in chunks as defined in RMP v1.8. 90659 Integrate more versatile and aesthetic multifare collection UI - expected fare amount must be satisfied before proceeding (MUW behavior bits) - default value cannot be "unselected" (MUW behavior bits) - Removed truncating of track/account # obtained onSwipe to 10 characters (rmgate should send proper regex to what account # is). Added support for "insufficient funds" paytype bit - only allowed to pick this type if balance is zero - payment amount is always whatever the remaining balance is - changes are not allowed to other payments after this type is used (until this payment type is deleted from the list). Added support for "zero fare" paytype bit - only one may be used. - injected automatically if only one is available, and it has not yet been entered manually, unless other payment entries are present. - other payments disallowed after this type is used (until this payment type is deleted from the list). Added account number validation 90709 Provide Electronic Signature Capture for Medicaid trips - Signatures now saving on all devices - Greatly increased performance on older devices. RMMobile_Android_v2.5.00_precut#13 Fixed the following DM's: 90909 Comma to separate the next prompt key onto a new screen does not work with pre/post inspection RMMobile_Android_v2.5.00_precut#12 Fixed the following DM's: 90709 Provide Ability to capture signature - added support for SIGNATURE type prompts - sends string indicating whether or not it was signed to RMGate - Currently deletes signature files after 1 hour TODO : Add a deletion trigger, instead of time. 90659 Integrate more versatile and aesthetic multifare collection UI - added support for "acctNo must come from swipe" - added support for "must select some default payment type" - added support for "expected paytype selected until entry of that type exists" - all amount fields now default to the "remaining balance". adjustments default to their entered values. - adjustment dialog now uses the same program flow as payment entry. QA NOTE: please test additions AND adjustments for all possible payment types and note any discrepancies. - changed ordering of errors. "amount" related errors now popup before "account" related errors. 91041 Sygic URL Needs Updated in RMMobile - changed the call to Sygic to one that is more explicit so that the user option for "how to run this Intent" does not show as an option to the end user. 90820 RMMobile should display at least as much info as provided by IP Widget. More Robust error messages during login, it now should handle messages passed back from RMGate and give an appropriate error message. RMMobile_Android_v2.5.00_precut#11 Fixed the following DM's 90659 Integrate more versatile and aesthetic multifare collection UI - "Adjust" on swipe should definitely display acct number. - the "error" popup for "empty acct is invalid" (and possibly others) has OK then CANCEL, but other dialogs have CANCEL then OK. - Fixed token adjust� you needed to hit back and the fwd to get it to display amt; displays amount either way now. 89546 Extend rmp to support binary message transfer (related: DM#90518 RMGate/RMMobile message length limits prevent delivery of all needed Per and Post Inspection prompt items )Only proper reception/handling of rmp messages that are greater than 2048 is implemented (outbound messages (inbound to rmgate) aren't implemented yet). RMP v1.8. Need rmgate 6.4.00 precut#15+ - Problem was when the message (that was sent in chunks from rmgate) was formed again after concatenating different chunks, the last char which indicates end of message delimeter wasn�t taken off before it was sent to the handler (upper layer) to parse etc� so the last list item which in this case was prompt 51 didn�t get parsed properly. RMMobile_Android_v2.5.00_precut#10 Fixed the following DM's 90659 Integrate more versatile and aesthetic multifare collection UI - Properly disconnect from bluetooth card reader on close of multifare dialog, so connection can be established again successfully if and when multifare dialog is launched again. RMMobile_Android_v2.5.00_precut#9 Fixed the following DM's 90659 Integrate more versatile and aesthetic multifare collection UI - Proper display of bluetooth card reader's connection status in the multifare dialog. - Account field sizing corrected. RMMobile_Android_v2.5.00_precut#8 Fixed the following DM's 86128 Configuration of a no-show timer for RMMobile (86244, 88315, 88723 and 89305 DUP) - Removed excess ResetLeftContainer Calls - Added support for RMMobile receiving a no show timer - Added support for locking the NoShow button and displaying a timer First appears in RMP1.5 - field#14 is number of seconds to wait after pickup-arrive before noshow button can be pressed. 0 for legacy/none. this field is for rmmobile dm#86128, which is not yet targetted. the rmgate.properties file now requires new key "device.gateway.config.rmp.pickup.noshow.timer" whenever the "device.gateway.class" key has specified RMP. First Used by RMGate 6.1.00 Precut#8 - Removed NoShow radio button from depart menu 89546 Extend rmp to support binary message transfer - rmmobile (which is already fixed) (related: DM#90518 RMGate/RMMobile message length limits prevent delivery of all needed Per and Post Inspection prompt items )Only proper reception/handling of rmp messages that are greater than 2048 is implemented (outbound messages (inbound to rmgate) aren't implemented yet). RMP v1.8. Need rmgate 6.4.00 precut#15+ 90709 RMMobile - Provide Electronic Signature Capture for Medicaid trips - ROOT. (90710, 90711, 90712 related, DUP 90981) Note that this is only the INITIAL PROOF OF CONCEPT IMPLEMENTATION... actual signatures are NOT sent into rmgate and/or stored in db. prompt-kinds "(dbg#01)" ... "(dbg#10)" can now specify "{SIGNATIRE}". rmmobile will place a button that brings up a drawing canvas so the user can sign their name. in this initial implementation, the only result sent into rgmate will be a "Signature captured" or "Not yet signed" string value, which will be visible in rmgate log messages, indicating what took place on the device. rmp protocol 1.8 implements new PRMTYPE_ANSWERFORMAT_SIGNATURE (0x07). Need rmgate 6.4.00 precut#15+ 90659 Integrate more versatile and aesthetic multifare collection UI - Error handling and UI improvements including correct display of amount collected while using tokens/passes and making adjustments etc. RMMobile_Android_v2.5.00_precut#7 Fixed/Implemented the following changes: 90659 Integrate more versatile and aesthetic multifare collection UI - have fun! Added support for deducting amounts from aggregate types on the MultiFarePaymentCentralContainer.java TODO:Add info about what was fixed and what's left for this DM RMMobile_Android_v2.5.00_precut#6 Fixed/Implemented the following changes: 90595 RMMobile > History data no longer displays. - applied the fix for the same issue present in 2.4.03. 90696 Add handling of failure code 12 : "VLU not yet initialized" - new failure code is handled appropriately and driver is prompted to try again. 90705 Signoff message needs to check and send time if it's synched with server/rmgate - fixed 90696 Add handling of failure code 12 : "VLU not yet initialized" - handled 89896 Display clock causes java.lang.OutOfMemory error if additional LeftContainers are used. - actually, this was fixed in 2.4.03. see DM#89848. RMMobile_Android_v2.5.00_precut#5 Fixed/Implemented the following changes: Forward applied all DMs from 2.4.03 "post-branch split". All DMs from 2.4.03 need to be tested against this release. RMMobile_Android_v2.5.00_precut#4 Fixed/Implemented the following changes: 80003 Need for a logoff button because new devices do not have the menu button - added 'Exit' button on Info tab left panel. 88646 Add RMMobile 'AUTO DEPART' functionality (DM# 88647 RMGate, 78066 related) - auto depart should now be fully functional, enabled by InternalID 218 bit 0x02 (auto arrive is 0x01, therefore 0x03 enables both). - check that auto depart works without auto arrive enabled. it's my suspicion that RMGate isn't sending the target radius values unless auto arrive is also enabled alongside auto depart. 78066 Geofencing should be implemented to support auto arrive. (DM#86416 related, 88429 DUP) - found and fixed a bug which caused the wrong time to return in the auto-arrive event. - when testing, please check the auto arrive times versus the actual arrive times and make sure they are correct. [BRANCH_SWITCH] /*************************************** * Due to time constraints, the 2.4.03_precut#9 code base was adapted to include required * DMs for delivery to client. The 2.5.00_UI code base will become 2.6.00. the 2.5.00 * version number will continue from 2.4.03_precut#9 ***************************************/ RMMobile_Android_v2.5.00_precut#3 Fixed/Implemented the following changes: 75893 NO SHOW as a "notification" or as a "request" based on the particular device char (similar-75892, RMGate-86617) 88646 Add RMMobile 'AUTO DEPART' functionality (DM# 88647 RMGate, 78066 related) 88197 Log In Button Disappears and Requires Refresh - this should still be happening very seldom. please dig into this and report any issues. TODO : What happened to precut 1 and 2 for 2.5? RMMobile_Android_v2.4.03_precut#11 + Fixed the following DM(s): 90569 Buttons not working after selecting "cancel" when performing Route/Run Stop; Dual Excute buttons are displayed - this was a problem with the left panel getting wonky when this dialog is displayed. - the "extra Execute" button still shows up, but goes away after the dialog is dismissed. - perform and cancel buttons should work properly. - for now, ending a route or run does NOT backclear the manifest. this is a known issue. do not fail the case back for this. - in the event that you DO try to execute one of the stops after you have completed the route/run, RMGate will reject it, so there is no danger. RMMobile_Android_v2.4.03_precut#10 + Fixed the following DM(s): 90268 Null Pointer Exception Error - added more logging and the problem should be alleviated now. 90513 Emergency Button screen redraw issues causes improper rendering of left panels buttons - when returning from the emergency screen, the current screen value was set incorrectly RMMobile_Android_v2.4.03_precut#9 + Fixed the following DM(s): 90139 Buttons intermittently disappear in app - finally found the root cause; when the manifest updates its central panel, it steals the left panel. - LeftContainer thievery is now outlawed in RMMobile. 90004 Vehicle in Motion Screen freezes and doesn't go away (Panasonic Toughpad) 90136 Internal Communication Failure (related DM#90004) 90012 RMMobile freezes when VIM uses device.gateway.config.rmp.options bit 0002 - added logging to further pinpoint the VIMA freeze issue. RMMobile_Android_v2.4.03_precut#8 + Fixed the following DM(s): 90012 RMMobile freezes when VIM uses device.gateway.config.rmp.options bit 0002 + In precut#7, instead of just updating the text of VIMA. When manifest is updated, screen would unblocked and then blocked. Now just updating the text. RMMobile_Android_v2.4.03_precut#7 + Fixed the following DM(s): 90012 RMMobile freezes when VIM uses device.gateway.config.rmp.options bit 0002 RMMobile_Android_v2.4.03_precut#6 + Fixed the following DM(s): 90028 Deselecting multiple customers with the same pickup and/or drop off results in error. - fixed concurrency issues with group arrive. RMMobile_Android_v2.4.03_precut#5 + Fixed the following DM(s): 89913 Properly handle manifest updates messages - back clear of stops. 89914 VIMA screen text should not be carried over to the next time it is displayed. RMMobile_Android_v2.4.03_precut#4 + Fixed the following DM(s): 89848 Tablets at UGA consistently getting "Out of Memory" Java errors in RMMobile. - fixed a memory leak with graphics components creating too many objects. RMMobile_Android_v2.4.03_precut#3 + Fixed the following DM(s): 89848 Tablets at UGA consistently getting "Out of Memory" Java errors in RMMobile. + Don't have a fix yet. HPROF dump couldn't be captured with the v2.4.03_precut#1precut#1or#2 as LWUIT library code actually catches OutOfMemoryError and the trigger for HPROF dump was OutOfMemoryError. Now explicitly calling HPROF dump capture where ever in LWUIT's Image.java OutOfMemoryError is explicitly caught. + In additon, same techniques that are used in LWUIT's Image.java to cope with OOM are applied when VIMA is to be displayed/removed so that image/references are cleared out before getting to the boil over limit. RMMobile_Android_v2.4.03_precut#2 + Fixed the following DM(s): 89789 Disclaimer message takes up whole screen and OK button not shown sometimes at launch. 89797 Dialogs shouldn't remove the interactive buttons regardless of the size of the screen. RMMobile_Android_v2.4.03_precut#1 Heap dump is captured in the rmmlogs directory whenever java.lang.OutOfMemoryError is observed. RMMobile_Android_v2.4.02 Removed "_precut#x" designator from version name. RMMobile_Android_v2.4.02_precut#12 + Fixed the following DM(s): 89685 End route sometimes does nothing when 'perform' button is pressed from manifest screen RMMobile_Android_v2.4.02_precut#11 + Fixed the following DM(s): 89762 beeps missing for "Acknowledgement" popups - beeps now occur for all popups as they should. - test with both RMGate 6.3 and RMGate 6.4 (latest cut). 89760 right justified fields on prompt screens are cut off on the right side - central panel sizing should now be correct for all screens. RMMobile_Android_v2.4.02_precut#10 + Fixed the following DM(s): 89760 right justified fields on prompt screens are cut off on the right side - central panel sizing should now be correct for all screens. RMMobile_Android_v2.4.02_precut#9 + Fixed the following DM(s): 89708 Route status screen may not populate with correct data. - route stats now populate as they should. RMMobile_Android_v2.4.02_precut#8 Solved a LWUIT bug when processing focus of newly created components. + Fixed the following DM(s): 89685 End route sometimes does nothing when 'perform' button is pressed from manifest screen - ending a run will no longer display the route stats screen. only route ends will. - performing a garage end should never fail. RMMobile_Android_v2.4.02_precut#7 + Fixed the following DM(s): 89675 When returning focus to app, dialogs cannot be interacted with and hangs RMMobile - BE SURE TO TEST WITH XPLORE 10" TABLET 89681 ManifestUpdateMessage with muw status updates don't result in refresh of manifest screen update. RMMobile_Android_v2.4.02_precut#6 Basically fixes the same DMs as precut#5, but the build is different as it now includes the most current files from repository. RMMobile_Android_v2.4.02_precut#5 + Fixed the following DM(s): 89661 If time sync request is successful, login request message should have the synched time in the EventTime section. 89539 Run End and Route End Lines Will Not Remove From RMMobile Until After Log Off/On ending a route/run early will never fail for FR or para. 89658 Manifest changes/updates should be allowed/viewable when blocker is displayed. RMMobile_Android_v2.4.02_precut#4 + Fixed the following DM(s): 89589 Cancels in dispatch are not received by RMMobile RMMobile_Android_v2.4.02_precut#3 Made an aesthetic change to the status bar that shifts the odometer, connection status and clock to the right. + Fixed the following DM(s): 89509 StatusUpdateMessage does not perform coloring (and possibly other stuff) on manifest changes. - updates now color properly. RMMobile_Android_v2.4.02_precut#2 + Fixed the following DM(s): 89584 Manifest list/table isn't updated after back-clear/status update messages are sent from rmgate. + MUW updates included in MUWStatus update messages are processed exactly the same way MUW updates were handled prior to rmp v1.6. RMMobile_Android_v2.4.02_precut#1 Added support for HoneyDo 'wait' command. + Fixed the following DM(s): 89509 StatusUpdateMessage does not perform coloring (and possibly other stuff) on manifest changes. - manifest popups now occur as normal. 89539 Run End and Route End Lines Will Not Remove From RMMobile Until After Log Off/On - ending a route/run early will never fail. 89584 Manifest list/table isn't updated after back-clear/status update messages are sent from rmgate. RMMobile_Android_v2.4.01 Removed "_precut#x" designator from version name. RMMobile_Android_v2.4.01_precut#2 + Fixed the following DM(s): 89508 Unable to remove trips from manifest that have been reassigned. - remove button now appears as it should. 89509 StatusUpdateMessage does not perform coloring (and possibly other stuff) on manifest changes. - deletions sent via StatusUpdateMessage MUWFlags now color as "removed" as they should. - fixed an issue with improper handling of empty performance sections in message. RMMobile_Android_v2.4.00 Removed "_precut#x" designator from version name. RMMobile_Android_v2.4.00_precut#4 + Fixed the following DM(s): 89435 Handling Route/Run Stops - RUN STOP line needs to pop up are you sure message. (follow up to DM#88159) - "end route" now actually works. RMMobile_Android_v2.4.00_precut#3 MERGED: 2.3.03 GA version has been merged into 2.4.00 as of this precut. + Fixed the following DM(s): 80067 Ability to show ETA on the Device (DM#82152 (RMGate Work), 88764 (DB Work) Dependent - Improved display of ScheduleAdherence in the status bar across various screen sizes. 89436 Handling Route/Run Stops - Pop up dialog is a little too small to show all the text - increase the box size - Dialog boxes now come with more width stretchiness. RMMobile_Android_v2.4.00_precut#2 + Forward applied fixes and code changes from v2.3.03_precut#3. + DM#80067 Ability to show ETA on the Device (DM#82152 (RMGate Work), 88764 (DB Work) Dependent "Vehicle in Motion" block screen is a full screen. Fixed dynamic ETA, SA and clock on VIM. RMMobile_Android_v2.4.00_precut#1 + Partial fix of DM#80067 Ability to show ETA on the Device (DM#82152 (RMGate Work), 88764 (DB Work) Dependent Implemented RMP v1.6 with the update MUWStatusUpdated message with ManifestPerformance section and ManifestPerformance Message. Schedule Adherence info is displayed in the status bar, red if behind schedule and green if ahead/on-time. ETA of a stop is only coded to be displayed either in the detail screen or if configured properly then in the "Vehicle In Motion (VIM)" block screen. VIM is currently NOT implemented as a full screen, however, clock update and SA/ETA information is dynamic. RMMobile_Android_v2.3.03 Removed "_precut#x" designator from version name. RMMobile_Android_v2.3.03_precut#5 + Fixed the following DM(s): 89420 RMMobile - Unable to exit emergency mode - breaks - better handling of the left panel. RMMobile_Android_v2.3.03_precut#4 + Fixed the following DM(s): 89420 RMMobile - Unable to exit emergency mode - breaks - added the "back" button back for emergency and break screens (returns to main info tab screen, as it did). 89106 occasionally RMMobile does not ACK the logon response from RMGate. - fixed and tested. 89367 "Dismiss" button need to be modify - buttons should no longer truncate button text. RMMobile_Android_v2.3.03_precut#3 + Fixed the following DM(s): 89062 Enabling Assistance Needs Removes Customer Name - "segments" which are larger than the screen will now ellipsize, taking only 1/nth of the screen where 'n' is the number of segments. 89238 Prevent Fare Report and Passenger Report displayed when garage stop completed - the fare and passenger report should only show if the device has processed para trips. 88159 Handling Route/Run Stops - you should now see a warning if you attempt to complete the end route stop before completing all other stops. RMMobile_Android_v2.3.03_precut#2 + Fixed the following DM(s): 89243 RMMobile Audible Alerts Do Not Sound - RMMobile should play an audible alert whenever the driver needs to be alerted of new messages. 89106 occasionally RMMobile does not ACK the logon response from RMGate. - added more config data persistence in the inbound listener. 78066 Geofencing should be implemented to support auto arrive. (DM#86416 related, 88429 DUP) - fixed some code displacement during the merging of the 2.4 branch which caused an improper key to be used when referencing manifest items against the auto-arrive list. 89386 "COPY-ADD" and "COPY-GPS" in map tab does not working in FR. - clipboard now works as it should. 89005 RMMobile generates "Invalid GPS" Warning every time it logs in. - fixed by sending empty GPS info in login request if no GPS info is available. 89233 Add enhancements to mailbox / dispatch message windows - adjusted button text size, as it might be too small for some drivers to see. - added (viewing X of Y messages) in title area of window. - adjusted message text size; needs to be slightly larger (10" screens make it look tiny). - mailbox needs to differentiate any messages in the mailbox that still require a driver response. RMMobile_Android_v2.3.03_precut#1 + Fixed the following DM(s): 89036 Improve look and feel of configuration screen - ensure that the 'clear' functionality works on the debug and device properties text entry fields. - allow full 64-bit entry into debug / device properties fields (this was actually a bug where the maximum value was tested against the field's original value and the new accepted value, which was just wrong. this was actually present in every field.) - allow saving invalid data. - disallow login if bad / incomplete data is present. - should not have to enter things in order and/or that are not needed by the subordinate popup forms (property and/or debug bitset) in order to get to those forms. 89243 RMMobile Audible Alerts Do Not Sound - RMMobile should play an audible alert whenever a dispatch message is received. 89233 (FIXED_PARTIAL) Add enhancements to mailbox / dispatch message windows - button text size adjusted. - "Viewing X of Y (Popups/Mails)" should appear in the upper left corner of all messages now, and display the appropriate value. - message text size is slightly larger. - messages which still require a driver response are now marked with an 'X' in the mailbox. - there are 2 more items in the DM which will be added in the next precut. 89106 occasionally RMMobile does not ACK the logon response from RMGate. - all login responses should ACK appropriately and config data is more persistent after config changes... 89250 Sometimes break updates are not sent when returning from break - all break updates should be sent as expected, even after visiting the configuration screen (or doing anything else the user can do). 88402 (FIXED_INDIRECTLY) RMMobile changes the Debug Properties value after going to break - this was fixed inadvertently when making improvements to the config screen (89036). test thoroughly. 89096 "Communication Failure" message needs to be re-worded. - changed wording of dialog to something more sensible and human-readable. 89156 Maps do not display if address info is not valid - maps would not display if only address info (no lat/lon) were available for the stop. now all stops should be mappable. - need to test for both Sygic and Google Maps. 89248 LOGGING: Log In Button Disappears and Requires Refresh - logging items to help with 88197. (Login button disappears). see DM Notes. RMMobile_Android_v2.3.02 Removed "_precut#x" from version RMMobile_Android_v2.3.02_precut#5 + Fixed the following DM(s): 89112 Add old features to new alert dialogs - fixed a minor issue with mail messages overlapping the screen blocker and not disappearing as they should. RMMobile_Android_v2.3.02_precut#4 *Added some extra logging for fare prompts for case 88154* + Fixed the following DM(s): 89112 Add old features to new alert dialogs - newest dispatch message popup now appears on top. - message queue does not 'loop' when using 'next' and 'prev' buttons - mailbox items can now be traversed using 'next' and 'prev' buttons from within the popup window RMMobile_Android_v2.3.02_precut#3 + Fixed the following DM(s): 89112 Add old features to new alert dialogs - Forgot to enclose the Android UI call .show inside the runOnUiThread Runnable. Herp Derp. RMMobile_Android_v2.3.02_precut#2 + Fixed the following DM(s): 89112 Add old features to new alert dialogs - "Previous" and "Next" buttons - Red text for dispatch messages RMMobile_Android_v2.3.02_precut#1 Accidentally included some excess changes in the 2.3.01 GA cut. Replacing 2.3.01 junk with pristine build of 2.3.01_precut#9 as 2.3.02_precut#1. RMMobile_Android_v2.3.01 Removed "_precut#x" from version + Fixed the following DM(s): 88132 RMMobile - Maintain versioning that is visible by AirWatch MDM solution - Changed a couple lines in the manifest so that (hopefully) the details of our app will appear in the Mobile Iron interface with the 'code version' and 'display name' fields populated properly. RMMobile_Android_v2.3.01_precut#9 + Fixed the following DM(s): 88773 Modify NOTIFY behavior to allow the ability to set MUW color without popping up (81739 related - RMGate) - fixed an issue where FR stop popups were not displaying properly. the dialogs make much more sense now. 89001 Reverse order of mailbox items so that newer items are at the top 84614 Provide a method in RMMobile to alert the driver that GPS is turned off and request it be turned on - provided an abstract GPS system setting interface/impl which detects GPS and prompts the user to enable it. - please see the DM, which contains Dave's input and my solution as well as test steps. RMMobile_Android_v2.3.01_precut#8 + Fixed the following DM(s): 88773 Modify NOTIFY behavior to allow the ability to set MUW color without popping up (81739 related - RMGate) - added proper handling of new color bit. 88742 Cannot Remove Update Alert Pop-up in RMMobile 2.3.00: - fixed a bug in CannedMessageTask which released the message context at inappropriate times, causing ACK messages to be ignored, and allowing messages to be sent when they should not be. RMMobile_Android_v2.3.01_precut#7 Removed FileNames.java, and instead marked logging, thread names and message context owner using 'class.getName()'. this ensures that, rather than relying on references to static strings (see FileNames.java in previous revision), we always get the actual name of the class doing the thing being logged/sent/whatever. + Fixed the following DM(s): 88742 Cannot Remove Update Alert Pop-up in RMMobile 2.3.00: 87433 freezes when attempting to send canned message: - fixed an error in the OutboundMessageSender / InboundMessageHandler which caused the next message sent after a "ACK only" message to fail and then requeue, (see 87433 comments in OutboundMessageSender.java and InboundMessageHandler.java). - changed canned message failure alert to something more understandable by the driver in the case where they attempt to send a canned message whilst another "immediate send" message is being sent. - went back to the old "display manifest screen after canned message send button pressed" behavior to indicate to the driver that their command is being processed. 88865 Communication Error on First Logon: - auto arrive analyzer thread was not instantiated before .start() was attempted. instantiation is now guaranteed. RMMobile_Android_v2.3.01_precut#6 + Fixed following DM(s): 88828 Initial login fails without error, stays on "Logging In" screen: - ensure socket creation success does not depend on config data being present. - ensured that socket creation is handled with appropriate errors on failure. - ensured that socket is only created once. RMMobile_Android_v2.3.01_precut#5 + Excluded work done for DM# 78066 Target checking and auto-arrive feature implemented, as it needs improved error handling. Instead of fixing the actual bug, excluding the code so FairBanks and other agencies can actually use rmmobile and other enhancements. RMMobile_Android_v2.3.01_precut#4 + Fixed following DM(s): 88829 RMMobile2.3.01 Precut#3: received error when trying perform a trip (related to DM#88798) 88742 Cannot Remove Update Alert Pop-up in RMMobile 2.3.00: 87433 freezes when attempting to send canned message: - applied dialog changes to mailbox items, so when they are viewed they use the new dialog style. - changed look of dialogs to correlate better with app theme. - added support for "standard"/"non-popup" messages to be answered from the mailbox. - added mailbox notification to notification bar indicating total mail messages as well as number unread. RMMobile_Android_v2.3.01_precut#3 88193 Trips Rejected by Tablet - more logging added 88798 RMMobile doesn't discriminate the same ID across objects when receive muw work from RMGate - By RMP definition the unique key to identify a MUW is muwID/muwKind and muwKind exists specifically so two MUWs with same ID are properly considered distinct. RMMobile_Android_v2.3.01_precut#2 Precut#1 released with incorrect release key. re-releasing with proper .apk. Changes for DM#87433 and DM#88742 moved to UIController to ensure platform independence. + Fixed following DM(s): 88775 Improve behavior of color coding on RMMobile MUW changes in support of same dat FR manifest changes (RMGate DM#81739) - now properly checking for notify option when processing all MUWs (originally, only new MUWs were checking the bit). - added color bit handling for more control over MUW changes (new/change/remove) colors and notifications. RMMobile_Android_v2.3.01_precut#1 + Fixed following DM(s): 87433 freezes when attempting to send canned message: 88742 Cannot Remove Update Alert Pop-up in RMMobile 2.3.00: - added the ability to multitask while canned message is being sent. other messages which require "immediate send" while the canned message is processing will be rejected and a failure message will be displayed. - added subtle success message which doesn't interrupt user activity (using Toast). - ensured failure messages always get delivered to the screen. - fixed a bug that caused the task to be re-run in it's entirety (all retries and TTLs expired 3 times before the task failed). RMMobile_Android_v2.3.00 Removed "_precut#x" from version. RMMobile_Android_v2.3.00_precut#10 + Fixed following DM(s): 88692 RMMobile app display clock lags behind the system (server) clock. - Display clocks are refreshed every 1 second and got rid of java.util.TimerTask RMMobile_Android_v2.3.00_precut#9 + Fixed following DM(s): 88692 RMMobile app display clock lags behind the system (server) clock. RMMobile_Android_v2.3.00_precut#8 + Fixed following DM(s): 88684 departing break start causes break end to disappear from the manifest RMMobile_Android_v2.3.00_precut#7 RMMobile_Android_v2.3.00_precut#6 was released without synchronizing the code properly. Precut#7 includes the fixes in precut#6 essentially. 88065 Synchronize times across MDCs, VLUs, and servers (DM#85689/87780 related) Correctly update the display clock with the Server Time after synchronizing. 88455 Fix the "incomming" misspelling in debug properties RMMobile_Android_v2.3.00_precut#6 + Fixed following DM(s): 88065 Synchronize times across MDCs, VLUs, and servers (DM#85689/87780 related) Correctly update the display clock with the Server Time after synchronizing. 88455 Fix the "incomming" misspelling in debug properties RMMobile_Android_v2.3.00_precut#5 + Fixed following DM(s): 88065 Synchronize times across MDCs, VLUs, and servers (DM#85689/87780 related) RMMobile_Android_v2.3.00_precut#4 + Fixed following DM(s): 88574 StoreNforward messages permanently stored properly (related: 78070) 88575 Maintain proper order of messages outbound from rmmobile (inbound to rmgate). RMMobile_Android_v2.3.00_precut#3 + Fixed following DM(s): 78066 Target checking and auto-arrive feature implemented. 88153 RMMobile Configuration is Wiped Without User Edit 88020 RMMobile displays login screen after improper RMMobile exit even though device is still sending data to RMGate RMMoobile_Android_v2.3.00_precut#2 + Fixed following DM(s): 75893 "No Show" request implementation 88020 RMMobile displays login screen after improper RMMobile exit even though device is still sending data to RMGate 88380 RMMobile_2.3.00_precut#1 does not install on top of latest GAed 2.2.03 on Android 4.2.2 devices 88396 Msg received with a tag# that's receivd early should be checked if the contents is same, if not treat as new msg. RMMoobile_Android_v2.3.00_precut#1 + Fixed following DM(s): 87567 Merge Agent and Mobile code bases + Code version bumped to 0600 RMMobile_Android_v2.2.03 + Fixed the following 1 DM 00000 - Removed '_precut#' designation RMMobile_Android_v2.2.03_precut#2 + Fixed the following 1 DM 87764 - Sygic not available when GPS is unavailable + removed cancel button RMMobile_Android_v2.2.03_precut#1 + Fixed the following 1 DM 87764 - Sygic not available when GPS is unavailable RMMobile_Android_v2.2.02 + Fixed the following 1 DM 00000 - Removed '_precut#' designation RMMobile_Android_v2.2.02_precut#7 + Fixed the following 1 DM 87748 - Internal Error when attempting to send emergency message RMMobile_Android_v2.2.02_precut#6 + Fixed the following 1 DM 87628 - Initial Keyboard in RMMobile does not have number pad + Changed keyboard layout to follow Dave's design RMMobile_Android_v2.2.02_precut#5 + Fixed the following 1 DM 86719 - Dispatch Message Screen: Color/font of incoming text from Dispatching is difficult to read + reverted text color change, made the background lighter instead RMMobile_Android_v2.2.02_precut#4 + Added logging to GPS + Fixed the following 1 DM 86719 - Dispatch Message Screen: Color/font of incoming text from Dispatching is difficult to read RMMobile_Android_v2.2.02_precut#3 + Fixed the following 1 DM 87628 - Initial Keyboard in RMMobile does not have number pad + Fixed left/right navigation buttons + Changed CXL to CAN for three letter cancel + Fixed shift key not working RMMobile_Android_v2.2.02_precut#2 + Fixed the following 1 DM 87628 - Initial Keyboard in RMMobile does not have number pad RMMobile_Android_v2.2.02_precut#1 + Fixed the following 1 DM 87646 - Update RMMobile's code regarding GPSInfo RMMobile_Android_v2.2.01 + Fixed the following 1 DM 00000 - Removed '_precut#' designation RMMobile_Android_v2.2.01_precut#18 + Code clean-up + Fixed the following 2 DM 87304 - Failure to load correctly after a crash + Fixed MUWs m_behaviour and m_flags being saved as decimal but loaded as hex + Added a call to update the DriverManifestTabbed screen to fix the manifest screen sometimes loading empty + Moved call to load configuration to prevent it from not being loaded correctly 78071 - Screen lock when there is no GPS signal should be removed. + Added a GPSMonitor thread to determine if the last known GPS location was stored outside of the confidence interval RMMobile_Android_v2.2.01_precut#17 + Code clean-up + Disabled the language selector + Fixed the following 1 DM 87390 - TTL Exception popping immediately on Login + added the check to the debug/settings buttons RMMobile_Android_v2.2.01_precut#16 + Fixed the following 3 DM 87482 - Exit button should not be visible on post-inspection screen. 87443 - Vehicle in Motion window header is not visible on some devices. (RMMobile 2.2.01_precut#13) + Fixed the duplicate titles on devices on which this previously worked 87390 - TTL Exception popping immediately on Login RMMobile_Android_v2.2.01_precut#15 + Fixed the following 2 DM 87443 - Vehicle in Motion window header is not visible on some devices. (RMMobile 2.2.01_precut#13) 87304 - Failure to load correctly after a crash RMMobile_Android_v2.2.01_precut#14 +added null check to pre/post items + Fixed the following 5 DM 87445 - Hitting anywhwere under the OK button on the Disclaimer screen locks the button down. 87446 - Clicking 'Next' in trip details screen on final trip throws ArrayIndexOutOfBoundsException error message 87443 - Vehicle in Motion window header is not visible on some devices. (RMMobile 2.2.01_precut#13) 87442 - Font size is too big on the ET1's Vehicle in Motion screen (RMMobile 2.2.01_precut#13) 87435 - RMMobile sits at a blank blue screen after hitting Save or Cancel at the Config screen RMMobile_Android_v2.2.01_precut#13 + Fixed the following 2 DM 87339 - java.lang.Exception when attempting to log in to RMMobile. + added null check + changed foreach to for 87403 - RMMobile crashes if screen goes to sleep for more than 5 minutes. RMMobile_Android_v2.2.01_precut#12 + Fixed the following 3 DM 87392 - Set the Vehicle in Motion screen to be developer only option 87359 - OK button is half visible on GalaxyTab2 7' on the Login screen Invalid ID pop up window 85179 - Implement RTT and PRTT on the Manifest Screen + fixed inverted logic RMMobile_Android_v2.2.01_precut#11 + Fixed the following 2 DM 87339 - java.lang.Exception when attempting to log in to RMMobile. 87340 - Hitting the Help button at the login screen throws a java.lang.NullPointerException +also removed help button from pre/post inspection RMMobile_Android_v2.2.01_precut#10 + Code clean-up + Fixed the following 1 DM 87328 - Fix AM/PM spacing when in 12 hour mode RMMobile_Android_v2.2.01_precut#9 + Fixed the following 2 DM 87328 - Fix AM/PM spacing when in 12 hour mode 87307 - Upgrading from 2.1d to 2.2.0 and above brings up config screen with warning message + Fixed an issue with the device properties being populated with the x500000 bits on RMMobile_Android_v2.2.01_precut#8 + Fixed the following 1 DM 87307 - Upgrading from 2.1d to 2.2.0 and above brings up config screen with warning message RMMobile_Android_v2.2.01_precut#7 + Code cleanup - using constant values instead of magic numbers + Fixed the following 2 DM 87328 - Fix AM/PM spacing when in 12 hour mode 87304 - Failure to load correctly after a crash RMMobile_Android_v2.2.01_precut#6 + Fixed the radio buttons not working correctly on the device/debug properties screens + Fixed the following 2 DM 87328 - Fix AM/PM spacing when in 12 hour mode 87273 - Deleted trip from MUW should get back to the MUW if dispatching assigns it again to the vehicle RMMobile_Android_v2.2.01_precut#5 + Reverted to 2.2.01_precut#2 with the change to fix bit values on prompt items RMMobile_Android_v2.2.01_precut#4 + Fixed the following 1 DM 87179 - RMMobile prompts print giant SKIP button when using 0x20 modifier to put answers on next line (related DM#74074) + fixed issue with skip button usage RMMobile_Android_v2.2.01_precut#3 + Fixed null pointer on login + Fixed font scaling + Fixed the following 1 DM 87179 - RMMobile prompts print giant SKIP button when using 0x20 modifier to put answers on next line (related DM#74074) RMMobile_Android_v2.2.01_precut#2 + Fixed the following 2 DM 87131 - Rmmobile -RTT/PRTT generates erroneous/blank messages which generate NULLPointerException error 78070 - Store all undelivered 'store-forward' messages on the device permanently. + fixed the issues with sending to RMGate failing RMMobile_Android_v2.2.01_precut#1 + Fixed the following 2 DM 87134 - Settings reported as unsaved when saving config screen 87147 - Encryption does not work when other bits are used RMMobile_Android_v2.2.00 + Removed "_precut#x" from version. + Fixed 86004 RMMobile defaults to 1 minute GPS reporting when delta time set to 0 minutes by RMGate + In case there was no "previous" GPS message sent, rmmobile would send out at least one GPSInfo message; just added to the check to do so only if deltaTime set > 0. RMMobile_Android_v2.2.00_precut#14 +Fixed the redraw issues on History screen +Removed Back button functionality on Driver Login screen +Removed Config functionality on Driver Login screen when Driver is on break +Fixed the scroll issue on the Send MSG tab +Fixed crashing on exit +Fixed Canceling a Defer payment +Fixed the following 1 DMs 81453 - RM Mobile - Resize data on the tablet screen. (RMGate 85961. other:79995,79997,80476,79999,79605,76886,80475,80671) +Fixed ET1 sizing issue RMMobile_Android_v2.2.0_precut#13 +Fixed ManifestHistory Paid value showing cents instead of dollars & cents +Merged Fare file into Config file per Dave's instruction that there be only one file +Fixed issue where recovering from crash displayed History left panel on Driver Login screen +Fixed issue where recovering from crash displayed Manifest left panel on Driver Login screen +Fixed the following 6 DMs 87045 - Group Arrive screen should only scroll and not check/uncheck trips unless the trip's checkbox is selected. +Fixed selection/scrolling issue so now the checkbox is the only element that determines selection 87078 - When using ADB capture bit files do not stop being written to 85576 - Store ListItemMessages locally (chained 82802, 82803, 78070) +added synchronization to encryption/decryption 86889 - RM Mobile - Fare Clicker screen scrolls to end of pane on scroll event 81453 - RM Mobile - Resize data on the tablet screen. (RMGate 85961. other:79995,79997,80476,79999,79605,76886,80475,80671) 87031 - Fix UI Components on the Configuration Screen RMMobile_Android_v2.2.0_precut#12 +Fixed issue with RMMobileFontResource +Fixed LeftPanel disappearing issues +UI tweaks +Fixed the following 5 DMs 81453 - RM Mobile - Resize data on the tablet screen. (RMGate 85961. other:79995,79997,80476,79999,79605,76886,80475,80671) 85866 - Vehicle is not reporting GPS often enough (~1 minute instead of 15 seconds) . 85576 - Store ListItemMessages locally (chained 82802, 82803, 78070) 86795 - Customer Name and Phone Number Labels overlap in Execute screen. 87031 - Fix UI Components on the Configuration Screen RMMobile_Android_v2.2.0_precut#11 + Fixed null pointer issue on DriverLogin screen + Fixed Configuration screen per Dave White's instruction + Fixed the following 8 DMs 86202 - Screen Blocker - display info from SELECTED stop, unless perform in order on (related DM# 78076 is original implementation) + Fixed off-by-one error 81453 - RM Mobile - Resize data on the tablet screen. (RMGate 85961. other:79995,79997,80476,79999,79605,76886,80475,80671) + Fixed ET1 font sizing issue 86970 - Move the Properties button on the Configuration screen 86975 - Customer Name and Phone Number Labels overlap in Execute screen. 86988 - Multiple Fareclicker screens not working when using comma 86137 - Remove duplicate Left Panels + Remove left panel on button press 86067 - History screen MUW layout should follow the Manifest List layout similar to DM#82002 in RMMobile_Android_v2.2.0_precut#6 + Added 1002 value to display the odometer 81446 RM Mobile - Group Arrive for trips (time and location based) (related 81904, 82521 - duplicate) RMMobile_Android_v2.2.0_precut#10 + Fixed the following 8 DM 81446 - RM Mobile - Group Arrive for trips (time and location based) (related 81904, 82521 - duplicate) 86137 - Remove duplicate Left Panels + Fixed issues listed at the top of the DM 81897 - RM Mobile - Trip should maintain highlight after 'Arrive' action allowing 'Depart' action of trip without reselection 86717 - Pre inspection screen in not coming up for the driver 86932 - RMMobile throws an error when deffering a payment for a trip 86202 - Screen Blocker - display info from SELECTED stop, unless perform in order on (related DM# 78076 is original implementation) + Corrected the index to work with performInOrder + Fixed the font size on the blocker screen 86475 - move settings screen into configuration screen. + fixed settings screen not updating properly to show configuration 82803 - Save State onPause - phase 2 (chained 82802) + moved call to load so that it actually loads MUWs now + added storage check for maintain history RMMobile_Android_v2.2.0_precut#9 + Fixed the following 8 DM 81446 - RM Mobile - Group Arrive for trips (time and location based) (related 81904, 82521 - duplicate) 82803 - Save State onPause - phase 2 (chained 82802) 86870 - Counter on fareclicker is too large 86672 - RMMobile occasionally experiences ArrayIndexOutofBoundsExceptions while loading manifest. 86858 - RMMobile 2.2 precut 8 settings screen radio buttons should not scroll. 86471 - inconsistent left panel label sizes on history and info screens 86445 - centralcontainers scroll off screen 86427 - android "back" button not supported RMMobile_Android_v2.2.0_precut#8 + Updated log bits in Readme + Removed test code that was creating multiple files + Fixed post merge issues + Fixed the following 20 DMs 85487 - NullPointException when Progress Dialog is cancelled 86718 - When logging in without any ID or PIN, the app takes you to a blank manifest instead of prompting you for credentials. 85393 - Remove extra scroll pane from Send MSG, MailBox, and History tabs 86634 - Possible to have incorrect left panel buttons on manifest screen. 86672 - "RMMobile occasionally experiences ArrayIndexOutofBoundsExceptions while loading manifest." Fixed using selected synchronization statements on involved objects. Believe I can prove within reasonable doubt that there is no potential for deadlock using my method 86614 - combobox menus do not size correctly, do not use correct font 86427 - android "back" button not supported 86569 - Various screens in RMMobile do not put their button in the left pane. 86475 - move settings screen into configuration screen. 86471 - inconsistent left panel label sizes on history and info screens. 86445 - centralcontainers scroll of screen 81893 - Fare Total Report on tablet 86839 - RMMobile java.lang.NullPointerException errors after extended use. + Added better logging and some code clean up/formatting 86675 - RMMobile errors out on the fareclicker screen when i use 15 or more fareclicker types 86725 - RMMobile crashes the first time it is launched after an update 86720 - Disclaimer seem to disappear before pressing okay 81446 - RM Mobile - Group Arrive for trips (time and location based) (related 81904, 82521 - duplicate) + Implemented the proper checks to prevent start/stop/pullin/pullout/breaks from triggering group arrive 82002 - RM Mobile - Ability to change column order on tablet (DM#81971, 81890, 83255 - Duplicate, 82801 - rmgate) + Fixed not reading from RMGate properly + Added precomputed sizes to loop indexes for better performance 86452 - RMMobile manifest refresh interrupts use of input prompts (i.e. fare clicker) (DM#86538 similar) + Redesigned the fix to be more simple 86067 - History screen MUW layout should follow the Manifest List layout similar to DM#82002 in RMMobile_Android_v2.2.0_precut#6 + Fixed what is reported to RMGate + Fixed null pointer exception due to improper order of operations + Changed calls to create renderers RMMobile_Android_v2.2.0_precut#7 + Fixed an issue with the Settings screen not calling save properly + Fixed the odometer display showing ellipses + Fixed an issue with the fare prompts screen + Fixed the following 6 DMs 86137 - Remove duplicate Left Panels + Fixed issue with Inspection Screen Left Panel 86067 - History screen MUW layout should follow the Manifest List layout similar to DM#82002 in RMMobile_Android_v2.2.0_precut#6 86095 - cannot use count#off without count#on FR.prompt - NULL value fails 83253 - RMMobile: Suggest Odometer reading to Driver based on previous day's odometer vaule for vehicle 86406 - Text on login buttons changes size after unsuccessful logon 86202 - Screen Blocker - display info from SELECTED stop, unless perform in order on (related DM# 78076 is original implementation) RMMobile_Android_v2.2.0_precut#6 + Fixed the following 5 DMs 82002 - RM Mobile - Ability to change column order on tablet (DM#81971, 81890, 83255 - Duplicate, 82801 - rmgate) 81446 - RM Mobile - Group Arrive for trips (time and location based) (related 81904, 82521 - duplicate) 86395 - RMMobile 2.2.0 precut #6 crashes on startup with ArrayIndexOutofBoundsException 81453 - RM Mobile - Resize data on the tablet screen. (RMGate 85961. other:79995,79997,80476,79999,79605,76886,80475,80671) + fixed checkboxes in the group arrive section 86137 - Remove duplicate Left Panels + fixed screen navigation on the Manifest screen + fixed screen navigation on the History screen + fixed all reported/noticed stability issues RMMobile_Android_v2.2_precut#5 + Logging current memory usage/heap utilized. + Fixed decimal keyboard entry/deletion + Fixed null pointer on virtual keyboard + Added new splash screen + Fixed problem with screen freeze when recovering from crash + Fixed DriverLoginScreen losing commands after going to Settings/Config/Help screens + Fixed the following (3) DMs 81453 - RM Mobile - Resize data on the tablet screen. (RMGate 85961. other:79995,79997,80476,79999,79605,76886,80475,80671) + fixed font sizes on smaller devices + fixed font sizes for auto sized central panel objects and for the summary screen 86137 - Remove duplicate Left Panels + added font scaling + fixed several issues of the buttons not working as intended + fixed null pointer when recieving message from dispatch 86124 - Put all clocks on the same timing thread. RMMobile_Android_v2.2_precut#4 + Removed RTT/PRTT Hardcoding + Made logging threaded + Fixed outboundmessagesender so it does not poll + Added names to threads to make debugging easier + Updated threads and thread names + Added border around MUWs + Fixed Keyboard UI + Fixed the following (16) DMs 85881 - Forward port changes from 2.1b into 2.2 81453 - RM Mobile - Resize data on the tablet screen. (RMGate 85961. other:79995,79997,80476,79999,79605,76886,80475,80671) 85967 - Add the connected/disconnected icon 81402 - RM Mobile - show address "Common Name" by default if address has common name (dm#82812 related - RMGate) 85880 - Fix logging to move check for valid log bits are outside of the call to log. 81446 - RM Mobile - Group Arrive for trips (time and location based) (related 81904, 82521 - duplicate) 85541 - Array index out of bounds error when only one prompt is sent 78070 - Store all undelivered 'store-forward' messages on the device permanently. 85618 - Move all File IO process into a background thread 82803 - Save State onPause - phase 2 (chained 82802) + works in conjunction with the 5 min time limit from 82802 85577 - Load configuration during SplashScreen 85576 - Store ListItemMessages locally (chained 82802, 82803, 78070) + sends CRC checksum to determine if the lists need to be downloaded at login 85562 - Fix RSA Encryption/Decryption for arrays larger than 117 bytes 83365 - Identify new or changed manifest lines by a color change or other indication + fixed remove from Detail Screen not working properly 85487 - NullPointException when Progress Dialog is cancelled 86004 - RMMobile defaults to 1 minute GPS reporting when delta time set to 0 minutes by RMGate 84893 - When Sygic is launched from RMMobile, no route is shown RMMobile_Android_v2.2_precut#3 + Forward ported the changes from 2.1a + Restored RTT/PRTT which were overwritten by the 2.1a ported changes + Fixed the following (14) DMs 83365 - Identify new or changed manifest lines by a color change or other indication 85450 - All logs purged on the first day of the month 80195 - Driver is not required to log in after break if device sleeps/awakened while on break. 83570 - Vehicle in Motion screen disappears if home or sleep button are pressed and then the user goes back to RMMobile. + added awkward menu click to remove the screen per Dave White's instruction 78076 - RM Mobile - Next stop information visible while vehicle is in motion (dm#82811 related - RMGate) 78071 - Screen lock when there is no GPS signal should be removed. 85411 - Selection needs contrast in Send MSG, MailBox, and History tabs + Also fixed the Info tab 85408 - Local/config to specify debug-cats to be written to log which are superseded by login response from rmgate. + fixed save/loading issue + fixed duplicate text and no Spanish translation + fixed not checking for null/empty string when pressing 'Save' button + fixed need for static references 85393 - Remove extra scroll pane from Send MSG, MailBox, and History tabs 85384 - Jump button is visible for a Dropoff after the Pickup has been completed 83254 - RMMobile: Flag or alert to Driver that Trip or Address has special notes 85352 - Create a larger contrast for a selected MUW 83065 - Jump button doesn't scroll screen to selected item nor highlight it to demonstrate that it is selected 85463 - Force screen on. RMMobile_Android_v2.2_precut#2 + Fixed the following (5) DMs 85218 - Pressing Back from the Fare Prompts Screen after a payment has been deferred will not allow the payment to be changed 85204 - Cancel button at the Fare Collected screen does not go back to the Fare Type screen as it should. 85215 - Back button on Fare Prompts Screen does not display the previous screen. 85196 - Null pointer exception when prompts are left blank 85195 - Defer button reports IndexArrayOutOfBounds Error RMMobile_Android_v2.2_precut#1 + Fixed the following (1) DMs 85179 - Implement RTT and PRTT on the Manifest Screen RMMobile_Android_v2.1d Removed "_precut#x" version. RMMobile_Android_v2.1d_precut#1 + Fixed the following DM(s): 86222 Stop Route item disappears from Manifest after Stop Run is processed (related DM#86275). RMMobile_Android_v2.1c Removed "_precut#x" version. RMMobile_Android_v2.1c_precut#1 + Fixed the following DM(s): 86088 RMMobile out of memory errors after extended use - Introduced debug bit 0x0000000000040000 // current memory/heap usage vs total allocated. RMMobile_Android_v2.1b Removed "_precut#x" post fix from version. RMMobile_Android_v2.1b_precut#1 + Fixed the following DM(s): 80864 RMMobile Application frequently closes requiring the driver to log back in. (Related 81150, 82293 duplicate The problem with all versions of rmmobile (android 2.1a and prior across all platforms) was that all 'end points' of 'manifest of work', i.e. 'stops', are stored in a (vanilla) binary search tree. And as the manifests would grow larger, the depth of the tree gets larger and not so feasible for recursive search/insert with a (Android's) stack size of only 8k. The problem of (a very skewed (aka linked list)) tree is magnified when all the completed stops are added (from the active tree which are already sorted) to the "history" tree, which results in the history tree simply as a linked list because there was no self balancing feature. The self balancing feature, i.e. making these binary trees as AVL tree is the major undertaking under thid DM. Added debug category 0x0000000000002000 // related to tree DS holding MUWs. 85801 Add adb log (capture) bit, when turned on, should write all the adb log to rmmobile log file. 0x0000000000010000 // capture adb log - BE VERY MIDFUL WHEN TURNING THIS ON AS IT RESULTS IN HUGE LOG FILE SIZE AND WILL INCUR SIGNIFICANT OVERHEAD; when turned on the deviceDebugToFile will write the android adb log to file. RMMobile_Android_v2.1a + Fixed the following (1) DMs 00000 - Removed precutX designation RMMobile_Android_v2.1a_precut#3 + Fixed/Organized the code regarding the Back button from the Fare Prompts Screen + Fixed the following (3) DMs 85256 - Back button does not work on the Fare Prompts Screen when performing a fixed route stop 85218 - Pressing Back from the Fare Prompts Screen after a payment has been deferred will not allow the payment to be changed 85215 - Back button on Fare Prompts Screen does not display the previous screen. RMMobile_Android_v2.1a_precut#2 + Fixed the following (3) DMs 85256 - Back button does not work on the Fare Prompts Screen when performing a fixed route stop 85255 - The central panel of the Manifest Screen should not be scrollable 85253 - The Defer button is present during DropOffDeparts RMMobile_Android_v2.1a_precut#1 + Fixed the following (5) DMs 85218 - Pressing Back from the Fare Prompts Screen after a payment has been deferred will not allow the payment to be changed 85204 - Cancel button at the Fare Collected screen does not go back to the Fare Type screen as it should. 85215 - Back button on Fare Prompts Screen does not display the previous screen. 85196 - Null pointer exception when prompts are left blank 85195 - Defer button reports IndexArrayOutOfBounds Error RMMobile_Android_v2.1 + Fixed the following (1) DMs 00000 - Removed precutX designation RMMobile_Android_v2.1_precut#9 + Fixed the following (1) DMs 85169 - Counter Prompt Item can have the value be deleted 85160 - Settings not loading properly + Copy and paste error resulted in odometer display using the hide map's value, fixed it so that the correct values are being used RMMobile_Android_v2.1_precut#8 + Fixed the following (1) DMs 85160 - Settings not loading properly RMMobile_Android_v2.1_precut#7 85157 Reset udp datagram packet buffer to default size before receiving each packet. RMMobile_Android_v2.1_precut#6 + Turned off space testing for fare clicker screens (was accidentally left on during a test for Dale) + Added check that allows for empty strings to be set in fare clicker 85135 - Pressing 'Back' from the NoShow summary screen goes to PickupDepart's Prompt screen 85125 - Implement 0x40 bit for Prompt Items 83044 - Implement ResourceBundle to replace String initialization + Some translations were not correct for the given context + Some translations were missed 85078 - Updated "wait-indication" to Android 'DialogFragment' Improved display and dismissal of FragmentDialog based on the manifest update/status. RMMobile_Android_v2.1_precut#5 + Fixed the following (2) DMs 85078 - Updated "wait-indication" to Android 'DialogFragment' +previous fix required touch to dismiss dialog by adding another call to cancel the dialog when the total trips get updated +fixed dialog displaying during pre-inspection 85080 - Check for improper "configuration" improved. +previous fix only checked for null, added check for empty RMMobile_Android_v2.1_precut#4 RMmobile keystore was re-generated to sign RMMobile_Android.apk and that's why if a device has an earlier version of rmmobile, it needs to be uninstalled before installing the new one. Going forward, the certificate with rmmobile will remain the same and there won't be any signature/certificate conflicts which will allow a newer version to install over the previous one (without the need of removing it). + Fixed the following DMs 85078 - Updated "wait-indication" to Android 'DialogFragment' 85079 - Check for previously stored "settings" improved. 85080 - Check for improper "configuration" improved. RMMobile_Android_v2.1_precut#3 RMmobile keystore was generated to sign RMMobile_Android.apk and that's why if a device has an earlier version of rmmobile, it needs to be uninstalled before installing the new one. + Fixed the following DMs 84964 - Refresh manifest screen only if there is no immediate update to manifest with 'wait' notification when multiple updates. 84965 - Default logging on, until login dbg categories with rmgate login response is received. 84966 - Correct log folder destination so they can be purged properly. RMMobile_Android_v2.1_precut#2 + Fixed the following (7) DMs 84882 - Unable to enter values for Boarding/Alighting when performing a stop. 80335 - FEATURE REQUEST: Ability to enable\disable the map functionality in RMMobile 82943 - Fare deferral button is displayed in RMMobile when it is not defined in device characteristics 83544 - Canned Message list is blank on device when more than 38 are listed in the properties file + Added check for message size greater than the receive size 74074 - Develop Electronic Vehicle Inspection Form for RMMobile App (dm#74075 related, 82693 ,83368 dup) 84575 - Add device properties for the settings screen so that their values can be entered + Added hexadecimal entry field for the config settings screen device properties + Made checkboxes larger/easier to use 83044 - Implement ResourceBundle to replace String initialization + Updated missing texts, added Spanish, added Device Setting to allow for language selection RMMobile_Android_v2.1_precut#1 + Fixed the following (3) DMs 83044 - Implement ResourceBundle to replace String initialization 74074 - Develop Electronic Vehicle Inspection Form for RMMobile App (dm#74075 related, 82693 ,83368 dup) 83544 - Canned Message list is blank on device when more than 38 are listed in the properties file RMMobile_Android_v2.0 + Fixed the following (1) DMs 00000 - Removed precutX designation RMMobile_Android_v2.0_precut#8 + Fixed the following (1) DMs 84489 - Prompts using 2 columns do not scroll or draw properly when they go past the end of the screen RMMobile_Android_v2.0_precut#7 + Fixed the following (4) DMs 82343 - Support user field prompts on all 5 para trip states - fixed the back buttons not working correctly for all prompt types 84487 - RMMobile prompt 'go to a new page' syntax is not being obeyed 84486 - RMMobile 2.0 is sending decoiaml rather than integer when using count#(on) and count#(off) prompt types - fixed number type and width 84485 - Remove gradient from manifest screen on RMMobile - made the background be a few shades lighter to promote contrast RMMobile_Android_v2.0_precut#6 + Fixed the following 84485 - Remove gradient from manifest screen on RMMobile 80520 - RMMobile > Implement 'Fare Clicker' on RMMobile for Idaho and other fixed route sites (related 77358, 78077) - fixed sending extra subfields and zubfields and incorrect prompts 84476 - RMMobile 'fare clicker' summary screen does not scroll RMMobile_Android_v2.0_precut#5 + Fixed the following 80520 - RMMobile > Implement 'Fare Clicker' on RMMobile for Idaho and other fixed route sites (related 77358, 78077) - fixed prompts not sending answers RMMobile_Android_v2.0_precut#4 + Fixed the following 80520 - RMMobile > Implement 'Fare Clicker' on RMMobile for Idaho and other fixed route sites (related 77358, 78077) - resolved conflict introduced into fixed route depart RMMobile_Android_v2.0_precut#3 + Fixed the following 82934 - Provide method in RMMobile to call an offline navigation tool, such as Sygic, as an alternative to Google Nav (dm#83045 dup) 82343 - Support user field prompts on all 5 para trip states 84189 - Unable to enter odometer reading lower than estimated odometer 80520 - RMMobile > Implement 'Fare Clicker' on RMMobile for Idaho and other fixed route sites (related 77358, 78077) - fixed scroll display RMMobile_Android_v2.0_precut#2 + Fixed the following 80520 - RMMobile > Implement 'Fare Clicker' on RMMobile for Idaho and other fixed route sites (related 77358, 78077) - fixed route displaying prompts RMMobile_Android_v2.0_precut#1 + Code clean up/refactoring and removed dead/inaccessible code + Added ATM style entry method for monetary values + Fixed the following (2) DMs 82343 - Support user field prompts on all 5 para trip states 80520 - RMMobile > Implement 'Fare Clicker' on RMMobile for Idaho and other fixed route sites (related 77358, 78077) RMMobile_Android_v1.9 +Fixed the following (1) DMs 00000 - Removed the _precut#X designation RMMobile_Android_v1.9_precut#3 + Fixed issues introduced by the precut#2 merge as it overwrote some changes from precut#1 that prevented logging and changing settings RMMobile_Android_v1.9_precut#2 + Merged the code up from 1.8e RMMobile_Android_v1.9_precut#1 + Code clean up and refactoring + Fixed the following (1) DMs 81108 - Allow Assigning Wireless Devices to Drivers vs. Vehicles (RMMobile Work) (rel. RMTS#5.5.00 DM#80161; RMGate DM#81107) RMMobile_Android_v1.8e + Fixed the following (1) DMs 00000 - Removed the _precut#X designation RMMobile_Android_v1.8e_precut#4 + Fixed the following (1) DMs 83626 - Notification for dispatch messages and manifest update - fixed timing issue with displaying dispatch messages received while screen was off RMMobile_Android_v1.8e_precut#3 + Fixed the following (1) DMs 83626 - Notification for dispatch messages and manifest update - fixed break not being reported (introduced by this change in precut#2) and messages not displaying when resuming from sleep. RMMobile_Android_v1.8e_precut#2 + Fixed the following (1) DMs 83626 - Notification for dispatch messages and manifest update - reverted back to forms and removed the break screen RMMobile_Android_v1.8e_precut#1 + Code cleanup - fixed the Settings Screen persisting components, + Fixed the following (2) DMs 83626 - Notification for dispatch messages and manifest update - reverted back to dialog style to fix issue on break screen 82802 - Save State onPause - phase 1 (related 82803) - device was not logging out properly RMMobile_Android_v1.8d + Fixed the following (1) DMs 00000 - Removed the _precut#X designation RMMobile_Android_v1.8d_precut#7 + Fixed the following (1) DMs 83801 - Receiving error in RMGate around fldLatitude and fldLongitude RMMobile_Android_v1.8d_precut#6 + Code cleanup + Memory management + Fixed the following (2) DMs 83591 - Tenth place of odometer readings should be optional. 83630 - RMMobile crashes when screen is asleep and a message from dispatching comes in. RMMobile_Android_v1.8d_precut#5 + Code cleanup + Fixed the following (2) DMs 83630 - RMMobile crashes when screen is asleep and a message from dispatching comes in. 83570 - Vehicle in Motion screen disappears if home or sleep button are pressed and then the user goes back to RMMobile. RMMobile_Android_v1.8d_precut#4 + Fixed the following (3) DMs 83781 - Null Pointer Exception when canceling a no show 83591 - Tenth place of odometer readings should be optional. 83714 - Sizing issue with Galaxy Tab 7in RMMobile_Android_v1.8d_precut#3 + Fixed the following (4) DMs 83716 - Update driver odometer when returning from break 83714 - Sizing issue with Galaxy Tab 7in 83626 - Notification for dispatch messages and manifest update - fixed vehicle in motion handling and dismissing notifications when acknowledging the prompts 83227 - Messages sent from Dispatching to RMMobile gets lost if driver does not hit Dismiss and another message arrives. - Fixed an issue with the mailbox's delete RMMobile_Android_v1.8d_precut#2 + Fixed the following (2) DMs 82802 - Save State onPause - phase 1 (related 82803) - Display the splash screen during recover login 83626 - Notification for dispatch messages and manifest updates - made a single notification RMMobile_Android_v1.8d_precut#1 + Fixed the following (2) DMs 83626 - Notification for dispatch messages and manifest updates 83630 - RMMobile crashes when screen is asleep and a message from dispatching comes in. RMMobile_Android_v1.8c + Fixed the following (1) DMs 00000 - Removed the _precut#X designation RMMobile_Android_v1.8c_precut#4 + Fixed the following (1) DMs 80941 - Trip count inputting value from previous trip count RMMobile_Android_v1.8c_precut#3 + Fixed the following (1) DMs 81949 - Out of Bounds Exception Error on Tablet RMMobile_Android_v1.8c_precut#2 + Fixed the following (1) DMs 83547 - Manifest Screen requires switching tabs to update fix UI broken by DM#83389 RMMobile_Android_v1.8c_precut#1 + Fixed the following (2) DMs 83547 - Manifest Screen requires switching tabs to update fix UI broken by DM#83389 83488 - Pressing dismiss fails when adding/deleting trips or receiving messages from dispatching, when there are 2 messages left. RMMobile_Android_v1.8b + Fixed the following DMs 83389 - Galaxy 10.1 tablets, after Ice Cream Sandwich upgrade, have issues with RMMobile closing down. 83227 - Messages sent from Dispatching to RMMobile gets lost if driver does not hit Dismiss and another message arrives. RMMobile_Android_v1.8a + Fixed the following DMs 83389 - Galaxy 10.1 tablets, after Ice Cream Sandwich upgrade, have issues with RMMobile closing down. RMMobile_Android_v1.8 + Fixed the following DMs 00000 - Removed the '_precut#X' from the version identification. RMMobile_Android_v1.8_precut#8 + Fixed the following (1) DMs 83331 - Prompts that appear when 'vehicle in motion', disappear when vehicle stops without acknowledging RMMobile_Android_v1.8_precut#7 + Reverted DM#81108 - Allow Assigning Wireless Devices to Drivers vs. Vehicles (RMMobile Work) (rel. RMTS#5.5.00 DM#80161; RMGate DM#81107) to be implemented in a later version of RMMobile. + Fixed the following (2) DMs 82410 - Requested Time Window Display on Tablet Devices (dm#82799 related - RMGate) 83227 - Messages sent from Dispatching to RMMobile gets lost if driver does not hit Dismiss and another message arrives. RMMobile_Android_v1.8_precut#6 + Fixed the following (2) DMs 82998 - GzOne: Last trip cannot be seen properly on the Manifest screen. 83227 - Messages sent from Dispatching to RMMobile gets lost if driver does not hit Dismiss and another message arrives. RMMobile_Android_v1.8_precut#5 + Fixed the following (5) DMs 82410 - Requested Time Window Display on Tablet Devices (dm#82799 related - RMGate) 81108 - Allow Assigning Wireless Devices to Drivers vs. Vehicles (RMMobile Work) (rel. RMTS#5.5.00 DM#80161; RMGate DM#81107) 83227 - Messages sent from Dispatching to RMMobile gets lost if driver does not hit Dismiss and another message arrives. 80167 - Trip stays on manifest in RMMobile after it is "Cancelled" or "Reassigned" in the dispatching module in RMTS (81892 similar) 81892 - 'Stop Route' line of manifest does not move off after completion (80167 similar) RMMobile_Android_v1.8_precut#4 + Fixed the following DMs 82044 - Implement correct delta gps send behavior and improve the way odometer value is determined. (dm#82774 duplicate) Fixed conversion from yards to miles (for Imperial US) and yard to kms (for SI) when determining distance for auto odometer. RMMobile_Android_v1.8_precut#3 + Fixed the following (3) DMs 83227 - Messages sent from Dispatching to RMMobile gets lost if driver does not hit Dismiss and another message arrives. 82331 - Request to remove the tenth place of the odometer reading 82044 - Implement correct delta gps send behavior and improve the way odometer value is determined. (dm#82774 duplicate) Reference location to calculate the distance travelled wasn't properly set in v1.8 precut#2 and it is fixed here. RMMobile_Android_v1.8_precut#2 + General code clean-up, warning removal + Fixed the following (5) DMs 82044 - Implement correct delta gps send behavior and improve the way odometer value is determined. (dm#82774 duplicate) 83035 - Option to display times in RMMobile as PM times instead of military time (dm#81788, 82063 duplicate) 82331 - Request to remove the tenth place of the odometer reading (Missed two displays) 80002 - Replace cancel button with go back button (Missed two buttons) 81281 - Android --> Messages in RMMobile "Mail Box" are limited to 19 characters RMMobile_Android_v1.8_precut#1 + Fixed the following (10) DMs 81705 - Direction Value Not Being Sent w/ibGPSPositionReports 83035 - Option to display times in RMMobile as PM times instead of military time (dm#81788, 82063 duplicate) 82331 - Request to remove the tenth place of the odometer reading 80002 - Replace cancel button with go back button 82410 - Requested Time Window Display on Tablet Devices (dm#82799 related - RMGate) 83003 - Client name repeated in MUW detail screen 80479 - when using 'Up' 'Down' buttons while navigating from Odometer to PIN to ID the curser stays on PIN twice 81894 - Messages from Dispatch should appear in a different color 82904 - Fare screen - update Service Animal field to be same font size as other lines, and fix font size changing when selected 80466 - AndroidManifest.xml should use 'sensorLandscape' as opposed to 'landscape" RMMobile_Android_v1.7 + Touched up comments + Fixed the following DMs 00000 - Removed the '_precut#X' from the version identification. 78907 - Adding/Modifying/Cancelling trip popup does not give any relevant information (Tablet) (related DM 82080 - duplicate) 80477 - On the opening disclaimer screen the font changes after you tap ok and before screen advance to login RMMobile_Android_v1.7_precut#13 + Fixed the following DMs 82802 - Save State onPause -phase 1 (related 82803) RMMobile_Android_v1.7_precut#12 + Fixed the following DMs 82802 - Save State onPause - phase 1 (related 82803) RMMobile_Android_v1.7_precut#11 + Reverted 82832 Removed the singular clock + Fixed the following DMs 82908 - Going on break never sends OnBreak message 82905 - Jump button is not working correct in RMMobile 1.7 precut 10 82912 - MUW Selected / Total MUWs displays ellipses RMMobile_Android_v1.7_precut#10 + Reverted 80261 changes from precut#9 + Reverted 82852 changes from precut#9 + Fixed the following DMs 82883 - Rmmobile not sending prompt choice code field#10 in to rmgate 82760 - Out Of Memory Error occurs when sending messages from RMMobile and Dispatching is not able to see the message. 82832 - Fixed clocks shifting position 82802 - Save State onPause - phase 1 (related 82803) RMMobile_Android_v1.7_precut#9 + Fixed the following DMs 82852 - Add a Cancel button to the Fixed Route prompts 82847 - RMMobile Passenger Counter should default to a numeric keyboard. 80477 - On the opening disclaimer screen the font changes after you tap ok and before screen advance to login 79605 - Font size decreases when selecting a "No Show" option in RMMobile. (dm#82519 duplicate) 80261 - Screen information is not clearing from top row when different tab is selected 82832 - Missed a clock in the previous precut 81890 - Added display of city to the address line of MUWs on the manifest screen RMMobile_Android_v1.7_precut#8 + Added logging support for onPause + Fixed the following DMs 82802 - Save State onPause - phase 1 (related 82803) 82832 - Coalesce all clocks into one timer RMMobile_Android_v1.7_precut#7 + Fixed the following DMs 82714 - Fixed the fonts being too large inside buttons RMMobile_Android_v1.7_precut#6 + Fixed the following DMs 82714 - Fixed the phones and small screen devices having fonts too large RMMobile_Android_v1.7_precut#5 + Fixed the following DMs 80475 - Fixed picket-fencing for buttons that are selected/focused 82714 - Larger font size inside buttons 82702 - Fix very small button sizes 78907/82080 - Fixed Update not displaying the full message as Add/Remove does RMMobile_Android_v1-7_precut#4 + Cleaned up calls to logging - Dev use only + Fixed the following DMs 80941 - Trip count inputting value from previous trip count 78907/82080 - Fixed issue with remove from manifest not actually removing 81778 - Fixed Out of Memory Error on return from break RMMobile_Android_v1-7_precut#3 + Fixed an issue with the keystore not using the correct key, requiring an uninstall to upgrade RMMobile_Android_v1-7_precut#2 + Updated versioning to the 400 series due to the code version being derived off of RMP which is currently (6/27/2012) RMPv0.4 compatible + Fixed the following DMs 81778 - Fixed Out of Memory Error on return from break 82271 - Preserve ID/PIN on return from break 82581 - Cleanup calls to Debug - Dev use only 78907/82080 - Full client info during add/remove 82043 - Preserve config settings across uninstall/reinstall RMMobile_Android_v1-7_precut#1 + Fixed following DMs 80486 Tabs on the manifest screen now have consistent capitalization 82514 Fonts now set to scale dependent on resolution, this is a precursor to further device size dependent formatting 82485 Fonts now have an option to be set to a standard point size, or scaled with respect to the screen resolution, currently this option is only available to developers 82512 The Manifest Screen now occupies all screen real estate, and the entire screen will not be scrolled, just the stops 81978 Faretype now defaults to the type set in TS, the default will be the first option if no faretype is set (in most cases this will be Cash) 79996 Faretype now creates multiple columns dependent on the number of rows reaching/exceeding the screen size RMMobile_Android_v1-6 + Fixes follwing DMs 00000 Remove 'precut#x' when identifying version of the app. RMMobile_Android_v1-6_precut#6 + Fixes follwing DMs 82441 RMMobile crashes when list message types included in login response are of unexpected structure. RMMobile_Android_v1-6_precut#5 Improved memory management through out the application and fixed possible deadlock in communication threads. + Fixes follwing DMs 82430 Clean up departure data (summary) screen after prompts entry. 82431 Logging bits shouldn't be on by default when running against pre rmgate v5.3 precut#3 RMMobile_Android_v1-6_precut#4 + Fixes follwing DMs 81668 RMMobile Logging > Create first revision of data logging of RMMobile app on device. 78911 Clicking in field to enter a number causes the cursor to go to the beginning of the number (82112, 79998, 82332 - duplicates) 81091 RMMobile Alerting > Audible alerts for all pop up messages (dm 82078 is duplicate) 82382 Change Alert Display for TTL NOTE: DM#81668 RMMobile Logging > Create first revision of data logging of RMMobile app on device, along with fix of DM# 78438 Implement support for prompts(regardless if MUW is fixed or para) to inquire rider demographic, make RMMobile_Android RMPv0.4 compatible. RMMobile_Android_v1-6_precut#3 + Fixes follwing DMs 78438 Implement support for prompts(regardless if MUW is fixed or para) to inquire rider demographic. Submit on departure detail screen includes the entered/selected value in the field 10 for the trip status change message, inbound to RMGate. RMMobile_Android_v1-6_precut#2 + Fixes follwing DMs 78438 Implement support for prompts(regardless if MUW is fixed or para) to inquire rider demographic. RMGate v5.3_precut#1 is required and RMMobile as of this release only caters to prompt.definition.4 and for pickup.depart.prompts. So properties are set so that the picklist is set by setting the following property in RMGate: xxxx.prompt.definition.4 = (trip#ufld01) {PICKLIST, red, blue, green} my field value 1 and pickup depart prompt is set to this prompt (i.e. 4) xxxx.pickup.depart.prompts = 4 RMMobile_Android_v1-6_precut#1 + Fixes follwing DMs 78438 Implement support for prompts(regardless if MUW is fixed or para) to inquire rider demographic. First shot at RMPv0.4 which introduces sub-subfieldd (zub fields). As of this release only PRMTYPE_ANSWERFORMAT_PICKLIST (i.e. combo box) is properly processed by RMMobile. And it is added to support feature requested by MN_AEOA to gather rider demographic information. RMMobile_Android_v1-5 + Fixes follwing DMs 00000 Remove �_precut#x� from login message and system info screens. RMMobile_Android_v1-5_precut#7 + Fixes follwing DMs 00000 Add more debug statements and remove (debug) communication failure alerts. RMMobile_Android_v1-5_precut#6 + Fixes follwing DMs 81790 Screen lock is not required when speed threshold from RMGate is 999. RMMobile_Android_v1-5_precut#5 + Fixes follwing DMs 81780 RMMobile should exhibit legacy behavior (pre RMPv0.3) in locking screen if RMGate is pre RMPv0.3 81781 Speed and direction values shouldn't be sent (Instead of sending '0') when no GPS fix is obtained. RMMobile_Android_v1-5_precut#4 + Fixes follwing DMs 81770 Improve acquiring best GPS fix RMMobile_Android_v1-5_precut#3 Implemented RMPv0.3. Enhanced DM#81690: Setting device property to 1000 will set all outbound data from RMMobile to be in SI(metric) units and is sent out with the x40 bit on, in Header info. And in case any data is received from RMGate without x40 bit on (implying the data sent from RMGate is in Imperial(US)), it will be convereted to SI before processing. In addition, odometer fields has the unit (miles|km) appended to them for clarity and notification. + Fixes follwing DMs 80962 Customizable and configurable "Vehicle In Motion" settings for RMMobile devices Screen lock threshold speed is received by RMMobile as login response from RMGate. In case it's 999, screen shouldn't be locked. 81765 Confidence interval for GPS data. Confidence interval value is received as a login response, and it is discarded (i.e. GPS data will always be sent) if the value received is 0 RMMobile_Android_v1-5_precut#2 + Fixes follwing DMs 81690 [AU_TransitCare] Require GPS Odometer Calculation in Kilometers RMMobile_Android_v1-4 + Fixes follwing DMs 00000 Remove �_precut#x� from System Info screen and login message. RMMobile_Android_v1-4_precut#13 + Fixes follwing DMs 80165 Prompts that appear when 'vehicle in motion', disappear when vehicle stops without acknowledging RMMobile_Android_v1-4_precut#12 + Fixes follwing DMs 80165 Prompts that appear when 'vehicle in motion', disappear when vehicle stops without acknowledging 80185 Remove java.lang error when choosing 'Detail' or 'Jump' on empty manifest 80370 Device property for emulated GPS RMMobile_Android_v1-4_precut#11 + Fixes follwing DMs 80371 Device property for developers to expedite debugging. RMMobile_Android_v1-4_precut#10 + Fixes follwing DMs 80183 Screen information is not clearing when different tab is selected 80245 Config setting to use either "current location"( thru cell tower/wifi) or stop's location, in case satellite GPS is unavailable RMMobile_Android_v1-4_precut#9 + Fixes follwing DMs 80185 Remove java.lang error when choosing 'Detail' or 'Jump' on empty manifest 80199 Buttons in �MAP� tab to place Copy-Addr and Copy-GPS to place the selected stop�s address/gps on clipboard. 80200 Google maps/navigation should be invoked with correct address/gps format. 80201 In case gps can�t be determined, coordinates of last completed or previous trip in the manifest should be used. RMMobile_Android_v1-4_precut#8 + Fixes follwing DMs 80166 Invoke Google maps->navigation from RMMobile when navigation is selected under MAP tab. 81063 Moving a trip to vehicle then removing it causes error RMMobile_Android_v1-4_precut#7 + Fixes follwing DMs 80156 All ACKs (even the ones for already received messages) should be encrypted. RMMobile_Android_v1-4_precut#6 + Fixes follwing DMs 80112 Synchronize manifest list/table so network update and view threads dont interfere when acessing/updating 79903 Drivers getting logged out of RMMobile when screen locks RMMobile_Android_v1-4_precut#5 + Fixes follwing DMs 80112 Error on device when removing a previously added trip from vehicle. 80117 Android App crashes after information is sent to device > device 'sleeps' and is 'awakened' RMMobile_Android_v1-4_precut#4 + Fixes follwing DMs 80108 RMMOBILE device properties defaults to value 100 after restarting application. RMMobile_Android_v1-4_precut#3 + Fixes follwing DMs 80059 RMMobile is not encrypting ACKs when the encryption bit is on. 80060 Configuration settings should be stored permanently. 80061 RMMobile device properties should be added to configuration settings. RMMobile_Android_v1-4_precut#1 + Fixes follwing DMs 77999 Update RMMoble to satisfy Federal FIPS 140-2 Encryption Requirements. RMMobile_Android_v1-3c + Fixes follwing DMs 79774 RMMobile should check for inaccurate GPS coordinates in addition to "Accuracy" provided by API. RMMobile_Android_v1-3b + Fixes follwing DMs 79280 Odometer value should be determined through GPS data. NOTE: DM#79280 was marked fixed in v1.3a, however, an issue was introduced in v1.3a which disabled the manual entry/update of odometer; this side effect is fixed in v1.3b. Please also note that no new DMs were created and history of DM79280 and RMMobile�s readme are updated accordingly. RMMobile_Android_v1-3a + Fixes follwing DMs 79280 Odometer value should be determined through GPS data. RMMobile_Android_v1-3 + Fixes follwing DMs 79268 Alerts that result due to dispatch messages to driver which do not require a response, are not dismissed properly. 00000 Remove _precut#x from SystemInfo and login message to RMGate. RMMobile_Android_v1-3_precut#6 + Fixes follwing DMs 79268 Enlarge Numeric Keyboard Buttons 79551 Delete in mailbox screen should delete the selection 79552 Response to the dispatch message requesting a response "Yes/No" should correspond with the button selected. RMMobile_Android_v1-3_precut#5 + Fixes follwing DMs 79284 User shouldn't have to press "ok" on the virtual keyboard to make a change last in text field RMMobile_Android_v1-3_precut#4 + Fixes follwing DMs 78904 An error occurs when using "Jump" button on a "Dropoff" that the "Pickup" has already been completed RMMobile_Android_v1-3_precut#3 + Fixes follwing DMs 79277 All prompts, popups, alerts should have larger sized buttons 79278 RMMobile_Android should be RMPv0.2 compatible. 79280 Odometer value should be determined through GPS data. 79408 Add scroll buttons to assist in navigation between input fields of Login scren. RMMobile_Android_v1-3_precut#2 + Fixes follwing DMs 78902 All pop-up boxes should have a button(s) to react to that pop-up box, whether it be a close button, yes/no, 'OK', etc. 78896 Driver should be able to send "Break" message to dispatch. 78897 Driver should be able to get RMMobile in "Emergency" mode. RMMobile_Android_v1-3_precut#1 + Fixes follwing DMs 78915 RMMobile_Android on the tablets should only have landscape view. 78947 Stop detail screen should be able to span over multiple screens. 78903 Length of the manifest changes after a pickup or dropoff is executed NOTE: Although prompts and other Fixed Route related UI changes (prompts etc) are not ported to the "Ranger like touchscreen UI" of Android tablets; the RMMobile_Android_v1-3_precut#1 supports RMPv0.2 so this precut can be used to show case download offixed route manifest on Android tablets. RMMobile_Android_v1-2 Remove "precut_#" from System Info screen. RMMobile_Android_v1-2_precut#4 + Fixes follwing DMs 78852 Manifest history tab should be properly populated with the completed trips. RMMobile_Android_v1-2_precut#3 General UI improvement and designing the interface more like that of Ranger's. + Fixes follwing DMs 78851 Retain correct focus of the selected item when navigated to and from the main manifest screen. RMMobile_Android_v1-2_precut#2 + Fixes follwing DMs 78653 RMMobile_Android should support Ranger like touchscreen UI. RMMobile_Android_v1-2_precut#1 + Fixes follwing DMs 78548 Touch screen interface for select screens. RMMobile_Android_v1-1a + Fixes follwing DMs 78312 FRPrompts when set to "none" are not handled properly. 78313 Problem displaying stop detail screen. RMMobile_Android_v1-1 + Fixes follwing DMs 00000 Remove precut from App Version and increment code version. RMMobile_Android_v1-1_precut#3 + Fixes follwing DMs 78084 Increase size of the fonts in the message window RMMobile_Android_v1-1_precut#2 + Fixes follwing DMs 78065 Add support for 'Extra Title' and 'Extra Data' when the 'No Detail' bit is on. 78018 Manifest and other screens should have larger font. RMMobile_Android_v1-1_precut#1 + Fixes follwing DMs 77974 Support basic fixed route functionality and compatibility with v0.2 of RMP. RMMobile_Android_v1-0 + Fixes follwing DMs 00000 Application version 1.0; removed precut. RMMobile_Android_v1-0_precut#3 + Fixes follwing DMs 77343 Mail box should be properly populated with inbound/oubound messages. 77344 Default select command's text should be replaced by "fire"; J2ME terminology - 3rd softkey RMMobile_Android_v1-0_precut#2 + Fixes follwing DMs 76884 Permanent storage interface on Android platform (SQLite) so information can be store on the device. 77229 Exit from RMMobile should result in sending Signoff message to RMGate 77230 Sending out canned messages should be possible 77231 Textfields restricted with numeric input should only have numeric keyboard RMMobile_Android_v1-0_precut#1 + Fixes follwing DMs 76883 GPS receiver interface to determine GPS data on Android device. 76885 Device's motion (tilt, shaking etc) sensors should be properly handled and UI should respond accordingly 76888 Investigate inbound message listener thread hang-up. 76894 Touch screen input keyboard(s) should be appropriately sized and easy to use. RMMobile_Android_V1-0_precut#0.1 - It is precut#0.1 because it is just a prototype and it is not delivered to QA to test. precut#1 will be released once RMMobile's code is refactored to have multiple layers to accommodate different devices and platforms. RMMobile code will then essentially be a unified-base code which would allow mix-and-match to build for different devices and platforms. - precut#0.1 is able to successfully login to RMGate and download a manifest. Additionally, various manifest operations can also be performed. - It should be noted that neither GPS data is calculated on precut#0.1 nor any data is stored on the handset permanently.