package com.boardgamegeek.export; import android.content.Context; import android.os.AsyncTask; import android.support.annotation.NonNull; import com.boardgamegeek.events.ExportProgressEvent; import org.greenrobot.eventbus.EventBus; import java.util.ArrayList; import java.util.List; public class ImporterExporterTask extends AsyncTask<Void, Integer, Integer> { protected static final int ERROR_FILE_ACCESS = 1; protected static final int SUCCESS = 0; protected static final int ERROR = -1; protected static final int ERROR_STORAGE_ACCESS = -2; private static final int PROGRESS_CURRENT = 0; private static final int PROGRESS_TOTAL = 1; private static final int PROGRESS_STEP = 2; protected final Context context; protected final boolean isAutoBackupMode; protected final List<Step> steps = new ArrayList<>(); public ImporterExporterTask(@NonNull Context context, boolean isAutoBackupMode) { this.context = context.getApplicationContext(); this.isAutoBackupMode = isAutoBackupMode; steps.clear(); steps.add(new CollectionViewStep()); steps.add(new GameStep()); steps.add(new UserStep()); } @NonNull public List<Step> getSteps() { return steps; } @Override protected Integer doInBackground(Void... params) { return ERROR; } @Override protected void onProgressUpdate(Integer... values) { EventBus.getDefault().post(new ExportProgressEvent( values[PROGRESS_CURRENT], values[PROGRESS_TOTAL], values[PROGRESS_STEP])); } }