@@ -790,10 +790,23 @@ public TransitionState getCurrentTransitionState() {
790
790
}
791
791
792
792
void setTransitionState (@ NonNull TransitionState state ) {
793
+ setTransitionState (state , /* updateModalForAccessibility= */ true );
794
+ }
795
+
796
+ private void setTransitionState (
797
+ @ NonNull TransitionState state , boolean updateModalForAccessibility ) {
793
798
if (currentTransitionState .equals (state )) {
794
799
return ;
795
800
}
796
801
802
+ if (updateModalForAccessibility ) {
803
+ if (state == TransitionState .SHOWN ) {
804
+ setModalForAccessibility (true );
805
+ } else if (state == TransitionState .HIDDEN ) {
806
+ setModalForAccessibility (false );
807
+ }
808
+ }
809
+
797
810
TransitionState previousState = currentTransitionState ;
798
811
currentTransitionState = state ;
799
812
Set <TransitionListener > listeners = new LinkedHashSet <>(transitionListeners );
@@ -830,7 +843,6 @@ public void show() {
830
843
return ;
831
844
}
832
845
searchViewAnimationHelper .show ();
833
- setModalForAccessibility (true );
834
846
}
835
847
836
848
/**
@@ -845,18 +857,16 @@ public void hide() {
845
857
return ;
846
858
}
847
859
searchViewAnimationHelper .hide ();
848
- setModalForAccessibility (false );
849
860
}
850
861
851
862
/** Updates the visibility of the {@link SearchView} without an animation. */
852
863
public void setVisible (boolean visible ) {
853
864
boolean wasVisible = rootView .getVisibility () == VISIBLE ;
854
865
rootView .setVisibility (visible ? VISIBLE : GONE );
855
866
updateNavigationIconProgressIfNeeded ();
856
- if (wasVisible != visible ) {
857
- setModalForAccessibility (visible );
858
- }
859
- setTransitionState (visible ? TransitionState .SHOWN : TransitionState .HIDDEN );
867
+ setTransitionState (
868
+ visible ? TransitionState .SHOWN : TransitionState .HIDDEN ,
869
+ /* updateModalForAccessibility= */ wasVisible != visible );
860
870
}
861
871
862
872
private void updateNavigationIconProgressIfNeeded () {
0 commit comments