diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index 18408da929..b6dfdc4a94 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -9,6 +9,7 @@ 3. All your modified/created strings are in the top of the file (to make easier find what\'s translated). PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy --> + Save offline Modified OSM POI Deleted OSM POI Open OSM Note diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/OsmBugMenuController.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/OsmBugMenuController.java index f33d9577b9..9b89506342 100644 --- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/OsmBugMenuController.java +++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/controllers/OsmBugMenuController.java @@ -29,9 +29,9 @@ public class OsmBugMenuController extends MenuController { if (plugin != null) { OpenStreetNote bg = getBug(); if(bg.isOpened()) { - plugin.getBugsLayer(getMapActivity()).commentBug(bg); + plugin.getBugsLayer(getMapActivity()).commentBug(bg, ""); } else { - plugin.getBugsLayer(getMapActivity()).reopenBug(bg); + plugin.getBugsLayer(getMapActivity()).reopenBug(bg, ""); } } } @@ -47,7 +47,7 @@ public class OsmBugMenuController extends MenuController { @Override public void buttonPressed() { if (plugin != null) { - plugin.getBugsLayer(getMapActivity()).closeBug(getBug()); + plugin.getBugsLayer(getMapActivity()).closeBug(getBug(), ""); } } }; diff --git a/OsmAnd/src/net/osmand/plus/osmedit/OsmBugsLayer.java b/OsmAnd/src/net/osmand/plus/osmedit/OsmBugsLayer.java index d3d3c64dad..efccd02772 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/OsmBugsLayer.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/OsmBugsLayer.java @@ -23,11 +23,12 @@ import net.osmand.plus.OsmandSettings; import net.osmand.plus.R; import net.osmand.plus.activities.DialogProvider; import net.osmand.plus.activities.MapActivity; -import net.osmand.plus.osmedit.OsmBugsUtil.Action; import net.osmand.plus.osmedit.OsmBugsUtil.OsmBugResult; +import net.osmand.plus.osmedit.OsmPoint.Action; import net.osmand.plus.views.ContextMenuLayer.IContextMenuProvider; import net.osmand.plus.views.OsmandMapLayer; import net.osmand.plus.views.OsmandMapTileView; +import net.osmand.util.Algorithms; import org.apache.commons.logging.Log; import org.xmlpull.v1.XmlPullParser; @@ -65,6 +66,7 @@ public class OsmBugsLayer extends OsmandMapLayer implements IContextMenuProvider private final MapActivity activity; protected static final String KEY_BUG = "bug"; + protected static final String KEY_TEXT = "text"; protected static final String KEY_ACTION = "action"; private static final int DIALOG_BUG = 305; private static Bundle dialogBundle = new Bundle(); @@ -74,7 +76,7 @@ public class OsmBugsLayer extends OsmandMapLayer implements IContextMenuProvider public OsmBugsLayer(MapActivity activity, OsmEditingPlugin plugin){ this.activity = activity; this.plugin = plugin; - local = new OsmBugsLocalUtil(activity, plugin.getDBBug()); + local = plugin.getOsmNotesLocalUtil(); } public OsmBugsUtil getOsmbugsUtil(OpenStreetNote bug) { @@ -320,16 +322,11 @@ public class OsmBugsLayer extends OsmandMapLayer implements IContextMenuProvider @Override protected OsmBugResult doInBackground(Void... params) { osmbugsUtil = getOsmbugsUtil(bug); - if(action == Action.REOPEN) { - return osmbugsUtil.reopenBug(bug.getLatitude(), bug.getLongitude(), bug.getId(), text); - } else if(action == Action.MODIFY) { - return osmbugsUtil.addingComment(bug.getLatitude(), bug.getLongitude(), bug.getId(), text); - } else if(action == Action.CLOSE) { - return osmbugsUtil.closingBug(bug.getLatitude(), bug.getLongitude(), bug.getId(), text); - } else if(action == Action.CREATE) { - return osmbugsUtil.createNewBug(bug.getLatitude(), bug.getLongitude(), text); - } - return null; + OsmNotesPoint pnt = new OsmNotesPoint(); + pnt.setId(bug.getId()); + pnt.setLatitude(bug.getLatitude()); + pnt.setLongitude(bug.getLongitude()); + return osmbugsUtil.commit(pnt, text, action); } protected void onPostExecute(OsmBugResult obj) { if (obj != null && obj.warning == null) { @@ -344,7 +341,7 @@ public class OsmBugsLayer extends OsmandMapLayer implements IContextMenuProvider AccessibleToast.makeText(activity, R.string.osn_add_dialog_success, Toast.LENGTH_LONG).show(); } else if(action == Action.MODIFY) { AccessibleToast.makeText(activity, R.string.osb_comment_dialog_success, Toast.LENGTH_LONG).show(); - } else if(action == Action.CLOSE) { + } else if(action == Action.DELETE) { AccessibleToast.makeText(activity, R.string.osn_close_dialog_success, Toast.LENGTH_LONG).show(); } else if(action == Action.CREATE) { AccessibleToast.makeText(activity, R.string.osn_add_dialog_success, Toast.LENGTH_LONG).show(); @@ -356,10 +353,15 @@ public class OsmBugsLayer extends OsmandMapLayer implements IContextMenuProvider int r = R.string.osb_comment_dialog_error; if(action == Action.REOPEN) { r = R.string.osn_add_dialog_error; - } else if(action == Action.CLOSE) { + reopenBug(bug, text); + } else if(action == Action.DELETE) { r = R.string.osn_close_dialog_error; + closeBug(bug, text); } else if(action == Action.CREATE) { r = R.string.osn_add_dialog_error; + openBug(bug.getLatitude(), bug.getLongitude(), text); + } else { + commentBug(bug, text); } AccessibleToast.makeText(activity, activity.getResources().getString(r) + "\n" + obj, Toast.LENGTH_LONG).show(); } @@ -373,39 +375,43 @@ public class OsmBugsLayer extends OsmandMapLayer implements IContextMenuProvider OpenStreetNote bug = new OpenStreetNote(); bug.setLatitude(latitude); bug.setLongitude(longitude); - bug.comments.add(message); dialogBundle = new Bundle(); dialogBundle.putSerializable(KEY_BUG, bug); - dialogBundle.putSerializable(KEY_ACTION, OsmBugsUtil.Action.CREATE.name()); + dialogBundle.putSerializable(KEY_TEXT, message); + dialogBundle.putSerializable(KEY_ACTION, Action.CREATE.name()); activity.showDialog(DIALOG_BUG); } - public void closeBug(final OpenStreetNote bug){ + public void closeBug(final OpenStreetNote bug, String txt){ dialogBundle = new Bundle(); dialogBundle.putSerializable(KEY_BUG, bug); - dialogBundle.putSerializable(KEY_ACTION, OsmBugsUtil.Action.CLOSE.name()); + dialogBundle.putSerializable(KEY_TEXT, txt); + dialogBundle.putSerializable(KEY_ACTION, Action.DELETE.name()); activity.showDialog(DIALOG_BUG); } - public void reopenBug(final OpenStreetNote bug){ + public void reopenBug(final OpenStreetNote bug, String txt){ dialogBundle = new Bundle(); dialogBundle.putSerializable(KEY_BUG, bug); - dialogBundle.putSerializable(KEY_ACTION, OsmBugsUtil.Action.REOPEN.name()); + dialogBundle.putSerializable(KEY_TEXT, txt); + dialogBundle.putSerializable(KEY_ACTION, Action.REOPEN.name()); activity.showDialog(DIALOG_BUG); } - public void commentBug(final OpenStreetNote bug){ + public void commentBug(final OpenStreetNote bug, String txt){ dialogBundle = new Bundle(); dialogBundle.putSerializable(KEY_BUG, bug); - dialogBundle.putSerializable(KEY_ACTION, OsmBugsUtil.Action.MODIFY.name()); + dialogBundle.putSerializable(KEY_TEXT, txt); + dialogBundle.putSerializable(KEY_ACTION, Action.MODIFY.name()); activity.showDialog(DIALOG_BUG); } private void prepareBugDialog(Bundle args, Dialog dialog) { final OpenStreetNote bug = (OpenStreetNote) args.getSerializable(KEY_BUG); - final Action action = OsmBugsUtil.Action.valueOf((String) args.getSerializable(KEY_ACTION)); + final Action action = Action.valueOf((String) args.getSerializable(KEY_ACTION)); + String text =(String) args.getSerializable(KEY_TEXT); int title ; - if(action == Action.CLOSE) { + if(action == Action.DELETE) { title = R.string.osn_close_dialog_title; } else if(action == Action.MODIFY) { title = R.string.osn_comment_dialog_title; @@ -431,8 +437,8 @@ public class OsmBugsLayer extends OsmandMapLayer implements IContextMenuProvider ((EditText)view.findViewById(R.id.userNameEditText)).setText(getUserName()); ((EditText)view.findViewById(R.id.passwordEditText)).setText(((OsmandApplication) activity.getApplication()).getSettings().USER_PASSWORD.get()); } - if(action == Action.CREATE && bug.comments.size() > 0) { - ((EditText)view.findViewById(R.id.messageEditText)).setText(bug.comments.get(0)); + if(!Algorithms.isEmpty(text)) { + ((EditText)view.findViewById(R.id.messageEditText)).setText(text); } AndroidUtils.softKeyboardDelayed((EditText) view.findViewById(R.id.messageEditText)); btn.setOnClickListener(new View.OnClickListener() { diff --git a/OsmAnd/src/net/osmand/plus/osmedit/OsmBugsLocalUtil.java b/OsmAnd/src/net/osmand/plus/osmedit/OsmBugsLocalUtil.java index 91f67fc774..9caee4e678 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/OsmBugsLocalUtil.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/OsmBugsLocalUtil.java @@ -4,28 +4,33 @@ package net.osmand.plus.osmedit; import java.util.List; -import android.content.Context; +import net.osmand.plus.OsmandApplication; +import net.osmand.plus.osmedit.OsmPoint.Action; public class OsmBugsLocalUtil implements OsmBugsUtil { - - private final Context ctx; private final OsmBugsDbHelper db; - public OsmBugsLocalUtil(Context uiContext, OsmBugsDbHelper db) { - this.ctx = uiContext; + public OsmBugsLocalUtil(OsmandApplication app, OsmBugsDbHelper db) { this.db = db; } - + @Override - public OsmBugResult createNewBug(double latitude, double longitude, String text){ - OsmNotesPoint p = new OsmNotesPoint(); - p.setId(Math.min(-2, db.getMinID() -1)); - p.setText(text); - p.setLatitude(latitude); - p.setLongitude(longitude); - p.setAction(OsmPoint.Action.CREATE); - return wrap(p, db.addOsmbugs(p)); + public OsmBugResult commit(OsmNotesPoint point, String text, Action action) { + if(action == OsmPoint.Action.CREATE) { + point.setId(Math.min(-2, db.getMinID() -1)); + point.setText(text); + point.setAction(action); + } else { + OsmNotesPoint pnt = new OsmNotesPoint(); + pnt.setId(point.getId()); + pnt.setLatitude(point.getLatitude()); + pnt.setLongitude(point.getLongitude()); + pnt.setAction(action); + pnt.setText(text); + point = pnt; + } + return wrap(point, db.addOsmbugs(point)); } private OsmBugResult wrap(OsmNotesPoint p, boolean success) { @@ -35,41 +40,8 @@ public class OsmBugsLocalUtil implements OsmBugsUtil { return s; } - @Override - public OsmBugResult reopenBug(double latitude, double longitude, long id, String text){ - OsmNotesPoint p = new OsmNotesPoint(); - p.setId(id); - p.setText(text); - p.setLatitude(latitude); - p.setLongitude(longitude); - p.setAction(OsmPoint.Action.REOPEN); - return wrap(p, db.addOsmbugs(p)); - } - public List getOsmbugsPoints() { return db.getOsmbugsPoints(); } - - @Override - public OsmBugResult addingComment(double latitude, double longitude, long id, String text){ - OsmNotesPoint p = new OsmNotesPoint(); - p.setId(id); - p.setText(text); - p.setLatitude(latitude); - p.setLongitude(longitude); - p.setAction(OsmPoint.Action.MODIFY); - return wrap(p, db.addOsmbugs(p)); - } - - @Override - public OsmBugResult closingBug(double latitude, double longitude, long id, String text){ - OsmNotesPoint p = new OsmNotesPoint(); - p.setId(id); - p.setText(text); - p.setLatitude(latitude); - p.setLongitude(longitude); - p.setAction(OsmPoint.Action.DELETE); - return wrap(p, db.addOsmbugs(p)); - } - + } diff --git a/OsmAnd/src/net/osmand/plus/osmedit/OsmBugsRemoteUtil.java b/OsmAnd/src/net/osmand/plus/osmedit/OsmBugsRemoteUtil.java index bcf411e80f..ae01c30992 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/OsmBugsRemoteUtil.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/OsmBugsRemoteUtil.java @@ -1,5 +1,6 @@ package net.osmand.plus.osmedit; + import net.osmand.PlatformUtil; import net.osmand.osm.io.Base64; import net.osmand.osm.io.NetworkUtils; @@ -7,6 +8,7 @@ import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandSettings; import net.osmand.plus.R; import net.osmand.plus.Version; +import net.osmand.plus.osmedit.OsmPoint.Action; import net.osmand.util.Algorithms; import org.apache.commons.logging.Log; @@ -38,43 +40,33 @@ public class OsmBugsRemoteUtil implements OsmBugsUtil { this.app = app; settings = app.getSettings(); } - - @Override - public OsmBugResult createNewBug(double latitude, double longitude, String text) { - StringBuilder b = new StringBuilder(); - b.append(getNotesApi()).append("?"); //$NON-NLS-1$ - b.append("lat=").append(latitude); //$NON-NLS-1$ - b.append("&lon=").append(longitude); //$NON-NLS-1$ - b.append("&text=").append(URLEncoder.encode(text)); //$NON-NLS-1$ - return editingPOI(b.toString(), "POST", "creating bug"); //$NON-NLS-1$ - } - - @Override - public OsmBugResult addingComment(double latitude, double longitude, long id, String text) { - StringBuilder b = new StringBuilder(); - b.append(getNotesApi()).append("/"); - b.append(id); //$NON-NLS-1$ - b.append("/comment?text=").append(URLEncoder.encode(text)); //$NON-NLS-1$ - return editingPOI(b.toString(), "POST", "adding comment"); //$NON-NLS-1$ - } @Override - public OsmBugResult reopenBug(double latitude, double longitude, long id, String text){ + public OsmBugResult commit(OsmNotesPoint point, String text, Action action) { StringBuilder b = new StringBuilder(); - b.append(getNotesApi()).append("/"); //$NON-NLS-1$ - b.append(id); //$NON-NLS-1$ - b.append("/reopen?text=").append(URLEncoder.encode(text)); //$NON-NLS-1$ - return editingPOI(b.toString(), "POST", "reopen bug"); //$NON-NLS-1$ - } - - - @Override - public OsmBugResult closingBug(double latitude, double longitude, long id, String text) { - StringBuilder b = new StringBuilder(); - b.append(getNotesApi()).append("/"); - b.append(id); //$NON-NLS-1$ - b.append("/close?text=").append(URLEncoder.encode(text)); //$NON-NLS-1$ - return editingPOI(b.toString(), "POST", "close bug"); //$NON-NLS-1$ + String msg = ""; + if(action == OsmPoint.Action.CREATE) { + b.append(getNotesApi()).append("?"); //$NON-NLS-1$ + b.append("lat=").append(point.getLatitude()); //$NON-NLS-1$ + b.append("&lon=").append(point.getLongitude()); //$NON-NLS-1$ + b.append("&text=").append(URLEncoder.encode(text)); //$NON-NLS-1$ + msg = "creating bug"; + } else { + b.append(getNotesApi()).append("/"); + b.append(point.getId()); //$NON-NLS-1$ + if(action == OsmPoint.Action.REOPEN) { + b.append("/reopen"); + msg = "reopen note"; + } else if(action == OsmPoint.Action.MODIFY) { + b.append("/comment"); + msg = "adding comment"; + } else if(action == OsmPoint.Action.DELETE) { + b.append("/close"); + msg = "close note"; + } + b.append("?text=").append(URLEncoder.encode(text)); //$NON-NLS-1$ + } + return editingPOI(b.toString(), "POST", msg); } private OsmBugResult editingPOI(String url, String requestMethod, String userOperation) { diff --git a/OsmAnd/src/net/osmand/plus/osmedit/OsmBugsUtil.java b/OsmAnd/src/net/osmand/plus/osmedit/OsmBugsUtil.java index 5f93697702..bcc040722c 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/OsmBugsUtil.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/OsmBugsUtil.java @@ -1,19 +1,14 @@ package net.osmand.plus.osmedit; +import net.osmand.plus.osmedit.OsmPoint.Action; + public interface OsmBugsUtil { - public static enum Action {CREATE, MODIFY, CLOSE, REOPEN}; - public static class OsmBugResult { OsmNotesPoint local; String warning; } - - public OsmBugResult createNewBug(double latitude, double longitude, String text); - - public OsmBugResult addingComment(double latitude, double longitude, long id, String text); - public OsmBugResult reopenBug(double latitude, double longitude, long id, String text); - - public OsmBugResult closingBug(double latitude, double longitude, long id, String text); + public OsmBugResult commit(OsmNotesPoint bug, String text, Action action); + } diff --git a/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java b/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java index 390b3db93a..4c1b04f5c0 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/OsmEditingPlugin.java @@ -1,18 +1,7 @@ package net.osmand.plus.osmedit; -import android.app.Activity; -import android.content.Context; -import android.content.DialogInterface; -import android.content.DialogInterface.OnClickListener; -import android.content.Intent; -import android.support.v4.app.Fragment; -import android.support.v7.app.AlertDialog; -import android.view.LayoutInflater; -import android.view.View; -import android.widget.ArrayAdapter; -import android.widget.EditText; -import android.widget.Spinner; -import android.widget.Toast; +import java.util.List; + import net.osmand.PlatformUtil; import net.osmand.access.AccessibleToast; import net.osmand.data.Amenity; @@ -38,7 +27,19 @@ import net.osmand.util.Algorithms; import org.apache.commons.logging.Log; -import java.util.List; +import android.app.Activity; +import android.content.Context; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.Intent; +import android.support.v4.app.Fragment; +import android.support.v7.app.AlertDialog; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.ArrayAdapter; +import android.widget.EditText; +import android.widget.Spinner; +import android.widget.Toast; public class OsmEditingPlugin extends OsmandPlugin { @@ -50,7 +51,8 @@ public class OsmEditingPlugin extends OsmandPlugin { OsmBugsDbHelper dbbug; OpenstreetmapLocalUtil localUtil; OpenstreetmapRemoteUtil remoteUtil; - private OsmBugsRemoteUtil remoteNotesUtil; + OsmBugsRemoteUtil remoteNotesUtil; + OsmBugsLocalUtil localNotesUtil; public OsmEditingPlugin(OsmandApplication app) { this.app = app; @@ -90,6 +92,13 @@ public class OsmEditingPlugin extends OsmandPlugin { return remoteNotesUtil; } + public OsmBugsLocalUtil getOsmNotesLocalUtil() { + if(localNotesUtil == null) { + localNotesUtil = new OsmBugsLocalUtil(app, dbbug); + } + return localNotesUtil; + } + diff --git a/OsmAnd/src/net/osmand/plus/osmedit/OsmEditsUploadListenerHelper.java b/OsmAnd/src/net/osmand/plus/osmedit/OsmEditsUploadListenerHelper.java index 286ae30e17..f895f2e28a 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/OsmEditsUploadListenerHelper.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/OsmEditsUploadListenerHelper.java @@ -22,13 +22,13 @@ import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; - import net.osmand.access.AccessibleToast; import net.osmand.plus.IconsCache; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandPlugin; import net.osmand.plus.ProgressImplementation; import net.osmand.plus.R; +import net.osmand.plus.osmedit.OsmPoint.Action; import java.text.MessageFormat; import java.util.ArrayList; @@ -111,8 +111,8 @@ public class OsmEditsUploadListenerHelper implements OsmEditsUploadListener { builder.setTitle(getResources().getString(R.string.failed_to_upload)) .setMessage(MessageFormat.format( getResources().getString(R.string.error_message_pattern), errorMessage)) - .setPositiveButton(R.string.shared_string_ok, null) - .setNeutralButton(getResources().getString(R.string.delete_change), + .setPositiveButton(R.string.shared_string_ok, null); + builder.setNeutralButton(getResources().getString(R.string.delete_change), new DialogInterface.OnClickListener() { public void onClick(@Nullable DialogInterface dialog, int id) { OsmEditingPlugin plugin = diff --git a/OsmAnd/src/net/osmand/plus/osmedit/UploadOpenstreetmapPointAsyncTask.java b/OsmAnd/src/net/osmand/plus/osmedit/UploadOpenstreetmapPointAsyncTask.java index a3d5b56d25..e0c140f873 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/UploadOpenstreetmapPointAsyncTask.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/UploadOpenstreetmapPointAsyncTask.java @@ -62,16 +62,7 @@ public class UploadOpenstreetmapPointAsyncTask loadErrorsMap.put(point, n != null ? null : "Unknown problem"); } else if (point.getGroup() == OsmPoint.Group.BUG) { OsmNotesPoint p = (OsmNotesPoint) point; - String errorMessage = null; - if (p.getAction() == OsmPoint.Action.CREATE) { - errorMessage = remotebug.createNewBug(p.getLatitude(), p.getLongitude(), p.getText()).warning; - } else if (p.getAction() == OsmPoint.Action.MODIFY) { - errorMessage = remotebug.addingComment(p.getLatitude(), p.getLongitude(), p.getId(), p.getText()).warning; - } else if (p.getAction() == OsmPoint.Action.REOPEN) { - errorMessage = remotebug.reopenBug(p.getLatitude(), p.getLongitude(), p.getId(), p.getText()).warning; - } else if (p.getAction() == OsmPoint.Action.DELETE) { - errorMessage = remotebug.closingBug(p.getLatitude(), p.getLongitude(), p.getId(), p.getText()).warning; - } + String errorMessage = remotebug.commit(p, p.getText(), p.getAction()).warning; if (errorMessage == null) { plugin.getDBBug().deleteAllBugModifications(p); publishProgress(p); diff --git a/OsmAnd/src/net/osmand/plus/osmedit/dialogs/SendPoiDialogFragment.java b/OsmAnd/src/net/osmand/plus/osmedit/dialogs/SendPoiDialogFragment.java index d4ea47c9a8..5420afbed4 100644 --- a/OsmAnd/src/net/osmand/plus/osmedit/dialogs/SendPoiDialogFragment.java +++ b/OsmAnd/src/net/osmand/plus/osmedit/dialogs/SendPoiDialogFragment.java @@ -94,6 +94,8 @@ public class SendPoiDialogFragment extends DialogFragment { } public interface ProgressDialogPoiUploader { + void showProgressDialog(OsmPoint[] points, boolean closeChangeSet); + } }