// Path: src/com/blochstech/bitcoincardterminal/ViewModel/ViewStateManagers/MessageManager.java
// public class MessageManager {
// 	//Singleton pattern:
// 	private static MessageManager instance = null;
// 	public static MessageManager Instance()
// 	{
// 		if(instance == null)
// 		{
// 			instance = new MessageManager();
// 		}
// 		return instance;
// 	}
// 	private MessageManager()
// 	{
// 		Model.Instance().MessageEventReference().register(modelMessageListener);
// 	}
// 	//Singleton pattern end.
// 	
// 	private Queue<String> messages = new LinkedList<String>();
// 	private final int maxMessages = 500;
// 	private EventListener<Message> modelMessageListener = new ModelMessageListener();
// 	
// 	public void AddMessage(String msg, boolean isError){
// 		AddMessage(msg, isError, false);
// 	}
// 	
// 	@SuppressWarnings("unused")
// 	public void AddMessage(String msg, boolean isError, boolean isWarning){
// 		//TODO: Add to list + android log... rest can wait... post log guide in this class.
// 		if(msg != null && !msg.isEmpty() && (Tags.DEBUG || isError)){
// 			messages.add(msg);
// 			if(isError){
// 				Log.e(Tags.APP_TAG, msg);
// 				Toast.makeText(MainActivity.GetMainContext(), "ERR: " + msg, Toast.LENGTH_LONG).show();
// 			}else if(isWarning){
// 				Log.w(Tags.APP_TAG, msg);
// 			}else{
// 				Log.i(Tags.APP_TAG, msg);
// 			}
// 			if(messages.size() > maxMessages)
// 				messages.poll();
// 		}
// 	}
// 	
// 	public void AddMessage(String  msg){
// 		AddMessage(msg, false);
// 	}
// 	
// 	private class ModelMessageListener extends EventListener<Message>{
// 		@Override
// 		public void onEvent(Message event) {
// 			AddMessage(event.Message, event.Type == MessageType.Error, event.Type == MessageType.Warning);
// 		}
// 	}
// }
// 
// Path: src/com/blochstech/bitcoincardterminal/ViewModel/ViewStateManagers/NavigationManager.java
// public class NavigationManager {
// 		//Singleton pattern:
// 		private static NavigationManager instance = null;
// 		public static NavigationManager Instance()
// 		{
// 			if(instance == null)
// 			{
// 				instance = new NavigationManager();
// 			}
// 			return instance;
// 		}
// 		private NavigationManager()
// 		{
// 			UpdateEvent = new Event<Object>(this);
// 		}
// 		//Singleton pattern end.
// 		
// 		public Event<Object> UpdateEvent;
// 		
// 		private boolean allowRightSwipe = true, allowLeftSwipe = true;
// 		public boolean AllowRightSwipe(){
// 			return allowRightSwipe;
// 		}
// 		public boolean AllowLeftSwipe(){
// 			return allowLeftSwipe;
// 		}
// 		public void allowSwipes(boolean right, boolean left){
// 			allowRightSwipe = right;
// 			allowLeftSwipe = left;
// 		}
// 		
// 		private int currentPage = 0;
// 		public int CurrentPageNumber(){
// 			return currentPage;
// 		}
// 		private PageTags currentPageEnum = PageTags.CHARGE_PAGE;
// 		public PageTags CurrentPage(){
// 			return currentPageEnum;
// 		}
// 		private void setPage(int page){
// 			if(page < 4 && page >= 0){
// 				currentPage = page;
// 			}
// 		}
// 		
// 		public void setPage(PageTags page){
// 			setPage(page, false);
// 		}
// 		public void setPage(PageTags page, boolean quiet){
// 			if(page == PageTags.CHARGE_PAGE){
// 				setPage(0);
// 				allowSwipes(true, false);
// 			}
// 			if(page == PageTags.HISTORY_PAGE){
// 				setPage(1);
// 				allowSwipes(false, true);
// 			}
// 			if(page == PageTags.PIN_PAGE){
// 				setPage(2);
// 				allowSwipes(false, false);
// 			}
// 			if(page == PageTags.SETTINGS_PAGE){
// 				setPage(3);
// 				allowSwipes(false, false);
// 			}
// 			
// 			currentPageEnum = page;
// 			if(!quiet)
// 				UpdateEvent.fire(this, null);
// 		}
// }


import com.blochstech.bitcoincardterminal.ViewModel.ViewStateManagers.MessageManager;
import com.blochstech.bitcoincardterminal.ViewModel.ViewStateManagers.NavigationManager;
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
package com.blochstech.bitcoincardterminal.View;



public class MainFragmentPager extends ViewPager {
	
	public MainFragmentPager(Context context) {
		super(context);
	}
	
