The final piece of software is the Android App itself. The entire source code is contained in the GarageDoor.pdf file. Minimal familiarity with the Android development tools is required to build the App.
The friendly URL (as obtained from the Dynamic DNS provider) of the router as well as the forwarded port number have to entered in the source code and, if you require a password to complete the connection to the XPort, then it must also be hardcoded. Likewise, the geographical coordinates of the trigger point must be determined and entered. A working version of the App can be used to retrieve those coordinates.
Finally, the X-10 House Code / Unit Code of the UM506 module must be entered. The provided source code uses A1. The communications protocol for the CM11A Interface is also included.
Suggestions for improving the App might be to add user interface features to set some or all of the above items.
Note: it is likely that you can approach you house from two different directions in which case you may want to provide for two trigger zones (a change to the source code is required). The location and radius of the trigger zone(s) may also be dictated by the speed at which you can approach, the update rate and accuracy of the GPS receiver, and the latency in X-10 communications.