Browse Source

view groups

Daniel Zlotin 7 years ago
parent
commit
7da6722e98

+ 0
- 6
lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/BottomTabsController.java View File

43
 		return root;
43
 		return root;
44
 	}
44
 	}
45
 
45
 
46
-	@NonNull
47
-	@Override
48
-	public RelativeLayout getView() {
49
-		return (RelativeLayout) super.getView();
50
-	}
51
-
52
 	@Override
46
 	@Override
53
 	public boolean onNavigationItemSelected(@NonNull final MenuItem item) {
47
 	public boolean onNavigationItemSelected(@NonNull final MenuItem item) {
54
 		selectTabAtIndex(item.getItemId());
48
 		selectTabAtIndex(item.getItemId());

+ 13
- 0
lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/ParentController.java View File

1
 package com.reactnativenavigation.viewcontrollers;
1
 package com.reactnativenavigation.viewcontrollers;
2
 
2
 
3
 import android.app.Activity;
3
 import android.app.Activity;
4
+import android.support.annotation.NonNull;
5
+import android.view.View;
6
+import android.view.ViewGroup;
4
 
7
 
5
 import java.util.Collection;
8
 import java.util.Collection;
6
 
9
 
9
 		super(activity, id);
12
 		super(activity, id);
10
 	}
13
 	}
11
 
14
 
15
+	@NonNull
16
+	@Override
17
+	public ViewGroup getView() {
18
+		return (ViewGroup) super.getView();
19
+	}
20
+
21
+	@NonNull
22
+	@Override
23
+	protected abstract View createView();
24
+
12
 	public abstract Collection<ViewController> getChildControllers();
25
 	public abstract Collection<ViewController> getChildControllers();
13
 
26
 
14
 	public ViewController findControllerById(final String id) {
27
 	public ViewController findControllerById(final String id) {

+ 0
- 6
lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/StackController.java View File

72
 		}
72
 		}
73
 	}
73
 	}
74
 
74
 
75
-	@NonNull
76
-	@Override
77
-	public ViewGroup getView() {
78
-		return (ViewGroup) super.getView();
79
-	}
80
-
81
 	@NonNull
75
 	@NonNull
82
 	@Override
76
 	@Override
83
 	protected ViewGroup createView() {
77
 	protected ViewGroup createView() {

+ 18
- 0
lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/ParentControllerTest.java View File

3
 import android.app.Activity;
3
 import android.app.Activity;
4
 import android.support.annotation.NonNull;
4
 import android.support.annotation.NonNull;
5
 import android.view.View;
5
 import android.view.View;
6
+import android.view.ViewGroup;
6
 import android.widget.FrameLayout;
7
 import android.widget.FrameLayout;
7
 
8
 
8
 import com.reactnativenavigation.BaseTest;
9
 import com.reactnativenavigation.BaseTest;
26
 		activity = newActivity();
27
 		activity = newActivity();
27
 	}
28
 	}
28
 
29
 
30
+	@Test
31
+	public void holdsViewGroup() throws Exception {
32
+		ParentController uut = new ParentController(activity, "uut") {
33
+			@Override
34
+			public Collection<ViewController> getChildControllers() {
35
+				return Collections.emptyList();
36
+			}
37
+
38
+			@NonNull
39
+			@Override
40
+			protected View createView() {
41
+				return new FrameLayout(activity);
42
+			}
43
+		};
44
+
45
+		assertThat(uut.getView()).isInstanceOf(ViewGroup.class);
46
+	}
29
 
47
 
30
 	@Test
48
 	@Test
31
 	public void findControllerById_ReturnsSelfIfSameId() throws Exception {
49
 	public void findControllerById_ReturnsSelfIfSameId() throws Exception {