/* Metro module 11881; source: utils/native/NotificationUtils.tsx; dependencies: [5, 27, 11872, 661, 11875, 683, 10741, 10756, 2] */ function _fun91150(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#91150, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12067:6, offset: 0x02054069, size: 234 bytes, params: 8, frame: 20 var object2; const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_3 = importDefault(5) /* metro dependency 5 */; const env0_4 = (require(27) /* metro dependency 27 */).NativeModules; const env0_5 = (require(11872) /* metro dependency 11872: PushNotificationPermissionStore */).PermissionStateType; const env0_6 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents; object2 = {hasPermission: hasPermission_91151, requestPermission: requestPermission, showNotification: showNotification_91156, shouldRequestNotification: true, playNotificationSound: playNotificationSound}; (require(2) /* metro dependency 2 */).fileFinishedImporting('utils/native/NotificationUtils.tsx'); exports.default = object2; } function hasPermission_91151() { // fn#91151, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12067:206, offset: 0x02054153, size: 47 bytes, params: 1, frame: 11 return (importDefault(10741) /* metro dependency 10741: PushNotification */).requestPermissions(function({alert, badge, sound}) { var r0 = alert || badge; r0 = !r0 ? sound : r0; return r0; }); } function requestPermission(a0) { // fn#91153, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12067:324, offset: 0x020541a5, size: 143 bytes, params: 2, frame: 18 const env0_0 = a0; const pushNotificationActionCreatorsModule = require(11875) /* metro dependency 11875: PushNotificationActionCreators */; const setPushPermissionState = pushNotificationActionCreatorsModule.setPushPermissionState; const REQUESTED = PermissionStateType.REQUESTED; Reflect.apply(setPushPermissionState, pushNotificationActionCreatorsModule, [REQUESTED]); const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */; const track = defaultImport.track; const PERMISSIONS_REQUESTED = AnalyticEvents.PERMISSIONS_REQUESTED; Reflect.apply(track, defaultImport, [PERMISSIONS_REQUESTED, {type: 'notification'}]); let value = importDefault(10741) /* metro dependency 10741: PushNotification */; value = value.requestPermissions(); value.then(_fun91154); } function showNotification_91156() { // fn#91156, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12067:804, offset: 0x02054312, size: 29 bytes, params: 1, frame: 11 return env0_3(_fun91158)(); } function playNotificationSound(a0) { // fn#91159, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12067:880, offset: 0x0205433a, size: 61 bytes, params: 2, frame: 17 const value = a1; (require(10756) /* metro dependency 10756: SoundUtils */).playSound(a0, value !== undefined ? value : 1, undefined, a2); } function _fun91154({alert, sound, badge}) { // fn#91154, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12067:494, offset: 0x02054234, size: 173 bytes, params: 2, frame: 18 var environment; let r2 = alert || sound; r2 = !r2 ? badge : r2; const value = environment.__proto__; const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */; const track = defaultImport.track; const PERMISSIONS_ACKED = AnalyticEvents.PERMISSIONS_ACKED; Reflect.apply(track, defaultImport, [PERMISSIONS_ACKED, {type: 'notification', action: r2 ? 'accepted' : 'denied'}]); const NativePermissionManager = NativeModules.NativePermissionManager; NativePermissionManager.getNotificationAuthorizationStatus().then(_fun91155); if (r2 != null) { if (env0_0 != null) { env0_0(r2); } } } function _fun91155(a0) { // fn#91155, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12067:693, offset: 0x020542e1, size: 49 bytes, params: 2, frame: 12 var value; if (a0 != null) { value = environment.__proto__.__proto__; value = require(11875) /* metro dependency 11875: PushNotificationActionCreators */; value.updateNotificationAuthorizationStatus(a0); } }