@Override public void inBackground() { mEnabled = (Prefs.getLastEmail() < (System.currentTimeMillis() - 15 * 60 * 1000) && sHelper.isThereSomethingBad(FailureLevel.error)); if (!mForce && !mEnabled) { return; // do nothing } final ArrayList<LogEntry> logs = sHelper.getLogs(); try { File file = new File(Environment.getExternalStorageDirectory(), LOG_FILE); FileOutputStream stream = new FileOutputStream(file); GZIPOutputStream gzipStream = new GZIPOutputStream(stream); OutputStreamWriter writer = new OutputStreamWriter(gzipStream); BufferedWriter bWriter = new BufferedWriter(writer); for (LogEntry entry : logs) { bWriter.write( Long.toString(entry.time) + "\t" + entry.level.toString() + "\t\t" + entry.tag + ": " + entry.message + "\n"); } bWriter.close(); } catch (IOException e) { mStatus = false; } }