diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-03-01 01:00:23 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2020-03-03 14:13:02 +0100 |
commit | 63312fe2ec1c1d8c0efabc02e3af8e5b47ca320e (patch) | |
tree | fc850de8f31581cc6a64db7a78d1cca479e20ce9 /src/android/jar/src/org/qtproject | |
parent | 5ebb03c47604e0597502fbe1069de636987f33fc (diff) | |
parent | fbebc93617d99d2bf8fed559f17dba8bed15a063 (diff) |
Merge remote-tracking branch 'origin/5.15' into dev
Change-Id: If36d96c0fef3de5ab6503977501c55c62a2ecc97
Diffstat (limited to 'src/android/jar/src/org/qtproject')
-rw-r--r-- | src/android/jar/src/org/qtproject/qt5/android/QtNative.java | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java index 87d326e225..a8bf4c15e1 100644 --- a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java +++ b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java @@ -44,6 +44,7 @@ import java.io.File; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.concurrent.Semaphore; +import java.io.IOException; import android.app.Activity; import android.app.Service; @@ -70,6 +71,7 @@ import android.view.Menu; import android.view.MotionEvent; import android.view.View; import android.view.InputDevice; +import android.database.Cursor; import java.lang.reflect.Method; import java.security.KeyStore; @@ -231,6 +233,61 @@ public class QtNative } } + public static long getSize(Context context, String contentUrl) + { + Uri uri = getUriWithValidPermission(context, contentUrl, "r"); + long size = -1; + + if (uri == null) { + Log.e(QtTAG, "getSize(): No permissions to open Uri"); + return size; + } + + try { + ContentResolver resolver = context.getContentResolver(); + Cursor cur = resolver.query(uri, null, null, null, null); + if (cur != null) { + if (cur.moveToFirst()) + size = cur.getLong(5); // size column + cur.close(); + } + return size; + } catch (IllegalArgumentException e) { + Log.e(QtTAG, "getSize(): Invalid Uri"); + return size; + } catch (UnsupportedOperationException e) { + Log.e(QtTAG, "getSize(): Unsupported operation for given Uri"); + return size; + } + } + + public static boolean checkFileExists(Context context, String contentUrl) + { + Uri uri = getUriWithValidPermission(context, contentUrl, "r"); + boolean exists = false; + + if (uri == null) { + Log.e(QtTAG, "checkFileExists(): No permissions to open Uri"); + return exists; + } + + try { + ContentResolver resolver = context.getContentResolver(); + Cursor cur = resolver.query(uri, null, null, null, null); + if (cur != null) { + exists = true; + cur.close(); + } + return exists; + } catch (IllegalArgumentException e) { + Log.e(QtTAG, "checkFileExists(): Invalid Uri"); + return exists; + } catch (UnsupportedOperationException e) { + Log.e(QtTAG, "checkFileExists(): Unsupported operation for given Uri"); + return false; + } + } + // this method loads full path libs public static void loadQtLibraries(final ArrayList<String> libraries) { |