diff --git a/modules/juce_core/misc/juce_RuntimePermissions.h b/modules/juce_core/misc/juce_RuntimePermissions.h index 026e55778e..acd144f88b 100644 --- a/modules/juce_core/misc/juce_RuntimePermissions.h +++ b/modules/juce_core/misc/juce_RuntimePermissions.h @@ -113,7 +113,13 @@ public: /** Permission to read video files that your app didn't create. Has the same effect as readExternalStorage on iOS and Android versions before 33. */ - readMediaVideo = 8 + readMediaVideo = 8, + + /** Permission to post notifications. + + @see PushNotifications::requestPermissionsWithSettings + */ + postNotification = 9 }; //============================================================================== diff --git a/modules/juce_core/native/juce_RuntimePermissions_android.cpp b/modules/juce_core/native/juce_RuntimePermissions_android.cpp index d66d817b80..867bd2129c 100644 --- a/modules/juce_core/native/juce_RuntimePermissions_android.cpp +++ b/modules/juce_core/native/juce_RuntimePermissions_android.cpp @@ -81,6 +81,9 @@ static StringArray jucePermissionToAndroidPermissions (RuntimePermissions::Permi case RuntimePermissions::readMediaVideo: return { externalStorageOrMedia ("android.permission.READ_MEDIA_VIDEO") }; + + case RuntimePermissions::postNotification: + return { "android.permission.POST_NOTIFICATIONS" }; } // invalid permission @@ -101,6 +104,7 @@ static RuntimePermissions::PermissionID androidPermissionToJucePermission (const { "android.permission.READ_MEDIA_IMAGES", RuntimePermissions::readMediaImages }, { "android.permission.READ_MEDIA_VIDEO", RuntimePermissions::readMediaVideo }, { "android.permission.BLUETOOTH_SCAN", RuntimePermissions::bluetoothMidi }, + { "android.permission.POST_NOTIFICATIONS", RuntimePermissions::postNotification }, }; const auto iter = map.find (permission); @@ -118,8 +122,7 @@ struct PermissionsRequest //============================================================================== struct PermissionsOverlay final : public FragmentOverlay { - PermissionsOverlay (CriticalSection& cs) : overlayGuard (cs) {} - ~PermissionsOverlay() override = default; + explicit PermissionsOverlay (CriticalSection& cs) : overlayGuard (cs) {} struct PermissionResult {