package org.skydiveapp;
import java.io.File;
import org.skydiveapp.util.DatabaseImportUtil;
import android.app.Activity;
import android.os.Environment;
import android.os.Handler;
import android.util.Log;
public class ImportWorker implements Runnable
{
// message types
public static final int FINISHED = 0;
// import file name
public static final String IMPORT_FILE_NAME = "skydiving_logbook.xml";
private Activity activity;
private Handler handler;
public ImportWorker(
Activity activity,
Handler handler)
{
this.activity = activity;
this.handler = handler;
}
@Override
public void run()
{
importFromSDCard();
}
private void importFromSDCard()
{
try
{
String fileName = Environment.getExternalStorageDirectory() + "/" + IMPORT_FILE_NAME;
File importFile = new File(fileName);
if (!importFile.exists())
{
return;
}
// do import
DatabaseImportUtil importUtil = new DatabaseImportUtil(activity);
importUtil.writeXmlToDB(importFile);
}
catch (Exception ex)
{
// TODO: report error back to UI
ex.printStackTrace();
Log.e(ExportWorker.class.getCanonicalName(), ex.getMessage());
}
// report complete
handler.dispatchMessage(handler.obtainMessage(FINISHED));
}
}
|