package net.osmand.plus.osmedit;
import java.io.File;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.myplaces.AvailableGPXFragment.GpxInfo;
import net.osmand.plus.osmedit.OsmEditingPlugin.UploadVisibility;
import android.app.Activity;
import android.os.AsyncTask;
import android.widget.Toast;
public class UploadGPXFilesTask extends AsyncTask<GpxInfo, String, String> {
private final String visibility;
private final String description;
private final String tagstring;
private Activity la;
public UploadGPXFilesTask(Activity la,
String description, String tagstring, UploadVisibility visibility) {
this.la = la;
this.description = description;
this.tagstring = tagstring;
this.visibility = visibility != null ? visibility.asURLparam() : UploadVisibility.Private.asURLparam();
}
@Override
protected String doInBackground(GpxInfo... params) {
int count = 0;
int total = 0;
for (GpxInfo info : params) {
if (!isCancelled() && info.file != null) {
String warning = null;
File file = info.file;
warning = new OpenstreetmapRemoteUtil((OsmandApplication) la.getApplication()).uploadGPXFile(tagstring, description, visibility,
file);
total++;
if (warning == null) {
count++;
} else {
publishProgress(warning);
}
}
}
return la.getString(R.string.local_index_items_uploaded, count, total);
}
@Override
protected void onProgressUpdate(String... values) {
if (values.length > 0) {
StringBuilder b = new StringBuilder();
for (int i = 0; i < values.length; i++) {
if (i > 0) {
b.append("\n");
}
b.append(values[i]);
}
Toast.makeText(la, b.toString(), Toast.LENGTH_LONG).show();
}
}
@Override
protected void onPreExecute() {
la.setProgressBarIndeterminateVisibility(true);
}
@Override
protected void onPostExecute(String result) {
la.setProgressBarIndeterminateVisibility(false);
Toast.makeText(la, result, Toast.LENGTH_LONG).show();
}
}