private static void makeFreshCopy(final File file) {
        final File tempFile = new File(file.getParentFile(), file.getName() + "-temp");
        if (file.renameTo(tempFile)) {
            FileUtils.copy(tempFile, file);
            FileUtils.deleteIgnoringFailure(tempFile);
        } else {
            Log.e("Could not reset timestamp of file " + file.getAbsolutePath());
        }
    }
Make a fresh copy of the file to reset its timestamp. On some storage, it is impossible
to modify the modified time after the fact, in which case a brand new file must be
created if we want to be able to use the time as validity hint.
<br>
See Android issue 1699.

@param file the file to refresh
main/src/main/java/cgeo/geocaching/network/HtmlImage.java