	public MainFragmentPager(Context context, AttributeSet attrs) { 
		super(context, attrs);
	}
	
	
	@Override 
	public boolean onTouchEvent(android.view.MotionEvent event) {
		
// Path: src/com/blochstech/bitcoincardterminal/ViewModel/ViewStateManagers/MessageManager.java
// public class MessageManager {
// 	//Singleton pattern:
// 	private static MessageManager instance = null;
// 	public static MessageManager Instance()
// 	{
// 		if(instance == null)
// 		{
// 			instance = new MessageManager();
// 		}
// 		return instance;
// 	}
// 	private MessageManager()
// 	{
// 		Model.Instance().MessageEventReference().register(modelMessageListener);
// 	}
// 	//Singleton pattern end.
// 	
// 	private Queue<String> messages = new LinkedList<String>();
// 	private final int maxMessages = 500;
// 	private EventListener<Message> modelMessageListener = new ModelMessageListener();
// 	
// 	public void AddMessage(String msg, boolean isError){
// 		AddMessage(msg, isError, false);
// 	}
// 	
// 	@SuppressWarnings("unused")
// 	public void AddMessage(String msg, boolean isError, boolean isWarning){
// 		//TODO: Add to list + android log... rest can wait... post log guide in this class.
// 		if(msg != null && !msg.isEmpty() && (Tags.DEBUG || isError)){
// 			messages.add(msg);
// 			if(isError){
// 				Log.e(Tags.APP_TAG, msg);
// 				Toast.makeText(MainActivity.GetMainContext(), "ERR: " + msg, Toast.LENGTH_LONG).show();
// 			}else if(isWarning){
// 				Log.w(Tags.APP_TAG, msg);
// 			}else{
// 				Log.i(Tags.APP_TAG, msg);
// 			}
// 			if(messages.size() > maxMessages)
// 				messages.poll();
// 		}
// 	}
// 	
// 	public void AddMessage(String  msg){
// 		AddMessage(msg, false);
// 	}
// 	
// 	private class ModelMessageListener extends EventListener<Message>{
// 		@Override
// 		public void onEvent(Message event) {
// 			AddMessage(event.Message, event.Type == MessageType.Error, event.Type == MessageType.Warning);
// 		}
// 	}
// }
// 
// Path: src/com/blochstech/bitcoincardterminal/ViewModel/ViewStateManagers/NavigationManager.java
// public class NavigationManager {
// 		//Singleton pattern:
// 		private static NavigationManager instance = null;
// 		public static NavigationManager Instance()
// 		{
// 			if(instance == null)
// 			{
// 				instance = new NavigationManager();
// 			}
// 			return instance;
// 		}
// 		private NavigationManager()
// 		{
// 			UpdateEvent = new Event<Object>(this);
// 		}
// 		//Singleton pattern end.
// 		
// 		public Event<Object> UpdateEvent;
// 		
// 		private boolean allowRightSwipe = true, allowLeftSwipe = true;
// 		public boolean AllowRightSwipe(){
// 			return allowRightSwipe;
// 		}
// 		public boolean AllowLeftSwipe(){
// 			return allowLeftSwipe;
// 		}
// 		public void allowSwipes(boolean right, boolean left){
// 			allowRightSwipe = right;
// 			allowLeftSwipe = left;
// 		}
// 		
// 		private int currentPage = 0;
// 		public int CurrentPageNumber(){
// 			return currentPage;
// 		}
// 		private PageTags currentPageEnum = PageTags.CHARGE_PAGE;
// 		public PageTags CurrentPage(){
// 			return currentPageEnum;
// 		}
// 		private void setPage(int page){
// 			if(page < 4 && page >= 0){
// 				currentPage = page;
// 			}
// 		}
// 		
// 		public void setPage(PageTags page){
// 			setPage(page, false);
// 		}
// 		public void setPage(PageTags page, boolean quiet){
// 			if(page == PageTags.CHARGE_PAGE){
// 				setPage(0);
// 				allowSwipes(true, false);
// 			}
// 			if(page == PageTags.HISTORY_PAGE){
// 				setPage(1);
// 				allowSwipes(false, true);
// 			}
// 			if(page == PageTags.PIN_PAGE){
// 				setPage(2);
// 				allowSwipes(false, false);
// 			}
// 			if(page == PageTags.SETTINGS_PAGE){
// 				setPage(3);
// 				allowSwipes(false, false);
// 			}
// 			
// 			currentPageEnum = page;
// 			if(!quiet)
// 				UpdateEvent.fire(this, null);
// 		}
// }


// Path: src/com/blochstech/bitcoincardterminal/View/MainFragmentPager.java
import com.blochstech.bitcoincardterminal.ViewModel.ViewStateManagers.MessageManager;
import com.blochstech.bitcoincardterminal.ViewModel.ViewStateManagers.NavigationManager;
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;

package com.blochstech.bitcoincardterminal.View;



public class MainFragmentPager extends ViewPager {
	
	public MainFragmentPager(Context context) {
		super(context);
	}
	
	public MainFragmentPager(Context context, AttributeSet attrs) { 
		super(context, attrs);
	}
	
	
	@Override 
	public boolean onTouchEvent(android.view.MotionEvent event) {
		
		if(event.getActionMasked() == 2 && !NavigationManager.Instance().AllowLeftSwipe() && !NavigationManager.Instance().AllowRightSwipe())