package com.door43.translationstudio.tasks; import com.door43.translationstudio.AppContext; import com.door43.util.FileUtilities; import com.door43.util.tasks.ManagedTask; import java.io.File; import java.io.FilenameFilter; /** * This task archives the latest crash report */ public class ArchiveCrashReportTask extends ManagedTask { public static final String TASK_ID = "archive_crash_report_task"; private int mMaxProgress = 1; @Override public void start() { File dir = new File(AppContext.getPublicDirectory(), AppContext.context().STACKTRACE_DIR); String[] files = dir.list(new FilenameFilter() { @Override public boolean accept(File file, String s) { return !new File(file, s).isDirectory(); } }); if (files.length > 0) { File archiveDir = new File(dir, "archive"); archiveDir.mkdirs(); for(int i = 0; i < files.length; i ++) { File traceFile = new File(dir, files[i]); // archive stack trace for later use FileUtilities.moveOrCopy(traceFile, new File(archiveDir, files[i])); // clean up traces if(traceFile.exists()) { traceFile.delete(); } } } } @Override public int maxProgress() { return mMaxProgress; } }