@SuppressWarnings("ShortCircuitBoolean")
    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        isTouch = true;
        if (ev.getAction() == MotionEvent.ACTION_DOWN) {
            Point point = new Point();
            getDisplay().getSize(point);
            if (isDrawerOpen(Gravity.TOP)) {
                if (ev.getRawY() < point.y * 0.8) {
                    isTouch = false;
                    return super.onInterceptTouchEvent(ev);
                }
                isTouch = true;
            } else if (isDrawerOpen(Gravity.BOTTOM)) {
                if (ev.getRawY() > point.y * 0.2) {
                    isTouch = false;
                    return super.onInterceptTouchEvent(ev);
                }
                isTouch = true;
            }
        }
        if (isTouch) {
            final int action = ev.getActionMasked();

            // "|" used deliberately here; both methods should be invoked.
            final boolean interceptForDrag = mTopDragger.shouldInterceptTouchEvent(ev)
                    | mBottomDragger.shouldInterceptTouchEvent(ev);

            boolean interceptForTap = false;

            switch (action) {
                case MotionEvent.ACTION_DOWN: {
                    final float x = ev.getX();
                    final float y = ev.getY();
                    mInitialMotionX = x;
                    mInitialMotionY = y;
                    if (mScrimOpacity > 0) {
                        final View child = mTopDragger.findTopChildUnder((int) x, (int) y);
                        if (child != null && isContentView(child)) {
                            interceptForTap = true;
                        }
                    }
                    mDisallowInterceptRequested = false;
                    mChildrenCanceledTouch = false;
                    break;
                }

                case MotionEvent.ACTION_MOVE: {
                    // If we cross the touch slop, don't perform the delayed peek for an edge touch.
                    if (mTopDragger.checkTouchSlop(ViewDragHelper.DIRECTION_ALL)) {
                        mTopCallback.removeCallbacks();
                        mBottomCallback.removeCallbacks();
                    }
                    break;
                }

                case MotionEvent.ACTION_CANCEL:
                case MotionEvent.ACTION_UP: {
                    closeDrawers(true);
                    mDisallowInterceptRequested = false;
                    mChildrenCanceledTouch = false;
                }
            }

            return interceptForDrag || interceptForTap || hasPeekingDrawer() || mChildrenCanceledTouch;
        }
        return super.onInterceptTouchEvent(ev);
    }
Set a drawable to draw in the insets area for the status bar.
Note that this will only be activated if this HomeDrawerLayout fitsSystemWindows.

@param color Color to use as a background drawable to draw behind the status bar
             in 0xAARRGGBB format.
app/src/main/java/com/sunnyweather/android/ui/customerUIs/HomeDrawerLayout.java