android/source/src/java/org/libreoffice/LOKitThread.java | 10 ------ android/source/src/java/org/libreoffice/LOKitTileProvider.java | 15 ++++++++++ android/source/src/java/org/libreoffice/TileProvider.java | 8 ++++- 3 files changed, 23 insertions(+), 10 deletions(-)
New commits: commit 4dbc9c87a09922072c0250e4e932228de93961db Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Tue Mar 30 11:40:21 2021 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Wed Mar 31 06:57:34 2021 +0200 android: TileKitProvider: Optionally detect file type from document Add an overload for the 'saveDocumentAs' method that takes just one parameter and auto-detects the file type to use from the document. Use it when creating new documents. Change-Id: I0f275ce159176292ffa1e52ed37673a486ab9428 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113374 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/android/source/src/java/org/libreoffice/LOKitThread.java b/android/source/src/java/org/libreoffice/LOKitThread.java index 03b7070e783a..e80e5af6c990 100644 --- a/android/source/src/java/org/libreoffice/LOKitThread.java +++ b/android/source/src/java/org/libreoffice/LOKitThread.java @@ -265,15 +265,7 @@ class LOKitThread extends Thread { refresh(); LOKitShell.hideProgressSpinner(mContext); - if (fileType.matches(LibreOfficeUIActivity.NEW_WRITER_STRING_KEY)) - mTileProvider.saveDocumentAs(filePath, "odt"); - else if (fileType.matches(LibreOfficeUIActivity.NEW_CALC_STRING_KEY)) - mTileProvider.saveDocumentAs(filePath, "ods"); - else if (fileType.matches(LibreOfficeUIActivity.NEW_IMPRESS_STRING_KEY)) - mTileProvider.saveDocumentAs(filePath, "odp"); - else - mTileProvider.saveDocumentAs(filePath, "odg"); - + mTileProvider.saveDocumentAs(filePath); } else { closeDocument(); } diff --git a/android/source/src/java/org/libreoffice/LOKitTileProvider.java b/android/source/src/java/org/libreoffice/LOKitTileProvider.java index 0e2649337322..a887118c6aaa 100644 --- a/android/source/src/java/org/libreoffice/LOKitTileProvider.java +++ b/android/source/src/java/org/libreoffice/LOKitTileProvider.java @@ -356,6 +356,21 @@ class LOKitTileProvider implements TileProvider { LOKitShell.hideProgressSpinner(mContext); } + @Override + public void saveDocumentAs(final String filePath) { + final int docType = mDocument.getDocumentType(); + if (docType == Document.DOCTYPE_TEXT) + saveDocumentAs(filePath, "odt"); + else if (docType == Document.DOCTYPE_SPREADSHEET) + saveDocumentAs(filePath, "ods"); + else if (docType == Document.DOCTYPE_PRESENTATION) + saveDocumentAs(filePath, "odp"); + else if (docType == Document.DOCTYPE_DRAWING) + saveDocumentAs(filePath, "odg"); + else + Log.w(LOGTAG, "Cannot determine file format from document. Not saving."); + } + public void exportToPDF(boolean print){ String dir = Environment.getExternalStorageDirectory().getAbsolutePath()+"/Documents"; File docDir = new File(dir); diff --git a/android/source/src/java/org/libreoffice/TileProvider.java b/android/source/src/java/org/libreoffice/TileProvider.java index dabf30b834f7..a848b4ae98d0 100644 --- a/android/source/src/java/org/libreoffice/TileProvider.java +++ b/android/source/src/java/org/libreoffice/TileProvider.java @@ -22,10 +22,16 @@ import org.mozilla.gecko.gfx.IntSize; public interface TileProvider { /** - * Save the current document. + * Save the current document under the given path. */ void saveDocumentAs(String filePath, String format); + /** + * Saves the current document under the given path, + * using the default file format. + */ + void saveDocumentAs(String filePath); + /** * Returns the page width in pixels. */ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits