[Libreoffice-commits] online.git: android/lib
Jan Holesovsky (via logerrit)
logerrit at kemper.freedesktop.org
Mon Mar 16 18:42:24 UTC 2020
android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java | 24 +++++++---
1 file changed, 18 insertions(+), 6 deletions(-)
New commits:
commit da9897f72575a502711cbb7b84fc7817cb31c2bd
Author: Jan Holesovsky <kendy at collabora.com>
AuthorDate: Mon Mar 16 18:35:43 2020 +0100
Commit: Michael Meeks <michael.meeks at collabora.com>
CommitDate: Mon Mar 16 19:42:06 2020 +0100
android: Use "wt" mode even for Export As.
And use a real tempfile for that when I'm touching this code.
Change-Id: Iad6ea41b9e9c6459f66f1dee0258092ead1b8de5
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90587
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
diff --git a/android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java b/android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java
index 434b467ce..c1edd099a 100644
--- a/android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java
+++ b/android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java
@@ -613,20 +613,32 @@ public class LOActivity extends AppCompatActivity {
}
String format = getFormatForRequestCode(requestCode);
if (format != null) {
- final File tempFile = new File(LOActivity.this.getCacheDir(), "temp.file");
- LOActivity.this.saveAs(tempFile.toURI().toString(), format);
- try (InputStream inputStream = new FileInputStream(tempFile)) {
- OutputStream outputStream = getContentResolver().openOutputStream(intent.getData());
+ InputStream inputStream = null;
+ OutputStream outputStream = null;
+ try {
+ final File tempFile = File.createTempFile("LibreOffice", "." + format, this.getCacheDir());
+ LOActivity.this.saveAs(tempFile.toURI().toString(), format);
+
+ inputStream = new FileInputStream(tempFile);
+ outputStream = getContentResolver().openOutputStream(intent.getData(), "wt");
+
byte[] buffer = new byte[4096];
int len;
- while ((len = inputStream.read(buffer)) > 0) {
+ while ((len = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, len);
}
outputStream.flush();
- outputStream.close();
} catch (Exception e) {
Toast.makeText(this, "Something went wrong while Saving as: " + e.getMessage(), Toast.LENGTH_SHORT).show();
e.printStackTrace();
+ } finally {
+ try {
+ if (inputStream != null)
+ inputStream.close();
+ if (outputStream != null)
+ outputStream.close();
+ } catch (Exception e) {
+ }
}
return;
}
More information about the Libreoffice-commits
mailing list