about summary refs log tree commit diff
path: root/modules/expo-bluesky-swiss-army/ios/PlatformInfo
diff options
context:
space:
mode:
Diffstat (limited to 'modules/expo-bluesky-swiss-army/ios/PlatformInfo')
-rw-r--r--modules/expo-bluesky-swiss-army/ios/PlatformInfo/ExpoPlatformInfoModule.swift21
1 files changed, 15 insertions, 6 deletions
diff --git a/modules/expo-bluesky-swiss-army/ios/PlatformInfo/ExpoPlatformInfoModule.swift b/modules/expo-bluesky-swiss-army/ios/PlatformInfo/ExpoPlatformInfoModule.swift
index 471f1438b..7fd60e5fa 100644
--- a/modules/expo-bluesky-swiss-army/ios/PlatformInfo/ExpoPlatformInfoModule.swift
+++ b/modules/expo-bluesky-swiss-army/ios/PlatformInfo/ExpoPlatformInfoModule.swift
@@ -13,20 +13,29 @@ public class ExpoPlatformInfoModule: Module {
       try? AVAudioSession.sharedInstance().setCategory(audioCategory)
     }
 
-    Function("setAudioMixWithOthers") { (mixWithOthers: Bool) in
-      var options: AVAudioSession.CategoryOptions
+    Function("setAudioActive") { (active: Bool) in
+      var categoryOptions: AVAudioSession.CategoryOptions
       let currentCategory = AVAudioSession.sharedInstance().category
-      if mixWithOthers {
-        options = [.mixWithOthers]
+
+      if active {
+        categoryOptions = [.mixWithOthers]
+        try? AVAudioSession.sharedInstance().setActive(true)
       } else {
-        options = [.duckOthers]
+        categoryOptions = [.duckOthers]
+        try? AVAudioSession
+          .sharedInstance()
+          .setActive(
+            false,
+            options: [.notifyOthersOnDeactivation]
+          )
       }
+
       try? AVAudioSession
         .sharedInstance()
         .setCategory(
           currentCategory,
           mode: .default,
-          options: options
+          options: categoryOptions
         )
     }
   }