private void saveLog(final SaveMode saveMode) {

        if (logEditMode != LogEditMode.CREATE_NEW) {
            return;
        }

        try (ContextLogger cLog = new ContextLogger("LogCacheActivity.saveLog(mode=%s)", saveMode)) {

            final OfflineLogEntry logEntry = getEntryFromView();

            final boolean logChanged = logEntry.hasSaveRelevantChanges(lastSavedState);
            final boolean doSave = SaveMode.FORCE.equals(saveMode) || (!SaveMode.SKIP.equals(saveMode) && logChanged);
            cLog.add("logChanged=%b, doSave=%b", logChanged, doSave);

            if (doSave) {
                lastSavedState = logEntry;
                AndroidRxUtils.computationScheduler.scheduleDirect(() -> {
                    try (ContextLogger ccLog = new ContextLogger("LogCacheActivity.saveLog.doInBackground(gc=%s)", cache.getGeocode())) {
                        cache.storeLogOffline(LogCacheActivity.this, logEntry);
                        ccLog.add("log=%s", logEntry.log);
                        imageListFragment.adjustImagePersistentState();
                        inventoryAdapter.saveActions();
                    }
                });
            }
        }
    }
Checks whether there are favorite points available and sets the corresponding visibility of
"add to favorite" checkbox.
main/src/main/java/cgeo/geocaching/log/LogCacheActivity.java