diff options
author | Michael Weghorn <m.weghorn@posteo.de> | 2021-04-01 14:34:23 +0200 |
---|---|---|
committer | Michael Weghorn <m.weghorn@posteo.de> | 2021-04-01 17:18:38 +0200 |
commit | af56d15d6bbe92c7df0248ec72dc4d759580c378 (patch) | |
tree | 223860e7902fe5adac63a3687ae1c7032d430ee8 /android | |
parent | 40115df50102bd5314a93f54042ae6d035c1f685 (diff) |
android: Move code to get doc's display name from URI to static helper
Will be used in LibreOfficeUIActivity as well.
Change-Id: Ie1b99f0d31dba1be263459d135ee7fcb36613a7b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113457
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Diffstat (limited to 'android')
-rw-r--r-- | android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java | 25 | ||||
-rw-r--r-- | android/source/src/java/org/libreoffice/ui/FileUtilities.java | 27 |
2 files changed, 29 insertions, 23 deletions
diff --git a/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java b/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java index cfdc81000f51..aed1cf946a69 100644 --- a/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java +++ b/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java @@ -40,6 +40,7 @@ import org.libreoffice.overlay.CalcHeadersController; import org.libreoffice.overlay.DocumentOverlay; import org.libreoffice.storage.DocumentProviderFactory; import org.libreoffice.storage.IFile; +import org.libreoffice.ui.FileUtilities; import org.libreoffice.ui.LibreOfficeUIActivity; import org.mozilla.gecko.gfx.GeckoLayerClient; import org.mozilla.gecko.gfx.LayerView; @@ -202,7 +203,7 @@ public class LibreOfficeMainActivity extends AppCompatActivity implements Settin mbISReadOnlyMode = !isExperimentalMode() || isReadOnlyDoc; Log.d(LOGTAG, "SCHEME_CONTENT: getPath(): " + getIntent().getData().getPath()); - String displayName = extractDisplayNameFromIntent(); + String displayName = FileUtilities.retrieveDisplayNameForDocumentUri(getContentResolver(), getIntent().getData()); if (displayName.isEmpty()) { // fall back to using temp file name displayName = mInputFile.getName(); @@ -569,28 +570,6 @@ public class LibreOfficeMainActivity extends AppCompatActivity implements Settin } - /** - * Tries to retrieve display name for data in Intent, - * which should be the file name. - */ - private String extractDisplayNameFromIntent() { - String displayName = ""; - // try to retrieve original file name - Cursor cursor = null; - try { - String[] columns = {OpenableColumns.DISPLAY_NAME}; - cursor = getContentResolver().query(getIntent().getData(), columns, null, null); - if (cursor != null && cursor.moveToFirst()) { - displayName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME)); - } - } finally { - if (cursor != null) { - cursor.close(); - } - } - return displayName; - } - public List<DocumentPartView> getDocumentPartView() { return mDocumentPartView; } diff --git a/android/source/src/java/org/libreoffice/ui/FileUtilities.java b/android/source/src/java/org/libreoffice/ui/FileUtilities.java index 28f1906a6369..5a4224f2ceb9 100644 --- a/android/source/src/java/org/libreoffice/ui/FileUtilities.java +++ b/android/source/src/java/org/libreoffice/ui/FileUtilities.java @@ -19,6 +19,11 @@ import java.util.Collections; import java.util.List; import java.util.HashMap; import java.util.Comparator; + +import android.content.ContentResolver; +import android.database.Cursor; +import android.net.Uri; +import android.provider.OpenableColumns; import android.util.Log; import android.webkit.MimeTypeMap; @@ -274,6 +279,28 @@ public class FileUtilities { static String getThumbnailName(File file) { return "." + file.getName().split("[.]")[0] + ".png" ; } + + /** + * Tries to retrieve the display (which should be the document name) + * for the given URI using the given resolver. + */ + public static String retrieveDisplayNameForDocumentUri(ContentResolver resolver, Uri docUri) { + String displayName = ""; + // try to retrieve original file name + Cursor cursor = null; + try { + String[] columns = {OpenableColumns.DISPLAY_NAME}; + cursor = resolver.query(docUri, columns, null, null); + if (cursor != null && cursor.moveToFirst()) { + displayName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME)); + } + } finally { + if (cursor != null) { + cursor.close(); + } + } + return displayName; + } } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |