<NME> TrackableLoggingManager.java
<BEF> package cgeo.geocaching.connector.trackable;

import cgeo.geocaching.connector.ImageResult;
import cgeo.geocaching.connector.LogResult;
import cgeo.geocaching.log.LogTypeTrackable;
import cgeo.geocaching.log.TrackableLog;
import cgeo.geocaching.models.Geocache;
import cgeo.geocaching.models.Image;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.WorkerThread;

import java.util.Calendar;
import java.util.List;

public interface TrackableLoggingManager {

    /**
     * Post a log for a trackable online
     */
    @WorkerThread
    LogResult postLog(Geocache cache,
                      TrackableLog trackableLog,
                      Calendar date,
                      String log);

    @Nullable
    @WorkerThread
    ImageResult postLogImage(String logId,
                             Image image);

    @NonNull
    List<LogTypeTrackable> getPossibleLogTypesTrackable();

    boolean canLogTime();

    boolean canLogCoordinates();

    void setGuid(String guid);

    public boolean isRegistered();

    public boolean postReady();
}

<MSG> Fix #4833: Write note for GC trackable no longer possible without tracking code

Create a loggingManager.isTrackingCodeNeededToPostNote() function.
Show/hide the tracking code field depending on Trackable properties.

<DFF> @@ -41,5 +41,7 @@ public interface TrackableLoggingManager {
 
     public boolean isRegistered();
 
+    public boolean isTrackingCodeNeededToPostNote();
+
     public boolean postReady();
 }

Fix #4833: Write note for GC trackable no longer possible without tracking code