private static boolean needsIntervalAction(final @StringRes int prefTimestamp, final int intervalInHours, final Runnable initAction) {
        // check disabled?
        if (intervalInHours < 1) {
            return false;
        }
        // initialization on first run
        final long lastCheck = getLong(prefTimestamp, 0);
        if (lastCheck == 0) {
            initAction.run();
            return false;
        }
        // check if interval is completed
        final long now = System.currentTimeMillis() / 1000;
        return (lastCheck + ((long) intervalInHours * HOURS_TO_SECONDS)) <= now;
    }
The threshold for brouter routing (max. distance)
main/src/main/java/cgeo/geocaching/settings/Settings.java