| 
				
			 | 
			
			
				@@ -0,0 +1,43 @@ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1
			 | 
			
			
				+package com.reactnativenavigation.views; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				2
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				3
			 | 
			
			
				+import android.support.design.widget.Snackbar; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				4
			 | 
			
			
				+import android.view.View; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				5
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				6
			 | 
			
			
				+import com.reactnativenavigation.NavigationApplication; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				7
			 | 
			
			
				+import com.reactnativenavigation.params.SnackbarParams; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				8
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				9
			 | 
			
			
				+public class Snakbar { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				10
			 | 
			
			
				+    private final View parent; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				11
			 | 
			
			
				+    private final String navigatorEventId; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				12
			 | 
			
			
				+    private final SnackbarParams params; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				13
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				14
			 | 
			
			
				+    public Snakbar(View parent, String navigatorEventId, SnackbarParams params) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				15
			 | 
			
			
				+        this.parent = parent; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				16
			 | 
			
			
				+        this.navigatorEventId = navigatorEventId; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				17
			 | 
			
			
				+        this.params = params; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				18
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				19
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				20
			 | 
			
			
				+    public void show() { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				21
			 | 
			
			
				+        Snackbar snackbar = Snackbar.make(parent, params.text, params.duration); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				22
			 | 
			
			
				+        setAction(navigatorEventId, params, snackbar); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				23
			 | 
			
			
				+        setStyle(snackbar, params); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				24
			 | 
			
			
				+        snackbar.show(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				25
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				26
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				27
			 | 
			
			
				+    private void setAction(final String navigatorEventId, final SnackbarParams params, Snackbar snackbar) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				28
			 | 
			
			
				+        if (params.eventId != null) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				29
			 | 
			
			
				+            snackbar.setAction(params.buttonText, new View.OnClickListener() { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				30
			 | 
			
			
				+                @Override 
			 | 
		
	
		
			
			| 
				
			 | 
			
				31
			 | 
			
			
				+                public void onClick(View v) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				32
			 | 
			
			
				+                    NavigationApplication.instance.sendNavigatorEvent(params.eventId, navigatorEventId); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				33
			 | 
			
			
				+                } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				34
			 | 
			
			
				+            }); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				35
			 | 
			
			
				+        } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				36
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				37
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				38
			 | 
			
			
				+    private void setStyle(Snackbar snackbar, SnackbarParams params) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				39
			 | 
			
			
				+        if (params.buttonColor.hasColor()) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				40
			 | 
			
			
				+            snackbar.setActionTextColor(params.buttonColor.getColor()); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				41
			 | 
			
			
				+        } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				42
			 | 
			
			
				+    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				43
			 | 
			
			
				+} 
			 |