@Override
    public void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        final CoordinateInputData cid = savedInstanceState != null && savedInstanceState.containsKey(INPUT_DATA_ARG) ?
                savedInstanceState.getParcelable(INPUT_DATA_ARG) :
                (getArguments() == null ? null : getArguments().getParcelable(INPUT_DATA_ARG));
        inputData = cid == null ? new CoordinateInputData() : cid;
        gp = inputData.getGeopoint();
        if (gp == null && !supportsNullCoordinates()) {
            gp = currentCoords();
        }

        final String geocode = inputData.getGeocode();
        if (!StringUtils.isBlank(geocode)) {
            final Geocache cache = DataStore.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB);
            cacheCoords = cache == null ? null : cache.getCoords();
        }
    }
Provides a dialog to enter coordinates in different formats.
Usage:
1. open the coordinate selection dialog: call CoordinatesInputDialog.show(getSupportFragmentManager(), null, null);
2. in your activity implement CoordinatesInputDialog.CoordinateUpdate, closing the dialog calls public void updateCoordinates(@NonNull final Geopoint gp)
main/src/main/java/cgeo/geocaching/ui/dialog/CoordinatesInputDialog.java