From aaac2cbe9c031a64a100b169b836fe6afdcffab2 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Sat, 7 Nov 2015 10:50:44 -0800 Subject: [PATCH] Android: go back to using Qt's DataLocation It appears that the default path we tried to use on Android since commit 80056278f7a2 ("android.cpp: update path retriaval scheme") didn't work - so let's just go back to what we used to do as that was perfectly fine. Signed-off-by: Dirk Hohndel --- subsurface-core/android.cpp | 14 ++++---------- 1 file 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()); }