summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-05-24 20:01:40 +0200
committerLiang Qi <liang.qi@qt.io>2016-05-24 20:01:40 +0200
commit63b8d2ee2b6cc59df56562c248a51e8b101887a8 (patch)
treee1a541c7933b7b05d4cf74c5565da2b9aa2c09df
parentab68e45721b4b1534174d355063ad22564645635 (diff)
parent776b1cb7646f01eb200896f49fa85eb9f9402aac (diff)
Merge remote-tracking branch 'origin/5.7' into dev
-rw-r--r--examples/purchasing/qthangman/qthangman.pro3
-rw-r--r--src/android/jar.pri6
-rw-r--r--src/imports/purchasing/purchasing.pro4
-rw-r--r--src/purchasing/doc/qtpurchasing.qdocconf2
-rw-r--r--src/purchasing/inapppurchase/android/qandroidinapppurchasebackend.cpp19
-rw-r--r--src/purchasing/inapppurchase/mac/qmacinapppurchasetransaction.mm2
-rw-r--r--src/purchasing/purchasing.pro4
7 files changed, 24 insertions, 16 deletions
diff --git a/examples/purchasing/qthangman/qthangman.pro b/examples/purchasing/qthangman/qthangman.pro
index 96b87e9..1cd0aec 100644
--- a/examples/purchasing/qthangman/qthangman.pro
+++ b/examples/purchasing/qthangman/qthangman.pro
@@ -12,6 +12,9 @@ RESOURCES += \
QT += purchasing
+target.path = $$[QT_INSTALL_EXAMPLES]/purchasing/qthangman
+INSTALLS += target
+
OTHER_FILES += \
qml/qthangman/GameView.qml \
qml/qthangman/GuessWordView.qml \
diff --git a/src/android/jar.pri b/src/android/jar.pri
index 9edcef9..4039dc1 100644
--- a/src/android/jar.pri
+++ b/src/android/jar.pri
@@ -1,4 +1,6 @@
CONFIG += java
+load(sdk)
+
DESTDIR = $$[QT_INSTALL_PREFIX/get]/jar
PATHPREFIX = $$PWD/src/org/qtproject/qt5/android/purchasing/
@@ -18,10 +20,6 @@ PATHPREFIX = $$PWD/src/org/qtproject/qt5/android/purchasing/
}
}
- API_VERSION_TO_USE = $$(ANDROID_API_VERSION)
- isEmpty(API_VERSION_TO_USE): API_VERSION_TO_USE = $$API_VERSION
- isEmpty(API_VERSION_TO_USE): API_VERSION_TO_USE = android-10
-
FRAMEWORK_AIDL_FILE = $$SDK_ROOT/platforms/$$API_VERSION_TO_USE/framework.aidl
!exists($$FRAMEWORK_AIDL_FILE) {
error("The Path $$FRAMEWORK_AIDL_FILE does not exist. Make sure the ANDROID_SDK_ROOT and ANDROID_API_VERSION environment variables are correctly set.")
diff --git a/src/imports/purchasing/purchasing.pro b/src/imports/purchasing/purchasing.pro
index e9440e4..2f49773 100644
--- a/src/imports/purchasing/purchasing.pro
+++ b/src/imports/purchasing/purchasing.pro
@@ -9,8 +9,6 @@ SOURCES += \
$$PWD/qinappproductqmltype.cpp \
$$PWD/qinappstoreqmltype.cpp
-load(qml_plugin)
-
win32 {
CONFIG += skip_target_version_ext
VERSION = $$MODULE_VERSION
@@ -23,3 +21,5 @@ HEADERS += \
$$PWD/qinappstoreqmltype_p.h
OTHER_FILES += qmldir
+
+load(qml_plugin)
diff --git a/src/purchasing/doc/qtpurchasing.qdocconf b/src/purchasing/doc/qtpurchasing.qdocconf
index 6c5f364..35b9564 100644
--- a/src/purchasing/doc/qtpurchasing.qdocconf
+++ b/src/purchasing/doc/qtpurchasing.qdocconf
@@ -47,7 +47,7 @@ exampledirs += \
imagedirs += images
-examplesinstallpath = qtpurchasing/purchasing
+examplesinstallpath = purchasing
Cpp.ignoretokens += Q_PURCHASING_EXPORT
diff --git a/src/purchasing/inapppurchase/android/qandroidinapppurchasebackend.cpp b/src/purchasing/inapppurchase/android/qandroidinapppurchasebackend.cpp
index 87c044d..0a0a5d1 100644
--- a/src/purchasing/inapppurchase/android/qandroidinapppurchasebackend.cpp
+++ b/src/purchasing/inapppurchase/android/qandroidinapppurchasebackend.cpp
@@ -41,7 +41,7 @@
QT_BEGIN_NAMESPACE
-#define QANDROIDINAPPPURCHASEBACKEND_DEBUG
+// #define QANDROIDINAPPPURCHASEBACKEND_DEBUG
QAndroidInAppPurchaseBackend::QAndroidInAppPurchaseBackend(QObject *parent)
: QInAppPurchaseBackend(parent)
@@ -118,10 +118,7 @@ void QAndroidInAppPurchaseBackend::queryProducts(const QList<Product> &products)
QMutexLocker locker(&m_mutex);
QAndroidJniEnvironment environment;
- jclass cls = environment->FindClass("java/lang/String");
- jobjectArray productIds = environment->NewObjectArray(products.size(), cls, 0);
- environment->DeleteLocalRef(cls);
-
+ QStringList newProducts;
for (int i = 0; i < products.size(); ++i) {
const Product &product = products.at(i);
if (m_productTypeForPendingId.contains(product.identifier)) {
@@ -130,8 +127,18 @@ void QAndroidInAppPurchaseBackend::queryProducts(const QList<Product> &products)
}
m_productTypeForPendingId[product.identifier] = product.productType;
+ newProducts.append(product.identifier);
+ }
+
+ if (newProducts.isEmpty())
+ return;
+
+ jclass cls = environment->FindClass("java/lang/String");
+ jobjectArray productIds = environment->NewObjectArray(newProducts.size(), cls, 0);
+ environment->DeleteLocalRef(cls);
- QAndroidJniObject identifier = QAndroidJniObject::fromString(product.identifier);
+ for (int i = 0; i < newProducts.size(); ++i) {
+ QAndroidJniObject identifier = QAndroidJniObject::fromString(newProducts.at(i));
environment->SetObjectArrayElement(productIds, i, identifier.object());
}
diff --git a/src/purchasing/inapppurchase/mac/qmacinapppurchasetransaction.mm b/src/purchasing/inapppurchase/mac/qmacinapppurchasetransaction.mm
index 0c51550..c61b406 100644
--- a/src/purchasing/inapppurchase/mac/qmacinapppurchasetransaction.mm
+++ b/src/purchasing/inapppurchase/mac/qmacinapppurchasetransaction.mm
@@ -64,7 +64,7 @@ QMacInAppPurchaseTransaction::QMacInAppPurchaseTransaction(SKPaymentTransaction
#endif
case SKErrorUnknown:
default:
- m_errorString = QStringLiteral("Unknown");
+ m_errorString = QString::fromNSString([m_nativeTransaction.error localizedDescription]);
}
}
}
diff --git a/src/purchasing/purchasing.pro b/src/purchasing/purchasing.pro
index 8fdc2d2..56a2cf2 100644
--- a/src/purchasing/purchasing.pro
+++ b/src/purchasing/purchasing.pro
@@ -1,8 +1,6 @@
TARGET = QtPurchasing
QT = core
-load(qt_module)
-
QMAKE_TARGET_PRODUCT = "Qt Purchasing (Qt $$QT_VERSION)"
QMAKE_TARGET_DESCRIPTION = "Purchasing component for Qt."
@@ -17,3 +15,5 @@ HEADERS += \
$$PWD/qtpurchasingglobal.h
include(inapppurchase/inapppurchase.pri)
+
+load(qt_module)