aboutsummaryrefslogtreecommitdiffstats
path: root/subsurface-core
diff options
context:
space:
mode:
Diffstat (limited to 'subsurface-core')
-rw-r--r--subsurface-core/android.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/subsurface-core/android.cpp b/subsurface-core/android.cpp
index 4b5877ab5..3631b07a1 100644
--- a/subsurface-core/android.cpp
+++ b/subsurface-core/android.cpp
@@ -44,18 +44,12 @@ void subsurface_user_info(struct user_info *user)
static const char *system_default_path_append(const char *append)
{
- /* Replace this when QtCore/QStandardPaths getExternalStorageDirectory landed */
- QAndroidJniObject externalStorage = QAndroidJniObject::callStaticObjectMethod("android/os/Environment", "getExternalStorageDirectory", "()Ljava/io/File;");
- QAndroidJniObject externalStorageAbsolute = externalStorage.callObjectMethod("getAbsolutePath", "()Ljava/lang/String;");
- QString path = externalStorageAbsolute.toString();
- QAndroidJniEnvironment env;
- if (env->ExceptionCheck()) {
- // FIXME: Handle exception here.
- env->ExceptionClear();
- path = QString("/sdcard");
- }
+ // Qt appears to find a working path for us - let's just go with that
+ QString path = QStandardPaths::standardLocations(QStandardPaths::DataLocation).first();
+
if (append)
path += QString("/%1").arg(append);
+
return strdup(path.toUtf8().data());
}