348 lines
12 KiB
TypeScript
348 lines
12 KiB
TypeScript
// Metro module 9760 (f9761).
|
|
import { useRef, useCallback, useEffect } from "react";
|
|
import { useNativeCheckoutStoreOrNull } from "../../../checkout/native/NativeCheckoutStore";
|
|
import UserStore from "../../../../stores/UserStore";
|
|
import { CurrencyCodes } from "../../../../Constants";
|
|
import { GPlayBillingResult } from "../../../gplay/native/Constants";
|
|
import Logger from "../../../debug/Logger";
|
|
import { useHandlePremiumPurchase } from "../../../premium/native/handlePremiumPurchase.android";
|
|
import { useAndroidShopOrdersEnabled } from "../../experiments/AndroidShopOrdersExperiment";
|
|
import useInitialValue from "../../../../hooks/useInitialValue";
|
|
import { getNewAnalyticsLoadId } from "../../../../utils/AnalyticsUtils";
|
|
import Dispatcher from "../../../../Dispatcher";
|
|
import { cancelOrderSigning, markOrderAsSigningInProgress } from "../../../payments/native/OrderActionCreators";
|
|
import { captureBillingException } from "../../../../utils/BillingUtils";
|
|
import { isNullOrEmpty } from "../../../../utils/StringUtils";
|
|
import * as _SKUActionCreators from "../../../../actions/SKUActionCreators";
|
|
import { v4 } from "../../../../_bundle/Module514";
|
|
let env6469 = {};
|
|
const c6469_9 = new Logger("useMobilePurchaseSKU.android");
|
|
export default function useMobilePurchaseSKU(a0) {
|
|
let env17468 = {
|
|
$parent: env6469
|
|
};
|
|
const skuId = a0.skuId;
|
|
env17468[0] = skuId;
|
|
const platformSkuId = a0.platformSkuId;
|
|
env17468[1] = platformSkuId;
|
|
const analyticsLocations = a0.analyticsLocations;
|
|
env17468[2] = analyticsLocations;
|
|
let analyticsLoadId = a0.analyticsLoadId;
|
|
env17468[3] = analyticsLoadId;
|
|
const analyticsData = a0.analyticsData;
|
|
env17468[4] = analyticsData;
|
|
const onPurchaseComplete = a0.onPurchaseComplete;
|
|
env17468[5] = onPurchaseComplete;
|
|
const onPurchaseError = a0.onPurchaseError;
|
|
env17468[6] = onPurchaseError;
|
|
const freePurchaseCallback = a0.freePurchaseCallback;
|
|
env17468[7] = freePurchaseCallback;
|
|
const onPurchasePending = a0.onPurchasePending;
|
|
env17468[8] = onPurchasePending;
|
|
const giftParams = a0.giftParams;
|
|
env17468[9] = giftParams;
|
|
let isFreeForStaffSelfPurchase = a0.isFreeForStaffSelfPurchase;
|
|
if (isFreeForStaffSelfPurchase === void 0) {
|
|
isFreeForStaffSelfPurchase = true;
|
|
}
|
|
env17468[10] = isFreeForStaffSelfPurchase;
|
|
const orderId = a0.orderId;
|
|
env17468[11] = orderId;
|
|
env17468[12] = void 0;
|
|
env17468[13] = void 0;
|
|
env17468[14] = void 0;
|
|
env17468[15] = void 0;
|
|
env17468[16] = void 0;
|
|
env17468[17] = void 0;
|
|
env17468[18] = void 0;
|
|
env17468[19] = void 0;
|
|
env17468[20] = void 0;
|
|
env17468[21] = void 0;
|
|
const currentUser = UserStore.getCurrentUser();
|
|
const handlePremiumPurchase = useHandlePremiumPurchase();
|
|
env17468[12] = handlePremiumPurchase;
|
|
const androidShopOrdersEnabled = useAndroidShopOrdersEnabled({
|
|
location: "useMobilePurchaseSKU"
|
|
});
|
|
env17468[13] = androidShopOrdersEnabled;
|
|
const nativeCheckoutStoreOrNull = useNativeCheckoutStoreOrNull((a0) => a0.setOrder);
|
|
env17468[14] = nativeCheckoutStoreOrNull;
|
|
const nativeCheckoutStoreOrNull2 = useNativeCheckoutStoreOrNull((a0) => a0.setCheckoutSucceeded);
|
|
env17468[15] = nativeCheckoutStoreOrNull2;
|
|
env17468[16] = useRef(false);
|
|
const r44 = currentUser !== void 0 && currentUser.isStaff();
|
|
env17468[17] = r44;
|
|
const initialValue = useInitialValue(() => getNewAnalyticsLoadId());
|
|
let r50 = giftParams?.isGift;
|
|
if (r50 == null) {
|
|
r50 = false;
|
|
}
|
|
env17468[18] = r50;
|
|
if (analyticsLoadId == null) {
|
|
env17468[3] = initialValue;
|
|
analyticsLoadId = initialValue;
|
|
}
|
|
let c17469_0;
|
|
const callback = useCallback(() => {
|
|
Dispatcher.unsubscribe("GPLAY_PURCHASE_VERIFIED", env17468[19]);
|
|
env17468[16].current = false;
|
|
const r13 = env17468[15];
|
|
if (r13 != null) {
|
|
r13();
|
|
}
|
|
(0, env17468[5])();
|
|
}, [onPurchaseComplete, nativeCheckoutStoreOrNull2]);
|
|
env17468[19] = callback;
|
|
const callback2 = useCallback(() => {
|
|
Dispatcher.unsubscribe("GPLAY_PURCHASE_VERIFIED", env17468[19]);
|
|
env17468[16].current = false;
|
|
(0, env17468[6])();
|
|
}, [onPurchaseError, callback]);
|
|
env17468[20] = callback2;
|
|
c17469_0 = void 0;
|
|
c17469_0 = async (c30143_0) => {
|
|
let c30143_3;
|
|
let c30143_4 = 0;
|
|
let c31513_0, c31513_1;
|
|
const r16 = "[handleGPlayUpdatePurchaseAction] User canceled purchase, canceling order signing";
|
|
L21: {
|
|
L20: {
|
|
try {
|
|
c31513_0 = void 0;
|
|
if (c30143_0.billingResult !== GPlayBillingResult.OK) {
|
|
Dispatcher.unsubscribe("GPLAY_PURCHASE_VERIFIED", env17468[19]);
|
|
if (env17468[11] != null && env17468[13] && c30143_0.isActivePurchase && c30143_0.billingResult === GPlayBillingResult.USER_CANCELED) {
|
|
c6469_9.info(r16, {
|
|
orderId: env17468[11],
|
|
platformSkuId: env17468[1],
|
|
skuId: env17468[0]
|
|
});
|
|
c30143_4 = 1;
|
|
c31513_0 = await cancelOrderSigning(env17468[11]);
|
|
const r97 = env17468[14];
|
|
if (r97 != null) {
|
|
r97(c31513_0);
|
|
}
|
|
c30143_4 = 0;
|
|
env17468[16].current = false;
|
|
(0, env17468[6])();
|
|
(0, env17468[8])();
|
|
break L20;
|
|
}
|
|
env17468[16].current = false;
|
|
(0, env17468[6])();
|
|
}
|
|
(0, env17468[8])();
|
|
break L21;
|
|
} catch ($e) {
|
|
const r34 = $e;
|
|
let r7 = r34;
|
|
c30143_3 = r34;
|
|
if (c30143_4 !== 0) {
|
|
while (true) {
|
|
try {
|
|
const r118 = c30143_3;
|
|
c30143_4 = 0;
|
|
c31513_1 = r118;
|
|
captureBillingException(c31513_1, {
|
|
tags: {
|
|
source: "useMobilePurchaseSKU_cancelOrderSigning"
|
|
},
|
|
extra: {
|
|
orderId: env17468[11]
|
|
}
|
|
});
|
|
c6469_9.error("Failed to cancel order signing", {
|
|
error: c31513_1,
|
|
orderId: env17468[11],
|
|
skuId: env17468[0]
|
|
});
|
|
env17468[16].current = false;
|
|
(0, env17468[6])();
|
|
(0, env17468[8])();
|
|
break L20;
|
|
} catch (r114) {
|
|
r7 = r114;
|
|
c30143_3 = r114;
|
|
if (c30143_4 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
throw r7;
|
|
}
|
|
}
|
|
return void 0;
|
|
}
|
|
};
|
|
const callback3 = useCallback(function() {
|
|
return c17469_0.apply(this, arguments);
|
|
}, [callback, onPurchaseError, onPurchasePending, orderId, androidShopOrdersEnabled, nativeCheckoutStoreOrNull, platformSkuId, skuId]);
|
|
env17468[21] = callback3;
|
|
useEffect(() => {
|
|
Dispatcher.subscribe("GPLAY_UPDATE_PURCHASE_STATE", env17468[21]);
|
|
Dispatcher.subscribe("GPLAY_PURCHASE_VERIFIED", env17468[19]);
|
|
Dispatcher.subscribe("GPLAY_PURCHASE_VERIFICATION_FAILED", env17468[20]);
|
|
return () => {
|
|
Dispatcher.unsubscribe("GPLAY_UPDATE_PURCHASE_STATE", env17468[21]);
|
|
Dispatcher.unsubscribe("GPLAY_PURCHASE_VERIFIED", env17468[19]);
|
|
Dispatcher.unsubscribe("GPLAY_PURCHASE_VERIFICATION_FAILED", env17468[20]);
|
|
};
|
|
}, [callback3, callback, callback2]);
|
|
return useCallback(async () => {
|
|
let c30144_0, c30144_1;
|
|
let purchaseSKU, c26533_3;
|
|
let c26533_4 = 0;
|
|
try {
|
|
if (env17468[16].current) {
|
|
throw new Error("Purchase already in progress");
|
|
}
|
|
if (isNullOrEmpty(env17468[1])) {
|
|
throw new Error("Missing google play sku ID");
|
|
}
|
|
c26533_4 = 2;
|
|
env17468[16].current = true;
|
|
if (env17468[17] && (env17468[10] && !env17468[18])) {
|
|
c26533_4 = 4;
|
|
const r74 = env17468[7];
|
|
purchaseSKU = r74;
|
|
if (r74 == null) {
|
|
purchaseSKU = _SKUActionCreators.purchaseSKU;
|
|
}
|
|
await purchaseSKU("collectibles", env17468[0], {
|
|
expectedAmount: 0,
|
|
expectedCurrency: CurrencyCodes.USD,
|
|
loadId: v4()
|
|
});
|
|
(0, env17468[5])();
|
|
c26533_4 = 2;
|
|
env17468[16].current = false;
|
|
} else if (env17468[11] != null && env17468[13]) {
|
|
c26533_4 = 5;
|
|
await markOrderAsSigningInProgress(env17468[11]);
|
|
c26533_4 = 2;
|
|
await env17468[12]({
|
|
productId: env17468[1],
|
|
skuId: env17468[0],
|
|
isOneTimePurchase: true,
|
|
analyticsLoadId: env17468[3],
|
|
analyticsLocations: env17468[2],
|
|
analyticsData: env17468[4],
|
|
isGift: env17468[18],
|
|
giftInfoOptions: env17468[9]?.options,
|
|
onPurchaseError: env17468[6]
|
|
});
|
|
} else {
|
|
await env17468[12]({
|
|
productId: env17468[1],
|
|
skuId: env17468[0],
|
|
isOneTimePurchase: true,
|
|
analyticsLoadId: env17468[3],
|
|
analyticsLocations: env17468[2],
|
|
analyticsData: env17468[4],
|
|
isGift: env17468[18],
|
|
giftInfoOptions: env17468[9]?.options,
|
|
onPurchaseError: env17468[6]
|
|
});
|
|
}
|
|
c26533_4 = 0;
|
|
env17468[16].current = false;
|
|
} catch ($e) {
|
|
const r49 = $e;
|
|
let r7 = r49;
|
|
c26533_3 = r49;
|
|
let r50 = c26533_4;
|
|
if (r50 !== 0) {
|
|
while (true) {
|
|
if (r50 === 1) {
|
|
try {
|
|
const r299 = c26533_3;
|
|
c26533_4 = 0;
|
|
env17468[16].current = false;
|
|
throw r299;
|
|
} catch (r297) {
|
|
r7 = r297;
|
|
c26533_3 = r297;
|
|
r50 = c26533_4;
|
|
if (r50 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
} else if (r50 === 2) {
|
|
try {
|
|
const r293 = c26533_3;
|
|
c26533_4 = 1;
|
|
throw r293;
|
|
} catch (r292) {
|
|
r7 = r292;
|
|
c26533_3 = r292;
|
|
r50 = c26533_4;
|
|
if (r50 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
} else if (r50 === 3) {
|
|
try {
|
|
const r287 = c26533_3;
|
|
c26533_4 = 2;
|
|
env17468[16].current = false;
|
|
throw r287;
|
|
} catch (r285) {
|
|
r7 = r285;
|
|
c26533_3 = r285;
|
|
r50 = c26533_4;
|
|
if (r50 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
} else if (r50 === 4) {
|
|
try {
|
|
const r278 = c26533_3;
|
|
c26533_4 = 3;
|
|
c30144_0 = r278;
|
|
(0, env17468[6])();
|
|
throw c30144_0;
|
|
} catch (r275) {
|
|
r7 = r275;
|
|
c26533_3 = r275;
|
|
r50 = c26533_4;
|
|
if (r50 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
} else {
|
|
try {
|
|
const r254 = c26533_3;
|
|
c26533_4 = 2;
|
|
c30144_1 = r254;
|
|
captureBillingException(c30144_1, {
|
|
tags: {
|
|
source: "useMobilePurchaseSKU_markSigning"
|
|
},
|
|
extra: {
|
|
orderId: env17468[11]
|
|
}
|
|
});
|
|
c6469_9.error("Failed to mark order signing-in-progress", {
|
|
error: c30144_1,
|
|
skuId: env17468[0],
|
|
orderId: env17468[11]
|
|
});
|
|
throw c30144_1;
|
|
} catch (r251) {
|
|
r7 = r251;
|
|
c26533_3 = r251;
|
|
r50 = c26533_4;
|
|
if (r50 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
throw r7;
|
|
}
|
|
}, [skuId, platformSkuId, r44, r50, handlePremiumPurchase, onPurchaseComplete, onPurchaseError, freePurchaseCallback, analyticsLoadId, analyticsLocations, analyticsData, giftParams, isFreeForStaffSelfPurchase, orderId, androidShopOrdersEnabled]);
|
|
};
|