// 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]); };