@Override
 protected void onLayout(boolean changed, int l, int t, int r, int b) {
   super.onLayout(changed, l, t, r, b);
   ViewGroup mid_nav = (ViewGroup) mCurrentView.findViewById(R.id.mid_nav_buttons);
   View vViews[] = new View[mid_nav.getChildCount()];
   for (int cc = 0; cc < mid_nav.getChildCount(); cc++) {
     vViews[cc] = mid_nav.getChildAt(cc);
   }
   mDelegateHelper.setInitialTouchRegion(vViews);
 }
 @Override
 public boolean onTouchEvent(MotionEvent event) {
   if (mDeadZone != null && event.getAction() == MotionEvent.ACTION_OUTSIDE) {
     mDeadZone.poke(event);
   }
   if (mDelegateHelper != null) {
     boolean ret = mDelegateHelper.onInterceptTouchEvent(event);
     if (ret) return true;
   }
   return super.onTouchEvent(event);
 }
 @Override
 protected void onLayout(boolean changed, int l, int t, int r, int b) {
   super.onLayout(changed, l, t, r, b);
   mDelegateHelper.setInitialTouchRegion(getHomeButton(), getBackButton(), getRecentsButton());
 }
 @Override
 public boolean onInterceptTouchEvent(MotionEvent event) {
   return mDelegateHelper.onInterceptTouchEvent(event);
 }
 public void setBar(BaseStatusBar phoneStatusBar) {
   mDelegateHelper.setBar(phoneStatusBar);
 }
 public void setDelegateView(View view) {
   mDelegateHelper.setDelegateView(view);
 }