/* 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] */ import Module00005 from '../../../by-id/module-00005.js'; /* Metro dependency 5 */ import Module00057 from '../../../by-id/module-00057.js'; /* Metro dependency 57 */ import PushNotificationPermissionStore from '../../../stores/native/PushNotificationPermissionStore.tsx'; /* Metro dependency 11872 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactNativeModule from '../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */ import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as FluxModule from '../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import * as ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */ import * as NativePermissionConstantsModule from '../../native_permissions/NativePermissionConstants.tsx'; /* Metro dependency 4661 */ import * as NotificationPermissionConstantsModule from './components/notification/NotificationPermissionConstants.tsx'; /* Metro dependency 11873 */ import * as RegionalTeenUtilsModule from '../../regional_feature_config/RegionalTeenUtils.tsx'; /* Metro dependency 11882 */ 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 useCanSeePushNotificationNudge2 = useCanSeePushNotificationNudge; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); (FileImportTrackerModule).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 = useCanSeePushNotificationNudge2; 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 Module00005(_fun91057).apply(this, arguments); 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 _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 _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 Module00005(_fun91061).apply(this, arguments); 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 _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 _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 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 = (RegionalTeenUtilsModule).useIsTeenInStrictCountry(); const authorizationStatus = (require(566) /* metro dependency 566: flux */).useStateFromStores([PushNotificationPermissionStore], function() { return PushNotificationPermissionStore.authorizationStatus; }); const [property, env0_0] = Module00057(ReactModule.useState(false), 2); ReactModule.useEffect(_fun91066, []); return property && !value2 && authorizationStatus != null && [NotificationAuthorizationStatus.DENIED, NotificationAuthorizationStatus.PROVISIONAL, NotificationAuthorizationStatus.UNDETERMINED].includes(authorizationStatus); 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 _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 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] = Module00057(ReactModule.useState(false), 2); ReactModule.useEffect(function() { var env0_0 = _fun91071; _fun91074(); }, []); return property; 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 _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* _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); } } } } function shouldShowReactivationPrompts() { // fn#91074, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12060:2349, offset: 0x00c3945f, size: 30 bytes, params: 1, frame: 13 return _shouldShowReactivationPrompts.apply(this, arguments); } } } 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 useStateFromStores = FluxModule.useStateFromStores; return value2 && Reflect.apply(useStateFromStores, FluxModule, [[PushNotificationPermissionStore], function() { return PushNotificationPermissionStore.getState().eligiblePromptTypes; }]).has(a0); } } global.__d(_fun91054, 11874, [57, 5, 31, 27, 11872, 11873, 661, 4661, 10744, 683, 11875, 11881, 11882, 566, 2]) /* metro module 11874, dependencies: [57, 5, 31, 27, 11872, 11873, 661, 4661, 10744, 683, 11875, 11881, 11882, 566, 2] */;