Daniel Zlotin 7 年之前
父節點
當前提交
6e700b01b2

+ 17
- 9
lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/Navigator.java 查看文件

@@ -8,8 +8,9 @@ import android.widget.FrameLayout;
8 8
 import com.reactnativenavigation.utils.CompatUtils;
9 9
 
10 10
 public class Navigator extends ViewController {
11
+
12
+	private ViewController root;
11 13
 	private boolean activityResumed = false;
12
-	private ViewController child;
13 14
 
14 15
 	public Navigator(final Activity activity) {
15 16
 		super(activity, "navigator" + CompatUtils.generateViewId());
@@ -27,15 +28,14 @@ public class Navigator extends ViewController {
27 28
 		return (FrameLayout) super.getView();
28 29
 	}
29 30
 
31
+	/*
32
+	 * Activity lifecycle
33
+	 */
34
+
30 35
 	public boolean isActivityResumed() {
31 36
 		return activityResumed;
32 37
 	}
33 38
 
34
-	public void setRoot(final ViewController viewController) {
35
-		getView().removeAllViews();
36
-		getView().addView(viewController.getView());
37
-	}
38
-
39 39
 	public void onActivityCreated() {
40 40
 		getActivity().setContentView(getView());
41 41
 	}
@@ -49,13 +49,21 @@ public class Navigator extends ViewController {
49 49
 	}
50 50
 
51 51
 	public void onActivityDestroyed() {
52
+		//
52 53
 	}
53 54
 
54
-	public void push(final ViewController onViewController, final ViewController viewController) {
55
+	/*
56
+	 * Navigation methods
57
+	 */
58
+
59
+	public void setRoot(final ViewController viewController) {
60
+		getView().removeAllViews();
55 61
 
62
+		root = viewController;
63
+		getView().addView(viewController.getView());
56 64
 	}
57 65
 
58
-	public ViewController getViewController(final String id) {
59
-		return null;
66
+	public void push(final ViewController onViewController, final ViewController viewController) {
67
+
60 68
 	}
61 69
 }

+ 1
- 19
lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/NavigatorTest.java 查看文件

@@ -5,7 +5,6 @@ import android.app.Activity;
5 5
 import com.reactnativenavigation.BaseTest;
6 6
 import com.reactnativenavigation.mocks.SimpleViewController;
7 7
 
8
-import org.junit.Ignore;
9 8
 import org.junit.Test;
10 9
 import org.robolectric.Shadows;
11 10
 
@@ -60,28 +59,11 @@ public class NavigatorTest extends BaseTest {
60 59
 	}
61 60
 
62 61
 	@Test
63
-	public void holdsUniqueId() throws Exception {
62
+	public void hasUniqueId() throws Exception {
64 63
 		assertThat(uut.getId()).startsWith("navigator");
65 64
 		assertThat(new Navigator(activity).getId()).isNotEqualTo(uut.getId());
66 65
 	}
67 66
 
68
-	@Test
69
-	@Ignore
70
-	public void holdsAllViewControllersById() throws Exception {
71
-		StackController stackController = new StackController(activity, "stack1");
72
-		stackController.push(child1);
73
-		stackController.push(child2);
74
-		assertThat(uut.getViewController(child1.getId())).isNull();
75
-		uut.setRoot(stackController);
76
-		assertThat(uut.getViewController(child1.getId())).isEqualTo(child1);
77
-		assertThat(uut.getViewController(child2.getId())).isEqualTo(child2);
78
-	}
79
-
80
-//	@Test
81
-//	public void push_OnTopOf() throws Exception {
82
-//		uut.push(child2, child1);
83
-//	}
84
-
85 67
 	private void assertHasSingleChildViewOf(ViewController vc) {
86 68
 		assertThat(uut.getView().getChildCount()).isEqualTo(1);
87 69
 		assertThat(uut.getView().getChildAt(0)).isEqualTo(vc.getView()).isNotNull();