diff options
Diffstat (limited to 'src/android')
-rw-r--r-- | src/android/app/app.pri | 1 | ||||
-rw-r--r-- | src/android/app/qnativeandroidactionbar.cpp | 83 | ||||
-rw-r--r-- | src/android/app/qnativeandroidactionbar_p.h | 8 | ||||
-rw-r--r-- | src/android/app/qnativeandroidactivity.cpp | 96 | ||||
-rw-r--r-- | src/android/app/qnativeandroidactivity_p.h | 7 | ||||
-rw-r--r-- | src/android/app/qnativeandroidalertdialog.cpp | 37 | ||||
-rw-r--r-- | src/android/app/qnativeandroidalertdialog_p.h | 6 | ||||
-rw-r--r-- | src/android/app/qnativeandroiddialog.cpp | 10 | ||||
-rw-r--r-- | src/android/app/qnativeandroiddialog_p.h | 8 | ||||
-rw-r--r-- | src/android/app/qnativeandroiddialog_p_p.h | 61 | ||||
-rw-r--r-- | src/android/app/qnativeandroidservice.cpp | 22 | ||||
-rw-r--r-- | src/android/app/qnativeandroidservice_p.h | 5 |
12 files changed, 246 insertions, 98 deletions
diff --git a/src/android/app/app.pri b/src/android/app/app.pri index 2e3a46f..614e539 100644 --- a/src/android/app/app.pri +++ b/src/android/app/app.pri @@ -5,6 +5,7 @@ HEADERS += \ $$PWD/qnativeandroidactivity_p.h \ $$PWD/qnativeandroidalertdialog_p.h \ $$PWD/qnativeandroiddialog_p.h \ + $$PWD/qnativeandroiddialog_p_p.h \ $$PWD/qnativeandroidservice_p.h SOURCES += \ diff --git a/src/android/app/qnativeandroidactionbar.cpp b/src/android/app/qnativeandroidactionbar.cpp index 7a22f8f..10e6ddf 100644 --- a/src/android/app/qnativeandroidactionbar.cpp +++ b/src/android/app/qnativeandroidactionbar.cpp @@ -35,25 +35,38 @@ ****************************************************************************/ #include "qnativeandroidactionbar_p.h" +#include "qnativeandroidobject_p_p.h" #include "qnativeandroiddrawable_p.h" #include "qtnativeandroidfunctions_p.h" QT_BEGIN_NAMESPACE -QNativeAndroidActionBar::QNativeAndroidActionBar(QObject *parent) : - QNativeAndroidObject(parent), m_visible(true), m_elevation(0.0), m_background(0) +class QNativeAndroidActionBarPrivate : public QNativeAndroidObjectPrivate +{ +public: + bool visible = true; + qreal elevation = 0.0; + QString title; + QString subtitle; + QNativeAndroidDrawable *background = nullptr; +}; + +QNativeAndroidActionBar::QNativeAndroidActionBar(QObject *parent) + : QNativeAndroidObject(*(new QNativeAndroidActionBarPrivate), parent) { } bool QNativeAndroidActionBar::isVisible() const { - return m_visible; + Q_D(const QNativeAndroidActionBar); + return d->visible; } void QNativeAndroidActionBar::setVisible(bool arg) { + Q_D(QNativeAndroidActionBar); if (arg != isVisible()) { - m_visible = arg; + d->visible = arg; if (arg) QtNativeAndroid::callVoidMethod(instance(), "show"); else @@ -64,13 +77,15 @@ void QNativeAndroidActionBar::setVisible(bool arg) qreal QNativeAndroidActionBar::elevation() const { - return m_elevation; + Q_D(const QNativeAndroidActionBar); + return d->elevation; } void QNativeAndroidActionBar::setElevation(qreal elevation) { - if (m_elevation != elevation) { - m_elevation = elevation; + Q_D(QNativeAndroidActionBar); + if (d->elevation != elevation) { + d->elevation = elevation; QtNativeAndroid::callRealMethod(instance(), "setElevation", elevation); emit elevationChanged(); } @@ -78,13 +93,15 @@ void QNativeAndroidActionBar::setElevation(qreal elevation) QString QNativeAndroidActionBar::title() const { - return m_title; + Q_D(const QNativeAndroidActionBar); + return d->title; } void QNativeAndroidActionBar::setTitle(const QString &title) { - if (m_title != title) { - m_title = title; + Q_D(QNativeAndroidActionBar); + if (d->title != title) { + d->title = title; QtNativeAndroid::callTextMethod(instance(), "setTitle", title); emit titleChanged(); } @@ -92,13 +109,15 @@ void QNativeAndroidActionBar::setTitle(const QString &title) QString QNativeAndroidActionBar::subtitle() const { - return m_subtitle; + Q_D(const QNativeAndroidActionBar); + return d->subtitle; } void QNativeAndroidActionBar::setSubtitle(const QString &subtitle) { - if (m_subtitle != subtitle) { - m_subtitle = subtitle; + Q_D(QNativeAndroidActionBar); + if (d->subtitle != subtitle) { + d->subtitle = subtitle; QtNativeAndroid::callTextMethod(instance(), "setSubtitle", subtitle); emit subtitleChanged(); } @@ -106,20 +125,22 @@ void QNativeAndroidActionBar::setSubtitle(const QString &subtitle) QNativeAndroidDrawable *QNativeAndroidActionBar::background() const { - return m_background; + Q_D(const QNativeAndroidActionBar); + return d->background; } void QNativeAndroidActionBar::setBackground(QNativeAndroidDrawable *background) { - if (m_background != background) { - if (m_background) { - disconnect(m_background, &QNativeAndroidObject::instanceChanged, this, &QNativeAndroidActionBar::updateBackground); - m_background->destruct(); + Q_D(QNativeAndroidActionBar); + if (d->background != background) { + if (d->background) { + disconnect(d->background, &QNativeAndroidObject::instanceChanged, this, &QNativeAndroidActionBar::updateBackground); + d->background->destruct(); } - m_background = background; - if (m_background) { - connect(m_background, &QNativeAndroidObject::instanceChanged, this, &QNativeAndroidActionBar::updateBackground); - m_background->construct(); + d->background = background; + if (d->background) { + connect(d->background, &QNativeAndroidObject::instanceChanged, this, &QNativeAndroidActionBar::updateBackground); + d->background->construct(); } emit backgroundChanged(); } @@ -127,15 +148,16 @@ void QNativeAndroidActionBar::setBackground(QNativeAndroidDrawable *background) void QNativeAndroidActionBar::onInflate(QAndroidJniObject &instance) { - instance.callMethod<void>(m_visible ? "show" : "hide"); + Q_D(QNativeAndroidActionBar); + instance.callMethod<void>(d->visible ? "show" : "hide"); - if (!m_title.isNull()) - instance.callMethod<void>("setTitle", "(Ljava/lang/CharSequence;)V", QAndroidJniObject::fromString(m_title).object()); - if (!m_subtitle.isNull()) - instance.callMethod<void>("setSubtitle", "(Ljava/lang/CharSequence;)V", QAndroidJniObject::fromString(m_subtitle).object()); + if (!d->title.isNull()) + instance.callMethod<void>("setTitle", "(Ljava/lang/CharSequence;)V", QAndroidJniObject::fromString(d->title).object()); + if (!d->subtitle.isNull()) + instance.callMethod<void>("setSubtitle", "(Ljava/lang/CharSequence;)V", QAndroidJniObject::fromString(d->subtitle).object()); // TODO: properties - instance.callMethod<void>("setElevation", "(F)V", m_elevation); + instance.callMethod<void>("setElevation", "(F)V", d->elevation); instance.callMethod<void>("setDisplayHomeAsUpEnabled", "(Z)V", true); instance.callMethod<void>("setHomeButtonEnabled", "(Z)V", true); } @@ -149,11 +171,12 @@ void QNativeAndroidActionBar::objectChange(ObjectChange change) void QNativeAndroidActionBar::updateBackground() { - if (!isValid() || !m_background) + Q_D(QNativeAndroidActionBar); + if (!isValid() || !d->background) return; QAndroidJniObject bar = instance(); - QAndroidJniObject background = m_background->instance(); + QAndroidJniObject background = d->background->instance(); QtNativeAndroid::callFunction([=]() { bar.callMethod<void>("setBackgroundDrawable", "(Landroid/graphics/drawable/Drawable;)V", background.object()); }); diff --git a/src/android/app/qnativeandroidactionbar_p.h b/src/android/app/qnativeandroidactionbar_p.h index f58d2ef..dd8c177 100644 --- a/src/android/app/qnativeandroidactionbar_p.h +++ b/src/android/app/qnativeandroidactionbar_p.h @@ -54,6 +54,7 @@ QT_BEGIN_NAMESPACE class QNativeAndroidDrawable; +class QNativeAndroidActionBarPrivate; class Q_NATIVEANDROID_EXPORT QNativeAndroidActionBar : public QNativeAndroidObject { @@ -98,11 +99,8 @@ private Q_SLOTS: void updateBackground(); private: - bool m_visible; - qreal m_elevation; - QString m_title; - QString m_subtitle; - QNativeAndroidDrawable *m_background; + Q_DISABLE_COPY(QNativeAndroidActionBar) + Q_DECLARE_PRIVATE(QNativeAndroidActionBar) }; QT_END_NAMESPACE diff --git a/src/android/app/qnativeandroidactivity.cpp b/src/android/app/qnativeandroidactivity.cpp index 90f92cc..a29c67b 100644 --- a/src/android/app/qnativeandroidactivity.cpp +++ b/src/android/app/qnativeandroidactivity.cpp @@ -35,6 +35,7 @@ ****************************************************************************/ #include "qnativeandroidactivity_p.h" +#include "qnativeandroidcontextwrapper_p_p.h" #include "qnativeandroidactionbar_p.h" #include "qnativeandroidmenuitem_p.h" #include "qnativeandroidmenu_p.h" @@ -47,89 +48,108 @@ QT_BEGIN_NAMESPACE -QNativeAndroidActivity::QNativeAndroidActivity(QObject *parent) : - QNativeAndroidContextWrapper(parent), m_window(new QNativeAndroidWindow(this)), - m_contentView(0), m_optionsMenu(0), m_actionBar(0) +class QNativeAndroidActivityPrivate : public QNativeAndroidContextWrapperPrivate { +public: + QNativeAndroidWindow *window = nullptr; + QNativeAndroidView *contentView = nullptr; + QNativeAndroidMenu *optionsMenu = nullptr; + QNativeAndroidActionBar *actionBar = nullptr; +}; + +QNativeAndroidActivity::QNativeAndroidActivity(QObject *parent) + : QNativeAndroidContextWrapper(*(new QNativeAndroidActivityPrivate), parent) +{ + Q_D(QNativeAndroidActivity); + d->window = new QNativeAndroidWindow(this); + // TODO: multiple activities? setInstance(QtAndroid::androidActivity()); } QNativeAndroidWindow *QNativeAndroidActivity::window() const { - return m_window; + Q_D(const QNativeAndroidActivity); + return d->window; } QNativeAndroidActionBar *QNativeAndroidActivity::actionBar() const { - return m_actionBar; + Q_D(const QNativeAndroidActivity); + return d->actionBar; } void QNativeAndroidActivity::setActionBar(QNativeAndroidActionBar *bar) { - if (m_actionBar != bar) { - if (m_actionBar) - m_actionBar->destruct(); - m_actionBar = bar; - if (m_actionBar) + Q_D(QNativeAndroidActivity); + if (d->actionBar != bar) { + if (d->actionBar) + d->actionBar->destruct(); + d->actionBar = bar; + if (d->actionBar) setupActionBar(); } } QNativeAndroidMenu *QNativeAndroidActivity::optionsMenu() const { - return m_optionsMenu; + Q_D(const QNativeAndroidActivity); + return d->optionsMenu; } void QNativeAndroidActivity::setOptionsMenu(QNativeAndroidMenu *menu) { - if (m_optionsMenu != menu) { - if (m_optionsMenu) { - disconnect(m_optionsMenu, &QNativeAndroidObject::instanceChanged, this, &QNativeAndroidActivity::updateOptionsMenu); - m_optionsMenu->destruct(); + Q_D(QNativeAndroidActivity); + if (d->optionsMenu != menu) { + if (d->optionsMenu) { + disconnect(d->optionsMenu, &QNativeAndroidObject::instanceChanged, this, &QNativeAndroidActivity::updateOptionsMenu); + d->optionsMenu->destruct(); } - m_optionsMenu = menu; - if (m_optionsMenu) { - connect(m_optionsMenu, &QNativeAndroidObject::instanceChanged, this, &QNativeAndroidActivity::updateOptionsMenu); + d->optionsMenu = menu; + if (d->optionsMenu) { + connect(d->optionsMenu, &QNativeAndroidObject::instanceChanged, this, &QNativeAndroidActivity::updateOptionsMenu); if (isComponentComplete()) - m_optionsMenu->construct(); + d->optionsMenu->construct(); } } } QNativeAndroidView *QNativeAndroidActivity::contentView() const { - return m_contentView; + Q_D(const QNativeAndroidActivity); + return d->contentView; } void QNativeAndroidActivity::setContentView(QNativeAndroidView *view) { - if (m_contentView != view) { - if (m_contentView) { - disconnect(m_contentView, &QNativeAndroidObject::instanceChanged, this, &QNativeAndroidActivity::updateContentView); - m_contentView->destruct(); + Q_D(QNativeAndroidActivity); + if (d->contentView != view) { + if (d->contentView) { + disconnect(d->contentView, &QNativeAndroidObject::instanceChanged, this, &QNativeAndroidActivity::updateContentView); + d->contentView->destruct(); } - m_contentView = view; - if (m_contentView) { - connect(m_contentView, &QNativeAndroidObject::instanceChanged, this, &QNativeAndroidActivity::updateContentView); + d->contentView = view; + if (d->contentView) { + connect(d->contentView, &QNativeAndroidObject::instanceChanged, this, &QNativeAndroidActivity::updateContentView); if (isComponentComplete()) - m_contentView->construct(); + d->contentView->construct(); } } } void QNativeAndroidActivity::start() { + Q_D(QNativeAndroidActivity); foreach (QObject *child, children()) { QNativeAndroidObject *object = qobject_cast<QNativeAndroidObject *>(child); if (object) object->construct(); } - if (m_actionBar) + if (d->actionBar) setupActionBar(); - if (m_window) + if (d->window) setupWindow(); } @@ -146,36 +166,39 @@ void QNativeAndroidActivity::componentComplete() void QNativeAndroidActivity::setupWindow() { + Q_D(QNativeAndroidActivity); if (!isValid()) return; QAndroidJniObject activity = instance(); QtNativeAndroid::callFunction([=]() { QAndroidJniObject wnd = activity.callObjectMethod("getWindow", "()Landroid/view/Window;"); - m_window->inflate(wnd); + d->window->inflate(wnd); }); } void QNativeAndroidActivity::setupActionBar() { + Q_D(QNativeAndroidActivity); if (!isValid()) return; QAndroidJniObject activity = instance(); QtNativeAndroid::callFunction([=]() { QAndroidJniObject bar = activity.callObjectMethod("getActionBar", "()Landroid/app/ActionBar;"); - m_actionBar->inflate(bar); + d->actionBar->inflate(bar); }); } void QNativeAndroidActivity::updateOptionsMenu() { + Q_D(QNativeAndroidActivity); if (!isValid()) return; QAndroidJniObject menu; - if (m_optionsMenu) - menu = m_optionsMenu->instance(); + if (d->optionsMenu) + menu = d->optionsMenu->instance(); QAndroidJniObject activity = instance(); QtNativeAndroid::callFunction([=]() { @@ -190,12 +213,13 @@ void QNativeAndroidActivity::invalidateOptionsMenu() void QNativeAndroidActivity::updateContentView() { + Q_D(QNativeAndroidActivity); if (!isValid()) return; QAndroidJniObject content; - if (m_contentView) - content = m_contentView->instance(); + if (d->contentView) + content = d->contentView->instance(); QAndroidJniObject activity = instance(); QtNativeAndroid::callFunction([=]() { diff --git a/src/android/app/qnativeandroidactivity_p.h b/src/android/app/qnativeandroidactivity_p.h index 3a1f9e9..f57815d 100644 --- a/src/android/app/qnativeandroidactivity_p.h +++ b/src/android/app/qnativeandroidactivity_p.h @@ -56,6 +56,7 @@ class QNativeAndroidView; class QNativeAndroidMenu; class QNativeAndroidWindow; class QNativeAndroidActionBar; +class QNativeAndroidActivityPrivate; class Q_NATIVEANDROID_EXPORT QNativeAndroidActivity : public QNativeAndroidContextWrapper { @@ -94,10 +95,8 @@ private Q_SLOTS: void updateContentView(); private: - QNativeAndroidWindow *m_window; - QNativeAndroidView *m_contentView; - QNativeAndroidMenu *m_optionsMenu; - QNativeAndroidActionBar *m_actionBar; + Q_DISABLE_COPY(QNativeAndroidActivity) + Q_DECLARE_PRIVATE(QNativeAndroidActivity) }; QT_END_NAMESPACE diff --git a/src/android/app/qnativeandroidalertdialog.cpp b/src/android/app/qnativeandroidalertdialog.cpp index 3a326b7..882c28c 100644 --- a/src/android/app/qnativeandroidalertdialog.cpp +++ b/src/android/app/qnativeandroidalertdialog.cpp @@ -35,24 +35,34 @@ ****************************************************************************/ #include "qnativeandroidalertdialog_p.h" +#include "qnativeandroiddialog_p_p.h" #include "qtnativeandroidfunctions_p.h" QT_BEGIN_NAMESPACE -QNativeAndroidAlertDialog::QNativeAndroidAlertDialog(QObject *parent) : - QNativeAndroidDialog(parent) +class QNativeAndroidAlertDialogPrivate : public QNativeAndroidDialogPrivate +{ +public: + QString title; + QString message; +}; + +QNativeAndroidAlertDialog::QNativeAndroidAlertDialog(QObject *parent) + : QNativeAndroidDialog(*(new QNativeAndroidAlertDialogPrivate), parent) { } QString QNativeAndroidAlertDialog::title() const { - return m_title; + Q_D(const QNativeAndroidAlertDialog); + return d->title; } void QNativeAndroidAlertDialog::setTitle(const QString &title) { - if (m_title != title) { - m_title = title; + Q_D(QNativeAndroidAlertDialog); + if (d->title != title) { + d->title = title; QtNativeAndroid::callTextMethod(instance(), "setTitle", title); emit titleChanged(); } @@ -60,13 +70,15 @@ void QNativeAndroidAlertDialog::setTitle(const QString &title) QString QNativeAndroidAlertDialog::message() const { - return m_message; + Q_D(const QNativeAndroidAlertDialog); + return d->message; } void QNativeAndroidAlertDialog::setMessage(const QString &message) { - if (m_message != message) { - m_message = message; + Q_D(QNativeAndroidAlertDialog); + if (d->message != message) { + d->message = message; QtNativeAndroid::callTextMethod(instance(), "setMessage", message); emit messageChanged(); } @@ -81,12 +93,13 @@ QAndroidJniObject QNativeAndroidAlertDialog::onCreate() void QNativeAndroidAlertDialog::onInflate(QAndroidJniObject& instance) { + Q_D(QNativeAndroidAlertDialog); QNativeAndroidDialog::onInflate(instance); - if (!m_title.isNull()) - instance.callMethod<void>("setTitle", "(Ljava/lang/CharSequence;)V", QAndroidJniObject::fromString(m_title).object()); - if (!m_message.isNull()) - instance.callMethod<void>("setMessage", "(Ljava/lang/CharSequence;)V", QAndroidJniObject::fromString(m_message).object()); + if (!d->title.isNull()) + instance.callMethod<void>("setTitle", "(Ljava/lang/CharSequence;)V", QAndroidJniObject::fromString(d->title).object()); + if (!d->message.isNull()) + instance.callMethod<void>("setMessage", "(Ljava/lang/CharSequence;)V", QAndroidJniObject::fromString(d->message).object()); } QT_END_NAMESPACE diff --git a/src/android/app/qnativeandroidalertdialog_p.h b/src/android/app/qnativeandroidalertdialog_p.h index 200f9bd..d6fce85 100644 --- a/src/android/app/qnativeandroidalertdialog_p.h +++ b/src/android/app/qnativeandroidalertdialog_p.h @@ -52,6 +52,8 @@ QT_BEGIN_NAMESPACE +class QNativeAndroidAlertDialogPrivate; + class Q_NATIVEANDROID_EXPORT QNativeAndroidAlertDialog : public QNativeAndroidDialog { Q_OBJECT @@ -76,8 +78,8 @@ protected: void onInflate(QAndroidJniObject& instance) override; private: - QString m_title; - QString m_message; + Q_DISABLE_COPY(QNativeAndroidAlertDialog) + Q_DECLARE_PRIVATE(QNativeAndroidAlertDialog) }; QT_END_NAMESPACE diff --git a/src/android/app/qnativeandroiddialog.cpp b/src/android/app/qnativeandroiddialog.cpp index 065b217..17e0242 100644 --- a/src/android/app/qnativeandroiddialog.cpp +++ b/src/android/app/qnativeandroiddialog.cpp @@ -35,12 +35,18 @@ ****************************************************************************/ #include "qnativeandroiddialog_p.h" +#include "qnativeandroiddialog_p_p.h" #include "qtnativeandroidfunctions_p.h" QT_BEGIN_NAMESPACE -QNativeAndroidDialog::QNativeAndroidDialog(QObject *parent) : - QNativeAndroidContextual(parent) +QNativeAndroidDialog::QNativeAndroidDialog(QObject *parent) + : QNativeAndroidContextual(*(new QNativeAndroidDialogPrivate), parent) +{ +} + +QNativeAndroidDialog::QNativeAndroidDialog(QNativeAndroidDialogPrivate &dd, QObject *parent) + : QNativeAndroidContextual(dd, parent) { } diff --git a/src/android/app/qnativeandroiddialog_p.h b/src/android/app/qnativeandroiddialog_p.h index d6e6684..2a03894 100644 --- a/src/android/app/qnativeandroiddialog_p.h +++ b/src/android/app/qnativeandroiddialog_p.h @@ -52,6 +52,8 @@ QT_BEGIN_NAMESPACE +class QNativeAndroidDialogPrivate; + class Q_NATIVEANDROID_EXPORT QNativeAndroidDialog : public QNativeAndroidContextual { Q_OBJECT @@ -66,8 +68,14 @@ public Q_SLOTS: void show(); protected: + QNativeAndroidDialog(QNativeAndroidDialogPrivate &dd, QObject *parent = nullptr); + QAndroidJniObject onCreate() override; void onInflate(QAndroidJniObject& instance) override; + +private: + Q_DISABLE_COPY(QNativeAndroidDialog) + Q_DECLARE_PRIVATE(QNativeAndroidDialog) }; QT_END_NAMESPACE diff --git a/src/android/app/qnativeandroiddialog_p_p.h b/src/android/app/qnativeandroiddialog_p_p.h new file mode 100644 index 0000000..1c1d8ba --- /dev/null +++ b/src/android/app/qnativeandroiddialog_p_p.h @@ -0,0 +1,61 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the Qt QML Android module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QNATIVEANDROIDDIALOG_P_P_H +#define QNATIVEANDROIDDIALOG_P_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include <QtNativeAndroid/private/qnativeandroidcontextual_p_p.h> + +QT_BEGIN_NAMESPACE + +class QNativeAndroidDialogPrivate : public QNativeAndroidContextualPrivate +{ +}; + +QT_END_NAMESPACE + +#endif // QNATIVEANDROIDDIALOG_P_P_H diff --git a/src/android/app/qnativeandroidservice.cpp b/src/android/app/qnativeandroidservice.cpp index 770bdb7..e7b7191 100644 --- a/src/android/app/qnativeandroidservice.cpp +++ b/src/android/app/qnativeandroidservice.cpp @@ -35,24 +35,33 @@ ****************************************************************************/ #include "qnativeandroidservice_p.h" +#include "qnativeandroidcontextwrapper_p_p.h" #include "qtnativeandroidfunctions_p.h" QT_BEGIN_NAMESPACE -QNativeAndroidService::QNativeAndroidService(QObject *parent) : - QNativeAndroidContextWrapper(0, parent), m_sticky(true) +class QNativeAndroidServicePrivate : public QNativeAndroidContextWrapperPrivate +{ +public: + bool sticky = true; +}; + +QNativeAndroidService::QNativeAndroidService(QObject *parent) + : QNativeAndroidContextWrapper(*(new QNativeAndroidServicePrivate), nullptr, parent) { } bool QNativeAndroidService::isSticky() const { - return m_sticky; + Q_D(const QNativeAndroidService); + return d->sticky; } void QNativeAndroidService::setSticky(bool sticky) { - if (m_sticky != sticky) { - m_sticky = sticky; + Q_D(QNativeAndroidService); + if (d->sticky != sticky) { + d->sticky = sticky; emit stickyChanged(); } } @@ -167,9 +176,10 @@ jboolean QNativeAndroidService::onStartCommand(JNIEnv *env, jobject object, jlon bool QNativeAndroidService::startCommand(int flags, int startId) { + Q_D(QNativeAndroidService); Q_UNUSED(flags); Q_UNUSED(startId); - return m_sticky; + return d->sticky; } QT_END_NAMESPACE diff --git a/src/android/app/qnativeandroidservice_p.h b/src/android/app/qnativeandroidservice_p.h index 8e7f087..cd69e5d 100644 --- a/src/android/app/qnativeandroidservice_p.h +++ b/src/android/app/qnativeandroidservice_p.h @@ -52,6 +52,8 @@ QT_BEGIN_NAMESPACE +class QNativeAndroidServicePrivate; + class Q_NATIVEANDROID_EXPORT QNativeAndroidService : public QNativeAndroidContextWrapper { Q_OBJECT @@ -85,7 +87,8 @@ private Q_SLOTS: bool startCommand(int flags, int startId); private: - bool m_sticky; + Q_DISABLE_COPY(QNativeAndroidService) + Q_DECLARE_PRIVATE(QNativeAndroidService) }; QT_END_NAMESPACE |