123 lines
4.1 KiB
TypeScript
123 lines
4.1 KiB
TypeScript
// Metro module 16284 (f16285).
|
|
import UserStore from "../../../stores/UserStore";
|
|
import { AnalyticEvents } from "../../../Constants";
|
|
import { isMetaQuest } from "../../device/MetaQuestUtils.android";
|
|
import { getIsRunningOnSimulator, getSystemVersion } from "../../../utils/native/DeviceUtils";
|
|
import { isIOS, getNativePlatform } from "../../../utils/PlatformUtils";
|
|
import AutomaticLifecycleManager from "../../../lib/AutomaticLifecycleManager";
|
|
import { isParentalConsentCheckEnabled } from "./ParentalConsentExperiment";
|
|
import { isNativeAppStoreAgeSignalsEnabled } from "./NativeAppStoreAgeSignalsExperiment";
|
|
import * as _AppStoreAgeAssurance_android from "./AppStoreAgeAssurance.android";
|
|
import { setAgeRangeThresholds, getIsConsideredOlderThan } from "../../../_bundle/getAndroidPlayAgeRangeStatus";
|
|
import { HTTP } from "../../../_bundle/sendRequest";
|
|
import AnalyticsUtils from "../../../utils/AnalyticsUtils";
|
|
import SentryUtils_native from "../../../utils/SentryUtils.native";
|
|
let c11701_6 = 26;
|
|
let c11701_7 = 2;
|
|
class ParentalConsentManager extends AutomaticLifecycleManager {
|
|
actions = {
|
|
POST_CONNECTION_OPEN: () => this.onPostConnectionOpen()
|
|
};
|
|
async onPostConnectionOpen() {
|
|
const _this = this;
|
|
L14: {
|
|
L13: {
|
|
if (!isParentalConsentCheckEnabled("ParentalConsentManager")) {
|
|
break L14;
|
|
}
|
|
if (UserStore.getCurrentUser() != null && (function isPlatformSupported() {
|
|
if (isMetaQuest()) {
|
|
return false;
|
|
}
|
|
if (getIsRunningOnSimulator()) {
|
|
return false;
|
|
}
|
|
const r23 = getSystemVersion().split(".");
|
|
const r26 = parseInt(r23[0], 10);
|
|
const r27 = parseInt;
|
|
let r28 = r23[1];
|
|
if (r28 == null) {
|
|
r28 = "0";
|
|
}
|
|
const r29 = r27(r28, 10);
|
|
return isIOS() ? r26 > c11701_6 || r26 === c11701_6 && r29 >= c11701_7 : r26 >= 35;
|
|
})()) {
|
|
await _this.performAgeCheck();
|
|
break L13;
|
|
}
|
|
break L14;
|
|
}
|
|
return void 0;
|
|
}
|
|
}
|
|
async performAgeCheck() {
|
|
let c28322_2;
|
|
let c28322_3 = 0;
|
|
let c31023_0, c31023_1, c31023_2, c31023_3, c31023_4;
|
|
L17: {
|
|
try {
|
|
c31023_0 = void 0;
|
|
c31023_1 = void 0;
|
|
c31023_2 = void 0;
|
|
c31023_3 = void 0;
|
|
c28322_3 = 1;
|
|
if (isNativeAppStoreAgeSignalsEnabled("ParentalConsentManager")) {
|
|
c31023_1 = _AppStoreAgeAssurance_android.default;
|
|
c31023_2 = await _AppStoreAgeAssurance_android.default.getAgeSignals({
|
|
firstAgeGate: 18
|
|
});
|
|
c31023_0 = await c31023_1.getIsConsideredOlderThan(18, c31023_2);
|
|
} else {
|
|
if (isIOS()) {
|
|
setAgeRangeThresholds([18]);
|
|
}
|
|
c31023_0 = await getIsConsideredOlderThan(18);
|
|
}
|
|
c31023_3 = (await HTTP.post({
|
|
url: "/users/@me/parental-consent-status",
|
|
body: {
|
|
platform: getNativePlatform(),
|
|
parental_consent: c31023_0
|
|
},
|
|
rejectWithError: true
|
|
})).body.should_block;
|
|
AnalyticsUtils.track(AnalyticEvents.PARENTAL_CONSENT_CHECKED, {
|
|
eligible: c31023_0,
|
|
should_block: c31023_3,
|
|
platform: getNativePlatform()
|
|
});
|
|
c28322_3 = 0;
|
|
} catch ($e) {
|
|
const r37 = $e;
|
|
let r8 = r37;
|
|
c28322_2 = r37;
|
|
if (c28322_3 !== 0) {
|
|
while (true) {
|
|
try {
|
|
const r190 = c28322_2;
|
|
c28322_3 = 0;
|
|
c31023_4 = r190;
|
|
SentryUtils_native.captureException(c31023_4, {
|
|
tags: {
|
|
source: "parental_consent_manager",
|
|
step: "perform_age_check"
|
|
}
|
|
});
|
|
break L17;
|
|
} catch (r186) {
|
|
r8 = r186;
|
|
c28322_2 = r186;
|
|
if (c28322_3 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
throw r8;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
const parentalConsentManager = new ParentalConsentManager();
|
|
export default parentalConsentManager;
|