/* Metro module 11874; source: modules/nuf/native/NotificationPermissionUtil.tsx; dependencies: [57, 5, 31, 27, 11872, 11873, 661, 4661, 10744, 683, 11875, 11881, 11882, 566, 2] */ function _fun91054(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#91054, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:6, offset: 0x02051cd0, size: 335 bytes, params: 8, frame: 20 const env0_0 = require; const closure = useCanSeePushNotificationNudge; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importDefault(57) /* metro dependency 57 */; const env0_4 = importDefault(5) /* metro dependency 5 */; const env0_5 = importAll(31) /* metro dependency 31 */; const env0_6 = (require(27) /* metro dependency 27 */).NativeModules; const pushNotificationPermissionStore = importDefault(11872) /* metro dependency 11872: PushNotificationPermissionStore */; const env0_8 = (require(11873) /* metro dependency 11873: NotificationPermissionConstants */).EventActionType; const env0_9 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents; const env0_10 = (require(4661) /* metro dependency 4661: NativePermissionConstants */).NotificationAuthorizationStatus; (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/nuf/native/NotificationPermissionUtil.tsx'); exports.requestPushNotificationPermission = function() { return _requestPushNotificationPermission.apply(this, arguments); }; exports.useShowReactivationPrompt = useShowReactivationPrompt; exports.enableProvisionalPushNotification = function() { return _enableProvisionalPushNotification.apply(this, arguments); }; exports.useCanSeePushNotificationNudge = closure; exports.useShouldShowPushNotificationNudgeByPromptType = useShouldShowPushNotificationNudgeByPromptType; } function _requestPushNotificationPermission() { // fn#91055, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:253, offset: 0x02051e1f, size: 50 bytes, params: 1, frame: 14 return env0_4(_fun91057).apply(this, arguments); } function _enableProvisionalPushNotification() { // fn#91059, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:818, offset: 0x02051fc8, size: 50 bytes, params: 1, frame: 14 return env0_4(_fun91061).apply(this, arguments); } function useCanSeePushNotificationNudge() { // fn#91064, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:1343, offset: 0x02052110, size: 227 bytes, params: 1, frame: 17 const value2 = (require(11882) /* metro dependency 11882: RegionalTeenUtils */).useIsTeenInStrictCountry(); const authorizationStatus = (require(566) /* metro dependency 566: flux */).useStateFromStores([PushNotificationPermissionStore], function() { return PushNotificationPermissionStore.authorizationStatus; }); const [property, env0_0] = env0_3(env0_5.useState(false), 2); env0_5.useEffect(_fun91066, []); return property && !value2 && authorizationStatus != null && [NotificationAuthorizationStatus.DENIED, NotificationAuthorizationStatus.PROVISIONAL, NotificationAuthorizationStatus.UNDETERMINED].includes(authorizationStatus); } function useShowReactivationPrompt() { // fn#91069, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:2028, offset: 0x0205226f, size: 81 bytes, params: 1, frame: 15 let [property, env0_0] = env0_3(env0_5.useState(false), 2); env0_5.useEffect(function() { var env0_0 = _fun91071; _fun91074(); }, []); return property; } function useShouldShowPushNotificationNudgeByPromptType(a0) { // fn#91076, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:2721, offset: 0x02052370, size: 83 bytes, params: 2, frame: 15 const value2 = useCanSeePushNotificationNudge(); const fluxModule = require(566) /* metro dependency 566: flux */; const useStateFromStores = fluxModule.useStateFromStores; return value2 && Reflect.apply(useStateFromStores, fluxModule, [[PushNotificationPermissionStore], function() { return PushNotificationPermissionStore.getState().eligiblePromptTypes; }]).has(a0); } function* _fun91057(a0, a1, a2) { // fn#91057, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:344, offset: 0x02051e5c, size: 277 bytes, params: 4, frame: 19 var environment; var binding; var binding2; var value5; if (true) { var env0_0 = a0; var env0_1 = a1; var env0_2 = a2; value = environment.__proto__.__proto__; var NativePermissionManager = env2_6.NativePermissionManager; var getNotificationAuthorizationStatus = NativePermissionManager.getNotificationAuthorizationStatus; yield Reflect.apply(getNotificationAuthorizationStatus, NativePermissionManager, []); var value3 = undefined; if (false) { return value3; } var DENIED = env2_10.DENIED; if (value3 === DENIED) { binding = env2_1; binding2 = env2_2; binding(binding2[8])(); value5 = binding(binding2[9]); value5.track(env2_9.NOTIFICATION_PERMISSION_PREPROMPT_ACKED, {action_type: env2_8.TO_SETTINGS, action_location: a1}); a2(); } else if (value3 === env2_10.AUTHORIZED) { env2_0(env2_2[10]).updateNotificationAuthorizationStatus(value3); a2(); } else { env2_1(env2_2[11]).requestPermission(_fun91058); } } } function* _fun91061() { // fn#91061, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:909, offset: 0x02052005, size: 99 bytes, params: 1, frame: 13 var environment; if (true) { value = environment.__proto__.__proto__; var NativePermissionManager = env2_6.NativePermissionManager; var getNotificationAuthorizationStatus = NativePermissionManager.getNotificationAuthorizationStatus; yield Reflect.apply(getNotificationAuthorizationStatus, NativePermissionManager, []); var value3 = undefined; if (false) { return value3; } var UNDETERMINED = env2_10.UNDETERMINED; if (value3 === UNDETERMINED) { env2_6.DCDProvisionalNotificationUtils.registerProvisionalNotification(_fun91062); } } } function _fun91066() { // fn#91066, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:1550, offset: 0x02052202, size: 46 bytes, params: 1, frame: 11 var environment; const value = environment.__proto__; const NativePermissionManager = NativeModules.NativePermissionManager; NativePermissionManager.getNotificationAuthorizationStatus().then(_fun91067); } function _fun91070() { // fn#91070, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:2129, offset: 0x020522c0, size: 31 bytes, params: 1, frame: 9 (function() { return _shouldShowReactivationPrompts.apply(this, arguments); })(); } function _fun91058(a0) { // fn#91058, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:669, offset: 0x02051f71, size: 87 bytes, params: 2, frame: 16 const value2 = env3_1(env3_2[9]); const track = value2.track; const NOTIFICATION_PERMISSION_PREPROMPT_ACKED = env3_9.NOTIFICATION_PERMISSION_PREPROMPT_ACKED; Reflect.apply(track, value2, [NOTIFICATION_PERMISSION_PREPROMPT_ACKED, {action_type: env0_0, action_location: require, permission_granted: a0}]); importDefault(); } function _fun91062(a0) { // fn#91062, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:1077, offset: 0x02052068, size: 119 bytes, params: 2, frame: 17 var environment; const value = environment.__proto__.__proto__.__proto__; const value2 = env3_1(env3_2[9]); const track = value2.track; const PERMISSIONS_ACKED = env3_9.PERMISSIONS_ACKED; Reflect.apply(track, value2, [PERMISSIONS_ACKED, {type: 'provisional_notification', action: a0 ? 'accepted' : 'denied'}]); const NativePermissionManager = env3_6.NativePermissionManager; NativePermissionManager.getNotificationAuthorizationStatus().then(_fun91063); } function _fun91067(a0) { // fn#91067, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:1624, offset: 0x02052230, size: 63 bytes, params: 2, frame: 12 var value; if (a0 != null) { value = environment.__proto__.__proto__; value = require(11875) /* metro dependency 11875: PushNotificationActionCreators */; value.updateNotificationAuthorizationStatus(a0); } value = environment.__proto__; env1_0(true); } function _shouldShowReactivationPrompts() { // fn#91071, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:2134, offset: 0x020522df, size: 53 bytes, params: 1, frame: 13 var environment; const value = environment.__proto__.__proto__; return env2_4(_fun91073).apply(this, arguments); } function _fun91063(a0) { // fn#91063, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:1248, offset: 0x020520df, size: 49 bytes, params: 2, frame: 12 var value; if (a0 != null) { value = environment.__proto__.__proto__.__proto__.__proto__; value = env4_0(env4_2[10]); value.updateNotificationAuthorizationStatus(a0); } } function* _fun91073() { // fn#91073, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:2217, offset: 0x0205231f, size: 81 bytes, params: 1, frame: 13 if (true) { value = environment.__proto__.__proto__.__proto__.__proto__; var NativePermissionManager = env4_6.NativePermissionManager; var getNotificationAuthorizationStatus = NativePermissionManager.getNotificationAuthorizationStatus; yield Reflect.apply(getNotificationAuthorizationStatus, NativePermissionManager, []); var value3 = undefined; if (false) { return value3; } var AUTHORIZED = env4_10.AUTHORIZED; if (value3 !== AUTHORIZED) { value = environment.__proto__.__proto__.__proto__; require(true); } } }