[go: nahoru, domu]

Add popUpToRoute to NavOptions

Instead of popUpTo with an id, you can now use it with route.

RelNote: "NavOptions now supports popUpToRoute to allow popping to the
given destination route"
Test: NavOptionsBuilderTest
Bug: 172823546

Change-Id: I0c8fb723e1bfb410b1518a619620415f7a1893e1
diff --git a/navigation/navigation-common/api/restricted_current.txt b/navigation/navigation-common/api/restricted_current.txt
index d177c1a..e775df3 100644
--- a/navigation/navigation-common/api/restricted_current.txt
+++ b/navigation/navigation-common/api/restricted_current.txt
@@ -310,6 +310,7 @@
     method @AnimRes @AnimatorRes public int getPopExitAnim();
     method @Deprecated @IdRes public int getPopUpTo();
     method @IdRes public int getPopUpToId();
+    method public String? getPopUpToRoute();
     method public boolean isPopUpToInclusive();
     method public boolean shouldLaunchSingleTop();
     method public boolean shouldPopUpToSaveState();
@@ -319,6 +320,7 @@
     property @AnimRes @AnimatorRes public final int popEnterAnim;
     property @AnimRes @AnimatorRes public final int popExitAnim;
     property @IdRes public final int popUpToId;
+    property public final String? popUpToRoute;
   }
 
   public static final class NavOptions.Builder {
@@ -331,6 +333,8 @@
     method public androidx.navigation.NavOptions.Builder setPopExitAnim(@AnimRes @AnimatorRes int popExitAnim);
     method public androidx.navigation.NavOptions.Builder setPopUpTo(@IdRes int destinationId, boolean inclusive, optional boolean saveState);
     method public androidx.navigation.NavOptions.Builder setPopUpTo(@IdRes int destinationId, boolean inclusive);
+    method public androidx.navigation.NavOptions.Builder setPopUpTo(String? route, boolean inclusive, optional boolean saveState);
+    method public androidx.navigation.NavOptions.Builder setPopUpTo(String? route, boolean inclusive);
     method public androidx.navigation.NavOptions.Builder setRestoreState(boolean restoreState);
   }
 
@@ -340,14 +344,17 @@
     method public boolean getLaunchSingleTop();
     method @Deprecated public int getPopUpTo();
     method public int getPopUpToId();
+    method public String? getPopUpToRoute();
     method public boolean getRestoreState();
     method public void popUpTo(@IdRes int id, optional kotlin.jvm.functions.Function1<? super androidx.navigation.PopUpToBuilder,kotlin.Unit> popUpToBuilder);
+    method public void popUpTo(String route, optional kotlin.jvm.functions.Function1<? super androidx.navigation.PopUpToBuilder,kotlin.Unit> popUpToBuilder);
     method public void setLaunchSingleTop(boolean p);
     method @Deprecated public void setPopUpTo(int value);
     method public void setRestoreState(boolean p);
     property public final boolean launchSingleTop;
     property @Deprecated public final int popUpTo;
     property public final int popUpToId;
+    property public final String? popUpToRoute;
     property public final boolean restoreState;
   }