summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-12-18 17:58:49 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2016-12-18 17:57:51 +0000
commit5c48634ed011c4e394ae4ac2374a885b6bc6e9a9 (patch)
tree727710fd827f45d659676f51171f8a68d0768462
parenta2d7021445d4bfac46b8598b414c4b6ef72ed3b6 (diff)
Pimplify the app classes
Change-Id: I34f74faa28e7869fa43e08dbcb16a41dffb16320 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
-rw-r--r--src/android/app/app.pri1
-rw-r--r--src/android/app/qnativeandroidactionbar.cpp83
-rw-r--r--src/android/app/qnativeandroidactionbar_p.h8
-rw-r--r--src/android/app/qnativeandroidactivity.cpp96
-rw-r--r--src/android/app/qnativeandroidactivity_p.h7
-rw-r--r--src/android/app/qnativeandroidalertdialog.cpp37
-rw-r--r--src/android/app/qnativeandroidalertdialog_p.h6
-rw-r--r--src/android/app/qnativeandroiddialog.cpp10
-rw-r--r--src/android/app/qnativeandroiddialog_p.h8
-rw-r--r--src/android/app/qnativeandroiddialog_p_p.h61
-rw-r--r--src/android/app/qnativeandroidservice.cpp22
-rw-r--r--src/android/app/qnativeandroidservice_p.h5
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