@Override
	public boolean onKeyUp(int keyCode, KeyEvent event) {
		if(mIsScannerEnabled) {
			switch (keyCode) {
			case KeyEvent.KEYCODE_BACK:
				DataWedgePresenter.getDataWedgePresenterInstance(this).resetTimers(this);
				break;

			default:
				break;
			}
		}
		return super.onKeyUp(keyCode, event);
	}
	@Override
	protected void onPause() {
		super.onPause();
		mealBreakTimeCounter = TimerUtility.getTimerUtilityInstance().getTimerObjectFromContainer(IAppConstants.TimerManagerConstants.TIMER_UTILITY_MEALBREAK_TIME);
		if(mealBreakTimeCounter != null) {
			if(mealBreakTimeCounter.isMealBreakRegistered()) {
				mealBreakTimeCounter.unregisterMealBreakCounterCallback();
			}
		}
		
		if(!isNoDetsroyTimerOnPause() && !isScanningDialogActivated){
			AppLogs.d("!!Scanner", "flags: " + isNoDetsroyTimerOnPause() + ", " + isScanningDialogActivated);
			DataWedgePresenter.getDataWedgePresenterInstance(this).resetTimers(this);
		}
	}
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		if(mIsScannerEnabled) {
			switch(keyCode)
			{
			case KeyEvent.KEYCODE_SOFT_LEFT:
				//	    		Log.d(TAG, "KeyEvent");
				//	    		mPresenter.enableDataWedgeScanner(NavigationDrawerSliderActivity.this);
				DataWedgePresenter.getDataWedgePresenterInstance(this).enableDataWedgeScanner(this, isContinuousScanReqd(), this);
				return true;
			case KeyEvent.KEYCODE_BACK:
				AppLogs.d("!!Timerout", "back key pressed");
				break;
			}
		}
	    return super.onKeyDown(keyCode, event);
	}
	@Override
	protected void onDestroy() {
		super.onDestroy();
		mIsDestroyed = true;
		DataWedgePresenter.getDataWedgePresenterInstance(this).resetTimers(this);
	}