package com.evancharlton.mileage.tasks;
import com.evancharlton.mileage.io.CsvColumnMappingActivity;
import com.evancharlton.mileage.provider.Settings;
import android.util.Log;
import au.com.bytecode.opencsv.CSVReader;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class CsvDataReader extends
AttachableAsyncTask<CsvColumnMappingActivity, String, String[], Void> {
@Override
protected Void doInBackground(String... inputFiles) {
final String inputFile = inputFiles[0];
final String absoluteInputFile = Settings.EXTERNAL_DIR + inputFile;
BufferedReader reader = null;
CSVReader csvReader = null;
try {
reader = new BufferedReader(new FileReader(absoluteInputFile));
csvReader = new CSVReader(reader);
// Note: it's assumed that the first row is the column names.
publishProgress(csvReader.readNext());
} catch (IOException e) {
Log.e("ColumnReaderTask", "Could not get columns!", e);
}
try {
if (reader != null) {
reader.close();
}
if (csvReader != null) {
csvReader.close();
}
} catch (IOException e) {
// nothing to do
}
return null;
}
@Override
protected void onProgressUpdate(String[]... rows) {
// getParent().addRow(rows[0]);
}
@Override
protected void onPostExecute(Void v) {
}
}