Daniel Zlotin 7 years ago
parent
commit
6e700b01b2

+ 17
- 9
lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/Navigator.java View File

8
 import com.reactnativenavigation.utils.CompatUtils;
8
 import com.reactnativenavigation.utils.CompatUtils;
9
 
9
 
10
 public class Navigator extends ViewController {
10
 public class Navigator extends ViewController {
11
+
12
+	private ViewController root;
11
 	private boolean activityResumed = false;
13
 	private boolean activityResumed = false;
12
-	private ViewController child;
13
 
14
 
14
 	public Navigator(final Activity activity) {
15
 	public Navigator(final Activity activity) {
15
 		super(activity, "navigator" + CompatUtils.generateViewId());
16
 		super(activity, "navigator" + CompatUtils.generateViewId());
27
 		return (FrameLayout) super.getView();
28
 		return (FrameLayout) super.getView();
28
 	}
29
 	}
29
 
30
 
31
+	/*
32
+	 * Activity lifecycle
33
+	 */
34
+
30
 	public boolean isActivityResumed() {
35
 	public boolean isActivityResumed() {
31
 		return activityResumed;
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
 	public void onActivityCreated() {
39
 	public void onActivityCreated() {
40
 		getActivity().setContentView(getView());
40
 		getActivity().setContentView(getView());
41
 	}
41
 	}
49
 	}
49
 	}
50
 
50
 
51
 	public void onActivityDestroyed() {
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 View File

5
 import com.reactnativenavigation.BaseTest;
5
 import com.reactnativenavigation.BaseTest;
6
 import com.reactnativenavigation.mocks.SimpleViewController;
6
 import com.reactnativenavigation.mocks.SimpleViewController;
7
 
7
 
8
-import org.junit.Ignore;
9
 import org.junit.Test;
8
 import org.junit.Test;
10
 import org.robolectric.Shadows;
9
 import org.robolectric.Shadows;
11
 
10
 
60
 	}
59
 	}
61
 
60
 
62
 	@Test
61
 	@Test
63
-	public void holdsUniqueId() throws Exception {
62
+	public void hasUniqueId() throws Exception {
64
 		assertThat(uut.getId()).startsWith("navigator");
63
 		assertThat(uut.getId()).startsWith("navigator");
65
 		assertThat(new Navigator(activity).getId()).isNotEqualTo(uut.getId());
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
 	private void assertHasSingleChildViewOf(ViewController vc) {
67
 	private void assertHasSingleChildViewOf(ViewController vc) {
86
 		assertThat(uut.getView().getChildCount()).isEqualTo(1);
68
 		assertThat(uut.getView().getChildCount()).isEqualTo(1);
87
 		assertThat(uut.getView().getChildAt(0)).isEqualTo(vc.getView()).isNotNull();
69
 		assertThat(uut.getView().getChildAt(0)).isEqualTo(vc.getView()).isNotNull();