|  | @@ -119,31 +119,47 @@ public class NavigationActivity extends AppCompatActivity implements DefaultHard
 | 
	
		
			
			| 119 | 119 |      }
 | 
	
		
			
			| 120 | 120 |  
 | 
	
		
			
			| 121 | 121 |      void pop(ScreenParams params) {
 | 
	
		
			
			| 122 |  | -        layout.pop(params);
 | 
	
		
			
			|  | 122 | +        if (modalController.isShowing()) {
 | 
	
		
			
			|  | 123 | +            modalController.pop(params);
 | 
	
		
			
			|  | 124 | +        } else {
 | 
	
		
			
			|  | 125 | +            layout.pop(params);
 | 
	
		
			
			|  | 126 | +        }
 | 
	
		
			
			| 123 | 127 |      }
 | 
	
		
			
			| 124 | 128 |  
 | 
	
		
			
			| 125 | 129 |      void popToRoot(ScreenParams params) {
 | 
	
		
			
			| 126 |  | -        layout.popToRoot(params);
 | 
	
		
			
			|  | 130 | +        if (modalController.isShowing()) {
 | 
	
		
			
			|  | 131 | +            modalController.popToRoot(params);
 | 
	
		
			
			|  | 132 | +        } else {
 | 
	
		
			
			|  | 133 | +            layout.popToRoot(params);
 | 
	
		
			
			|  | 134 | +        }
 | 
	
		
			
			| 127 | 135 |      }
 | 
	
		
			
			| 128 | 136 |  
 | 
	
		
			
			| 129 | 137 |      void newStack(ScreenParams params) {
 | 
	
		
			
			| 130 |  | -        layout.newStack(params);
 | 
	
		
			
			|  | 138 | +        if (modalController.isShowing()) {
 | 
	
		
			
			|  | 139 | +            modalController.newStack(params);
 | 
	
		
			
			|  | 140 | +        } else {
 | 
	
		
			
			|  | 141 | +            layout.newStack(params);
 | 
	
		
			
			|  | 142 | +        }
 | 
	
		
			
			| 131 | 143 |      }
 | 
	
		
			
			| 132 | 144 |  
 | 
	
		
			
			| 133 | 145 |      void setTopBarVisible(String screenInstanceId, boolean hidden, boolean animated) {
 | 
	
		
			
			| 134 | 146 |          layout.setTopBarVisible(screenInstanceId, hidden, animated);
 | 
	
		
			
			|  | 147 | +        modalController.setTopBarVisible(screenInstanceId, hidden, animated);
 | 
	
		
			
			| 135 | 148 |      }
 | 
	
		
			
			| 136 | 149 |  
 | 
	
		
			
			| 137 | 150 |      void setTitleBarTitle(String screenInstanceId, String title) {
 | 
	
		
			
			| 138 | 151 |          layout.setTitleBarTitle(screenInstanceId, title);
 | 
	
		
			
			|  | 152 | +        modalController.setTitleBarTitle(screenInstanceId, title);
 | 
	
		
			
			| 139 | 153 |      }
 | 
	
		
			
			| 140 | 154 |  
 | 
	
		
			
			| 141 | 155 |      public void setTitleBarButtons(String screenInstanceId, String navigatorEventId, List<TitleBarButtonParams> titleBarButtons) {
 | 
	
		
			
			| 142 | 156 |          layout.setTitleBarRightButtons(screenInstanceId, navigatorEventId, titleBarButtons);
 | 
	
		
			
			|  | 157 | +        modalController.setTitleBarRightButtons(screenInstanceId, navigatorEventId, titleBarButtons);
 | 
	
		
			
			| 143 | 158 |      }
 | 
	
		
			
			| 144 | 159 |  
 | 
	
		
			
			| 145 | 160 |      public void setTitleBarLeftButton(String screenInstanceId, String navigatorEventId, TitleBarLeftButtonParams titleBarLeftButton) {
 | 
	
		
			
			| 146 | 161 |          layout.setTitleBarLeftButton(screenInstanceId, navigatorEventId, titleBarLeftButton);
 | 
	
		
			
			|  | 162 | +        modalController.setTitleBarLeftButton(screenInstanceId, navigatorEventId, titleBarLeftButton);
 | 
	
		
			
			| 147 | 163 |      }
 | 
	
		
			
			| 148 | 164 |  
 | 
	
		
			
			| 149 | 165 |      void showModal(ScreenParams screenParams) {
 |