Seperate Navigation-Testing from navigation package

This migrates all Navigation-Testing artifacts to a
androidx.navigation.testing package rather than using the
androidx.navigation package.

Test: ./gradleW bOS
Change-Id: Ic0654d613e29590bc2d43c8dac8cca3dc124888f
diff --git a/navigation/navigation-runtime/api/restricted_2.3.0-alpha01.txt b/navigation/navigation-runtime/api/restricted_2.3.0-alpha01.txt
index 29acd59..4f49e23 100644
--- a/navigation/navigation-runtime/api/restricted_2.3.0-alpha01.txt
+++ b/navigation/navigation-runtime/api/restricted_2.3.0-alpha01.txt
@@ -51,6 +51,7 @@
     ctor public NavController(android.content.Context);
     method public void addOnDestinationChangedListener(androidx.navigation.NavController.OnDestinationChangedListener);
     method public androidx.navigation.NavDeepLinkBuilder createDeepLink();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public java.util.Deque<androidx.navigation.NavBackStackEntry!> getBackStack();
     method public androidx.navigation.NavBackStackEntry getBackStackEntry(@IdRes int);
     method public androidx.navigation.NavDestination? getCurrentDestination();
     method public androidx.navigation.NavGraph getGraph();
diff --git a/navigation/navigation-runtime/api/restricted_current.txt b/navigation/navigation-runtime/api/restricted_current.txt
index 29acd59..4f49e23 100644
--- a/navigation/navigation-runtime/api/restricted_current.txt
+++ b/navigation/navigation-runtime/api/restricted_current.txt
@@ -51,6 +51,7 @@
     ctor public NavController(android.content.Context);
     method public void addOnDestinationChangedListener(androidx.navigation.NavController.OnDestinationChangedListener);
     method public androidx.navigation.NavDeepLinkBuilder createDeepLink();
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public java.util.Deque<androidx.navigation.NavBackStackEntry!> getBackStack();
     method public androidx.navigation.NavBackStackEntry getBackStackEntry(@IdRes int);
     method public androidx.navigation.NavDestination? getCurrentDestination();
     method public androidx.navigation.NavGraph getGraph();
diff --git a/navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java b/navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
index 71e6e58..221ba97 100644
--- a/navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
+++ b/navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
@@ -170,6 +170,18 @@
         mNavigatorProvider.addNavigator(new ActivityNavigator(mContext));
     }
 
+    /**
+     * Retrieve the current back stack.
+     *
+     * @return The current back stack.
+     * @hide
+     */
+    @NonNull
+    @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
+    public Deque<NavBackStackEntry> getBackStack() {
+        return mBackStack;
+    }
+
     @NonNull
     Context getContext() {
         return mContext;
diff --git a/navigation/navigation-testing/src/androidTest/java/androidx/navigation/testing/TestNavHostControllerTest.kt b/navigation/navigation-testing/src/androidTest/java/androidx/navigation/testing/TestNavHostControllerTest.kt
index ce9673d..92b1a11 100644
--- a/navigation/navigation-testing/src/androidTest/java/androidx/navigation/testing/TestNavHostControllerTest.kt
+++ b/navigation/navigation-testing/src/androidTest/java/androidx/navigation/testing/TestNavHostControllerTest.kt
@@ -16,9 +16,8 @@
 
 package androidx.navigation.testing
 
-import androidx.navigation.testing.test.R
-import androidx.navigation.TestNavHostController
 import androidx.navigation.plusAssign
+import androidx.navigation.testing.test.R
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
diff --git a/navigation/navigation-testing/src/main/java/androidx/navigation/testing/TestNavHostController.kt b/navigation/navigation-testing/src/main/java/androidx/navigation/testing/TestNavHostController.kt
index 3aeeb38..192655e 100644
--- a/navigation/navigation-testing/src/main/java/androidx/navigation/testing/TestNavHostController.kt
+++ b/navigation/navigation-testing/src/main/java/androidx/navigation/testing/TestNavHostController.kt
@@ -14,9 +14,11 @@
  * limitations under the License.
  */
 
-package androidx.navigation
+package androidx.navigation.testing
 
 import android.content.Context
+import androidx.navigation.NavBackStackEntry
+import androidx.navigation.NavHostController
 
 /**
  * Subclass of [NavHostController] that offers additional APIs for testing Navigation.
@@ -26,7 +28,7 @@
     /**
      * Gets an immutable copy of the [elements][NavBackStackEntry] currently on the back stack.
      */
-    val backStack get(): List<NavBackStackEntry> = mBackStack.toList()
+    val backStack get(): List<NavBackStackEntry> = getBackStack().toList()
 
     init {
         navigatorProvider = TestNavigatorProvider()
diff --git a/navigation/navigation-testing/src/main/java/androidx/navigation/testing/TestNavigatorProvider.kt b/navigation/navigation-testing/src/main/java/androidx/navigation/testing/TestNavigatorProvider.kt
index d2a757f..62e9ba8 100644
--- a/navigation/navigation-testing/src/main/java/androidx/navigation/testing/TestNavigatorProvider.kt
+++ b/navigation/navigation-testing/src/main/java/androidx/navigation/testing/TestNavigatorProvider.kt
@@ -14,14 +14,19 @@
  * limitations under the License.
  */
 
-package androidx.navigation
+package androidx.navigation.testing
 
 import android.os.Bundle
+import androidx.navigation.NavDestination
+import androidx.navigation.NavGraphNavigator
+import androidx.navigation.NavOptions
+import androidx.navigation.Navigator
+import androidx.navigation.NavigatorProvider
 import java.lang.IllegalStateException
 
 /**
- * A [NavigatorProvider] for testing that only parses [navigation graphs][NavGraph] and
- * [destinations][NavDestination].
+ * A [NavigatorProvider] for testing that only parses
+ * [navigation graphs][androidx.navigation.NavGraph] and [destinations][NavDestination].
  */
 internal class TestNavigatorProvider : NavigatorProvider() {