<NME> DistanceView.java
<BEF> package cgeo.geocaching.ui;

import cgeo.geocaching.location.Geopoint;
import cgeo.geocaching.location.Units;

import android.annotation.SuppressLint;
import android.content.Context;
import android.util.AttributeSet;

import androidx.annotation.NonNull;
import androidx.appcompat.widget.AppCompatTextView;

public class DistanceView extends AppCompatTextView {
    private Geopoint cacheCoords = null;

    public DistanceView(final Context context) {
        super(context);
    }

    public DistanceView(final Context context, final AttributeSet attrs) {
        super(context, attrs);
    }

    public DistanceView(final Context context, final AttributeSet attrs, final int defStyle) {
        super(context, attrs, defStyle);
    }

    public void setContent(final Geopoint cacheCoordsIn) {
        cacheCoords = cacheCoordsIn;
    }

    public void update(@NonNull final Geopoint coords) {
        if (cacheCoords == null) {
            return;
        }
        setText(Units.getDistanceFromKilometers(coords.distanceTo(cacheCoords)));
    }

    @SuppressLint("SetTextI18n")
    public void setDistance(final Float distance) {
        setText("~" + Units.getDistanceFromKilometers(distance));
    }
}

<MSG> Merge branch 'release'

# Conflicts:
#	main/res/layout/cacheslist_item.xml
#	main/src/cgeo/geocaching/connector/gc/GCWebAPI.java

<DFF> @@ -3,15 +3,15 @@ package cgeo.geocaching.ui;
 import cgeo.geocaching.location.Geopoint;
 import cgeo.geocaching.location.Units;
 
-import android.annotation.SuppressLint;
 import android.content.Context;
 import android.util.AttributeSet;
 
-import androidx.annotation.NonNull;
 import androidx.appcompat.widget.AppCompatTextView;
 
 public class DistanceView extends AppCompatTextView {
+
     private Geopoint cacheCoords = null;
+    private Float distance = null;
 
     public DistanceView(final Context context) {
         super(context);
@@ -25,19 +25,16 @@ public class DistanceView extends AppCompatTextView {
         super(context, attrs, defStyle);
     }
 
-    public void setContent(final Geopoint cacheCoordsIn) {
-        cacheCoords = cacheCoordsIn;
+    public void setCacheData(final Geopoint cacheCoords, final Float distance) {
+        this.cacheCoords = cacheCoords;
+        this.distance = distance;
     }
 
-    public void update(@NonNull final Geopoint coords) {
+    public void update(final Geopoint coords) {
         if (cacheCoords == null) {
-            return;
+            setText(distance == null ? "?" : "~" + Units.getDistanceFromKilometers(distance));
+        } else {
+            setText(coords == null ? "?" : Units.getDistanceFromKilometers(coords.distanceTo(cacheCoords)));
         }
-        setText(Units.getDistanceFromKilometers(coords.distanceTo(cacheCoords)));
-    }
-
-    @SuppressLint("SetTextI18n")
-    public void setDistance(final Float distance) {
-        setText("~" + Units.getDistanceFromKilometers(distance));
     }
 }

Merge branch 'release'