From 4507574498eaafe46e4e98c052d984d35d3a5d83 Mon Sep 17 00:00:00 2001 From: SeeLook <945374+SeeLook@users.noreply.github.com> Date: Wed, 17 Aug 2016 12:11:49 +0200 Subject: [PATCH] getExternalPath() returns empty when no write access detected, accountName() returns Android, but device model is commented (maybe in future...) --- src/libs/core/Android/tandroid.cpp | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/libs/core/Android/tandroid.cpp b/src/libs/core/Android/tandroid.cpp index 0f64cdee4..7df7bdc4d 100644 --- a/src/libs/core/Android/tandroid.cpp +++ b/src/libs/core/Android/tandroid.cpp @@ -21,6 +21,7 @@ #include <QtAndroidExtras/qandroidfunctions.h> #include <QtAndroidExtras/qandroidjnienvironment.h> #include <QtCore/qdatetime.h> +#include <QtCore/qfileinfo.h> #include <QtCore/qdebug.h> @@ -43,8 +44,18 @@ void Tandroid::setScreenLockDisabled() { QString Tandroid::getExternalPath() { QString extPath = qgetenv("SECONDARY_STORAGE"); + if (!extPath.isEmpty()) { + if (!QFileInfo(extPath).isWritable()) { + qDebug() << "[Tandroid] No write access to secondary storage!"; + extPath.clear(); + } + } if (extPath.isEmpty()) extPath = qgetenv("EXTERNAL_STORAGE"); // return primary storage path (device internal) + if (!QFileInfo(extPath).isWritable()) { + qDebug() << "[Tandroid] No write access to primary storage!"; + extPath.clear(); + } return extPath; // QAndroidJniObject extDirObject = // QAndroidJniObject::callStaticObjectMethod("android/os/Environment", "getExternalStorageDirectory", "()Ljava/io/File;"); @@ -116,14 +127,10 @@ void Tandroid::sendExam(const QString& title, const QString &message, const QStr QString Tandroid::accountName() { -// QAndroidJniObject::callStaticMethod<void>( -// "net/sf/nootka/Tusers", "getUserName", -// "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", -// jTitle.object<jstring>(), jMessage.object<jstring>(), jFile.object<jstring>()); - - QAndroidJniObject juser = QtAndroid::androidActivity().callObjectMethod("getUser", "()Ljava/lang/String;"); - return juser.toString(); -// return "fake"; +// QString model = QAndroidJniObject::getStaticObjectField<jstring>("android/os/Build", "MODEL").toString(); +// QAndroidJniObject juser = QtAndroid::androidActivity().callObjectMethod("getUser", "()Ljava/lang/String;"); +// return model; + return QStringLiteral("Android"); // return QAndroidJniObject::callStaticObjectMethod<jstring> // ("net/sf/nootka/account", // "getName").toString(); -- GitLab