Browse Source

fixed e2e

Daniel Zlotin 8 years ago
parent
commit
2a4b95c792

+ 11
- 1
lib/android/app/src/main/java/com/reactnativenavigation/NavigationActivity.java View File

43
 		this.contentView = contentView;
43
 		this.contentView = contentView;
44
 	}
44
 	}
45
 
45
 
46
+	public void setLayout(Layout layout) {
47
+		this.layout = layout;
48
+	}
49
+
50
+	public Layout getLayout() {
51
+		return layout;
52
+	}
53
+
46
 	@Nullable
54
 	@Nullable
47
 	public View getContentView() {
55
 	public View getContentView() {
48
 		return contentView;
56
 		return contentView;
55
 
63
 
56
 	@Override
64
 	@Override
57
 	public void onBackPressed() {
65
 	public void onBackPressed() {
58
-		if (!(contentView instanceof LayoutStack) || !((LayoutStack) contentView).onBackPressed()) {
66
+		if (layout instanceof LayoutStack && ((LayoutStack) layout).onBackPressed()) {
67
+			// do nothing, layout pops
68
+		} else {
59
 			super.onBackPressed();
69
 			super.onBackPressed();
60
 		}
70
 		}
61
 	}
71
 	}

+ 3
- 2
lib/android/app/src/main/java/com/reactnativenavigation/react/NavigationModule.java View File

37
 				LayoutFactory factory = new LayoutFactory(activity(), reactInstanceManager);
37
 				LayoutFactory factory = new LayoutFactory(activity(), reactInstanceManager);
38
 				final Layout rootView = factory.create(layoutTree);
38
 				final Layout rootView = factory.create(layoutTree);
39
 				activity().setContentView(rootView.getView());
39
 				activity().setContentView(rootView.getView());
40
+				activity().setLayout(rootView);
40
 			}
41
 			}
41
 		});
42
 		});
42
 	}
43
 	}
49
 				final LayoutNode layoutTree = LayoutNodeParser.parse(JSONParser.parse(rawLayoutTree));
50
 				final LayoutNode layoutTree = LayoutNodeParser.parse(JSONParser.parse(rawLayoutTree));
50
 				LayoutFactory factory = new LayoutFactory(activity(), reactInstanceManager);
51
 				LayoutFactory factory = new LayoutFactory(activity(), reactInstanceManager);
51
 				final Layout rootView = factory.create(layoutTree);
52
 				final Layout rootView = factory.create(layoutTree);
52
-				((LayoutStack) activity().getContentView()).push(rootView);
53
+				((LayoutStack) activity().getLayout()).push(rootView);
53
 			}
54
 			}
54
 		});
55
 		});
55
 	}
56
 	}
59
 		handle(new Runnable() {
60
 		handle(new Runnable() {
60
 			@Override
61
 			@Override
61
 			public void run() {
62
 			public void run() {
62
-				((LayoutStack) activity().getContentView()).pop();
63
+				((LayoutStack) activity().getLayout()).pop();
63
 			}
64
 			}
64
 		});
65
 		});
65
 	}
66
 	}