@@ -211,6 +211,10 @@ class FloatingPanelLayoutAdapter {
211211 return layout. supportedPositions
212212 }
213213
214+ var validPositions : Set < FloatingPanelPosition > {
215+ return supportedPositions. union ( [ . hidden] )
216+ }
217+
214218 var topMostState : FloatingPanelPosition {
215219 return supportedPositions. sorted ( by: { $0. rawValue < $1. rawValue } ) . first ?? . hidden
216220 }
@@ -516,7 +520,7 @@ class FloatingPanelLayoutAdapter {
516520
517521 setBackdropAlpha ( of: state)
518522
519- if isValid ( state) == false {
523+ if validPositions . contains ( state) == false {
520524 state = layout. initialPosition
521525 }
522526
@@ -538,10 +542,6 @@ class FloatingPanelLayoutAdapter {
538542 activateInteractiveLayout ( of: state)
539543 }
540544
541- func isValid( _ state: FloatingPanelPosition ) -> Bool {
542- return supportedPositions. union ( [ . hidden] ) . contains ( state)
543- }
544-
545545 private func layoutSurfaceIfNeeded( ) {
546546 #if !TEST
547547 guard surfaceView. window != nil else { return }
@@ -560,8 +560,8 @@ class FloatingPanelLayoutAdapter {
560560 private func checkLayoutConsistance( ) {
561561 // Verify layout configurations
562562 assert ( supportedPositions. count > 0 )
563- assert ( supportedPositions . contains ( layout. initialPosition) ,
564- " Does not include an initial position ( \( layout. initialPosition) ) in supportedPositions ( \( supportedPositions ) ) " )
563+ assert ( validPositions . contains ( layout. initialPosition) ,
564+ " Does not include an initial position ( \( layout. initialPosition) ) in ( \( validPositions ) ) " )
565565
566566 if layout is FloatingPanelIntrinsicLayout {
567567 assert ( layout. insetFor ( position: . full) == nil , " Return `nil` for full position on FloatingPanelIntrinsicLayout " )
0 commit comments