aboutsummaryrefslogtreecommitdiffstats
path: root/main.cpp
diff options
context:
space:
mode:
authorAngelo Mantellini <manangel@cisco.com>2019-06-12 18:02:19 +0200
committerAngelo Mantellini <manangel@cisco.com>2019-06-18 14:50:29 +0200
commit6fe18f6a466dbae611bbe1e4fa33b352cc4ef6df (patch)
tree4521d14f28894256891c878b08b5410e02d43125 /main.cpp
parent2a876fc0d7986dc1ecb169bdc41972fe0f33d0dd (diff)
Correct android issues for libdash and viper
Change-Id: Ia5b95bda6336b6544c881c416f852069662f5e3f Signed-off-by: Angelo Mantellini <manangel@cisco.com>
Diffstat (limited to 'main.cpp')
-rw-r--r--main.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/main.cpp b/main.cpp
index a1f2969e..76fbe0cf 100644
--- a/main.cpp
+++ b/main.cpp
@@ -27,6 +27,7 @@
#include <QtAV/QtAV.h>
#ifdef Q_OS_ANDROID
#include <QAndroidJniObject>
+#include <QtAndroid>
#endif
#include "Common/QtQuick2ApplicationViewer.h"
#include "../Common/Common.h"
@@ -159,7 +160,8 @@ int main(int argc, char *argv[])
viewer.setY(op.value().toInt());
if (options.value(QStringLiteral("fullscreen")).toBool())
viewer.showFullScreen();
- viewer.setTitle(QStringLiteral("Viper"));
+ viewer.setTitle(QStringLiteral("Viper"));
+
#if 1
QString json = app.arguments().join(QStringLiteral("\",\""));
json.prepend(QLatin1String("[\"")).append(QLatin1String("\"]"));
@@ -171,8 +173,19 @@ int main(int argc, char *argv[])
qApp->installEventFilter(ae);
QString file;
#ifdef Q_OS_ANDROID
- engine->rootContext()->setContextProperty("platform", 1);
- file = QAndroidJniObject::callStaticObjectMethod("org.viper.com.ViperActivity"
+ const QVector<QString> permissions({"android.permission.INTERNET",
+ "android.permission.WRITE_EXTERNAL_STORAGE",
+ "android.permission.READ_EXTERNAL_STORAGE"});
+ for(const QString &permission : permissions){
+ auto result = QtAndroid::checkPermission(permission);
+ if(result == QtAndroid::PermissionResult::Denied){
+ auto resultHash = QtAndroid::requestPermissionsSync(QStringList({permission}));
+ if(resultHash[permission] == QtAndroid::PermissionResult::Denied)
+ return 0;
+ }
+ }
+
+ file = QAndroidJniObject::callStaticObjectMethod("io.fd.viper.ViperActivity"
, "getUrl"
, "()Ljava/lang/String;")
.toString();