[go: nahoru, domu]

Make findDestination and matchDestination public

We should provide our internal NavigationUI helper methods so that is
easier for developers to write their own NavigationUI pieces.

RelNote: "`findDestination()` and `matchDestination()` are now public
and can be used to help implement custom NavigationUI"
Test: ./gradlew checkApi
Bug: 188183365

Change-Id: I2932fc4ddba6f381e5e353ee30d2233140e5a674
diff --git a/navigation/navigation-common/api/restricted_current.txt b/navigation/navigation-common/api/restricted_current.txt
index afc02e9..dda39ab 100644
--- a/navigation/navigation-common/api/restricted_current.txt
+++ b/navigation/navigation-common/api/restricted_current.txt
@@ -188,6 +188,7 @@
     method public final void addDeepLink(androidx.navigation.NavDeepLink navDeepLink);
     method public final androidx.navigation.NavAction? getAction(@IdRes int id);
     method public final java.util.Map<java.lang.String,androidx.navigation.NavArgument> getArguments();
+    method public static final kotlin.sequences.Sequence<androidx.navigation.NavDestination> getHierarchy(androidx.navigation.NavDestination);
     method @IdRes public final int getId();
     method public final CharSequence? getLabel();
     method public final String getNavigatorName();
@@ -219,7 +220,9 @@
   }
 
   public static final class NavDestination.Companion {
+    method public kotlin.sequences.Sequence<androidx.navigation.NavDestination> getHierarchy(androidx.navigation.NavDestination);
     method protected <C> Class<? extends C> parseClassFromName(android.content.Context context, String name, Class<? extends C> expectedClassType);
+    property public final kotlin.sequences.Sequence<androidx.navigation.NavDestination> hierarchy;
   }
 
   @androidx.navigation.NavDestinationDsl public class NavDestinationBuilder<D extends androidx.navigation.NavDestination> {
@@ -260,6 +263,7 @@
     method public final void clear();
     method public final androidx.navigation.NavDestination? findNode(@IdRes int resId);
     method public final androidx.navigation.NavDestination? findNode(String? route);
+    method public static final androidx.navigation.NavDestination findStartDestination(androidx.navigation.NavGraph);
     method @Deprecated @IdRes public final int getStartDestination();
     method @IdRes public final int getStartDestinationId();
     method public final String? getStartDestinationRoute();
@@ -269,6 +273,11 @@
     method public final void setStartDestination(String startDestRoute);
     property @IdRes public final int startDestinationId;
     property public final String? startDestinationRoute;
+    field public static final androidx.navigation.NavGraph.Companion Companion;
+  }
+
+  public static final class NavGraph.Companion {
+    method public androidx.navigation.NavDestination findStartDestination(androidx.navigation.NavGraph);
   }
 
   @androidx.navigation.NavDestinationDsl public class NavGraphBuilder extends androidx.navigation.NavDestinationBuilder<androidx.navigation.NavGraph> {