From fba3cce81e8f9306bed6b2b85d7cd8785cff402a Mon Sep 17 00:00:00 2001 From: Hailey Date: Thu, 3 Oct 2024 08:53:53 -0700 Subject: [PATCH] add sheet manager --- .../expo/modules/bottomsheet/SheetManager.kt | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 modules/bottom-sheet/android/src/main/java/expo/modules/bottomsheet/SheetManager.kt diff --git a/modules/bottom-sheet/android/src/main/java/expo/modules/bottomsheet/SheetManager.kt b/modules/bottom-sheet/android/src/main/java/expo/modules/bottomsheet/SheetManager.kt new file mode 100644 index 0000000000..ac6a820235 --- /dev/null +++ b/modules/bottom-sheet/android/src/main/java/expo/modules/bottomsheet/SheetManager.kt @@ -0,0 +1,28 @@ +package expo.modules.bottomsheet + +import java.lang.ref.WeakReference + +class SheetManager { + companion object { + private val sheets = mutableSetOf>() + + fun add(view: BottomSheetView) { + sheets.add(WeakReference(view)) + } + + fun remove(view: BottomSheetView) { + sheets.forEach { + if (it.get() == view) { + sheets.remove(it) + return + } + } + } + + fun dismissAll() { + sheets.forEach { + it.get()?.dismiss() + } + } + } +} \ No newline at end of file