package de.onyxbits.sensorreadout;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.model.XYSeries;
import android.content.Intent;
import android.os.AsyncTask;
/**
* Builds the CSV dump for sharing.
*
* @author patrick
*
*/
class ExportTask extends AsyncTask<XYMultipleSeriesDataset, Integer, String> {
private ReadoutActivity activity;
public ExportTask(ReadoutActivity activity) {
this.activity = activity;
}
@Override
protected String doInBackground(XYMultipleSeriesDataset... params) {
StringBuilder sb = new StringBuilder();
XYSeries series[] = params[0].getSeries();
int samples = series[0].getItemCount();
for (int i = 0; i < samples; i++) {
sb.append(i);
sb.append(", ");
sb.append(series[0].getY(i));
if (series.length > 1) {
sb.append(", ");
sb.append(series[1].getY(i));
if (series.length > 2) {
sb.append(", ");
sb.append(series[2].getY(i));
}
}
sb.append("\n");
publishProgress(10000 * i / samples);
}
return sb.toString();
}
@Override
public void onPreExecute() {
activity.setProgressBarVisibility(true);
}
@Override
public void onProgressUpdate(Integer... values) {
activity.setProgress(values[0]);
}
@Override
public void onPostExecute(String result) {
activity.setProgressBarVisibility(false);
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, result);
sendIntent.setType("text/plain");
activity.startActivity(Intent.createChooser(sendIntent, activity
.getResources().getText(R.string.send_to)));
}
}