Fix bug report generation temp file

Use application space to store the temporary file if it cannot be stored in
the default place.
This commit is contained in:
Guillaume Beraudo 2011-10-04 10:10:42 +02:00
parent b3f7a20857
commit 53b2381ad8

View file

@ -73,25 +73,31 @@ public class AboutActivity extends Activity implements OnClickListener {
thread.start();
}
private void onLogsRead(String logs) {
File tempFile;
if (logs == null) {
Toast.makeText(this, getString(R.string.about_logs_not_found), Toast.LENGTH_SHORT).show();
} else {
private File writeLogs(String logs, File directory) {
File tempFile = null;
try {
tempFile = File.createTempFile("bugreport", ".txt");
tempFile = File.createTempFile("bugreport", ".txt", directory);
tempFile.deleteOnExit();
FileWriter writer = new FileWriter(tempFile);
writer.append(logs);
return tempFile;
} catch (IOException e) {
Toast.makeText(this, getString(R.string.about_error_generating_bugreport_attachement), Toast.LENGTH_LONG).show();
Log.e(e, "couldn't write to temporary file");
return;
} finally {
thread = null;
return null;
}
}
private void onLogsRead(String logs) {
if (logs == null) {
Toast.makeText(this, getString(R.string.about_logs_not_found), Toast.LENGTH_SHORT).show();
} else {
File tempFile = writeLogs(logs, null);
if (tempFile == null) {
// If writing to temporary file to default location failed
// Write one to our storage place
tempFile = writeLogs(logs, getFilesDir());
}
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
@ -114,6 +120,7 @@ public class AboutActivity extends Activity implements OnClickListener {
@Override
public void run() {
onLogsRead(logs);
thread=null;
}
});
super.run();