2929import androidx .fragment .app .Fragment ;
3030import androidx .navigation .NavController ;
3131import androidx .navigation .NavDirections ;
32+ import androidx .navigation .NavOptions ;
3233import androidx .navigation .fragment .NavHostFragment ;
3334
3435import com .google .android .material .floatingactionbutton .FloatingActionButton ;
3536import com .google .android .material .snackbar .Snackbar ;
3637
3738import org .lsposed .manager .App ;
3839import org .lsposed .manager .R ;
40+ import org .lsposed .manager .util .AccessibilityUtils ;
3941
4042import java .util .concurrent .Callable ;
4143import java .util .concurrent .Future ;
@@ -53,7 +55,12 @@ public NavController getNavController() {
5355
5456 public boolean safeNavigate (@ IdRes int resId ) {
5557 try {
56- getNavController ().navigate (resId );
58+ if (!AccessibilityUtils .isAnimationEnabled (requireContext ().getContentResolver ())) {
59+ var animationOptions = new NavOptions .Builder ().setEnterAnim (0 ).setExitAnim (0 ).build ();
60+ getNavController ().navigate (resId , animationOptions );
61+ } else {
62+ getNavController ().navigate (resId );
63+ }
5764 return true ;
5865 } catch (IllegalArgumentException ignored ) {
5966 return false ;
@@ -62,7 +69,12 @@ public boolean safeNavigate(@IdRes int resId) {
6269
6370 public boolean safeNavigate (NavDirections direction ) {
6471 try {
65- getNavController ().navigate (direction );
72+ if (!AccessibilityUtils .isAnimationEnabled (requireContext ().getContentResolver ())) {
73+ var animationOptions = new NavOptions .Builder ().setEnterAnim (0 ).setExitAnim (0 ).build ();
74+ getNavController ().navigate (direction , animationOptions );
75+ } else {
76+ getNavController ().navigate (direction );
77+ }
6678 return true ;
6779 } catch (IllegalArgumentException ignored ) {
6880 return false ;
0 commit comments