feat: add test purchase android

This commit is contained in:
NickVs2015
2026-02-20 13:24:37 +03:00
parent fe99cdeb85
commit 0d7f9381c1
4 changed files with 15 additions and 3 deletions

View File

@@ -1109,6 +1109,13 @@ class AmneziaActivity : QtActivity() {
@Suppress("unused") @Suppress("unused")
fun isPlay(): Boolean = BuildConfig.FLAVOR == "play" fun isPlay(): Boolean = BuildConfig.FLAVOR == "play"
@Suppress("unused")
fun isTestPurchaseEnvironment(): Boolean {
if (BuildConfig.DEBUG) return true
val appInfo = packageManager.getApplicationInfo(packageName, 0)
return (appInfo.flags and android.content.pm.ApplicationInfo.FLAG_DEBUGGABLE) != 0
}
@Suppress("unused") @Suppress("unused")
fun getCountryCode(): String { fun getCountryCode(): String {
Log.v(TAG, "Get country code") Log.v(TAG, "Get country code")

View File

@@ -330,7 +330,11 @@ void AndroidController::sendTouch(float x, float y)
bool AndroidController::isPlay() bool AndroidController::isPlay()
{ {
return callActivityMethod<jboolean>("isPlay", "()Z"); return callActivityMethod<jboolean>("isPlay", "()Z");
}
bool AndroidController::isTestPurchaseEnvironment()
{
return callActivityMethod<jboolean>("isTestPurchaseEnvironment", "()Z");
} }
QJsonObject AndroidController::getSubscriptionPlans() QJsonObject AndroidController::getSubscriptionPlans()

View File

@@ -56,6 +56,7 @@ public:
bool requestAuthentication(); bool requestAuthentication();
void sendTouch(float x, float y); void sendTouch(float x, float y);
bool isPlay(); bool isPlay();
bool isTestPurchaseEnvironment();
QJsonObject getSubscriptionPlans(); QJsonObject getSubscriptionPlans();
QJsonObject purchaseSubscription(const QString &offerToken); QJsonObject purchaseSubscription(const QString &offerToken);
QJsonObject upgradeSubscription(const QString &offerToken, const QString &oldPurchaseToken); QJsonObject upgradeSubscription(const QString &offerToken, const QString &oldPurchaseToken);

View File

@@ -674,7 +674,7 @@ bool ApiConfigsController::importSerivceFromPaymentMarket()
QJsonObject apiPayload = gatewayRequestData.toJsonObject(); QJsonObject apiPayload = gatewayRequestData.toJsonObject();
apiPayload[apiDefs::key::transactionId] = purchaseToken; apiPayload[apiDefs::key::transactionId] = purchaseToken;
bool isTestPurchase = false; // TODO: detect if this is a test purchase bool isTestPurchase = m_settings->isDevGatewayEnv(false) || androidController->isTestPurchaseEnvironment();
ErrorCode errorCode; ErrorCode errorCode;
QByteArray responseBody; QByteArray responseBody;
@@ -914,8 +914,8 @@ bool ApiConfigsController::restoreSerivceFromPaymentMarket()
QJsonObject apiPayload = gatewayRequestData.toJsonObject(); QJsonObject apiPayload = gatewayRequestData.toJsonObject();
apiPayload[apiDefs::key::transactionId] = purchaseToken; apiPayload[apiDefs::key::transactionId] = purchaseToken;
bool isTestPurchase = false; // TODO: detect if this is a test purchase bool isTestPurchase = m_settings->isDevGatewayEnv(false) || androidController->isTestPurchaseEnvironment();
QByteArray responseBody; QByteArray responseBody;
ErrorCode errorCode = executeRequest(QString("%1v1/subscriptions"), apiPayload, responseBody, isTestPurchase); ErrorCode errorCode = executeRequest(QString("%1v1/subscriptions"), apiPayload, responseBody, isTestPurchase);
if (errorCode != ErrorCode::NoError) { if (errorCode != ErrorCode::NoError) {