private static void invokeNavigation(final Activity activity, final Geocache cache, final Waypoint waypoint, final Geopoint destination, final App app) {
        if (cache != null) {
            navigateCache(activity, cache, app);
        } else if (waypoint != null) {
            navigateWaypoint(activity, waypoint, app);
        } else {
            navigateGeopoint(activity, destination, app);
        }
    }
Returns the default navigation tool if correctly set and installed or the compass app as default fallback

@return never {@code null}
main/src/main/java/cgeo/geocaching/apps/navi/NavigationAppFactory.java