File indexing completed on 2025-02-16 04:48:26

0001 /*
0002     SPDX-FileCopyrightText: 2019 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "intent.h"
0008 #include "uri.h"
0009 
0010 #include <KAndroidExtras/JniArray>
0011 #include <KAndroidExtras/JniSignature>
0012 
0013 #include <QUrl>
0014 
0015 using namespace KAndroidExtras;
0016 
0017 Intent::~Intent() = default;
0018 
0019 Intent::operator QJniObject() const
0020 {
0021     return jniHandle();
0022 }
0023 
0024 template <typename T>
0025 QJniObject Intent::getObjectExtra(const char *methodName, const QJniObject &name) const
0026 {
0027     return jniHandle().callObjectMethod(methodName, Jni::signature<T(java::lang::String)>(), name.object());
0028 }
0029 
0030 QString Intent::getStringExtra(const QJniObject &name) const
0031 {
0032     return getObjectExtra<java::lang::String>("getStringExtra", name).toString();
0033 }
0034 
0035 QStringList Intent::getStringArrayExtra(const QJniObject &name) const
0036 {
0037     const auto extra = getObjectExtra<Jni::Array<java::lang::String>>("getStringArrayExtra", name);
0038     return Jni::fromArray<QStringList>(extra);
0039 }