public void setDrawerLockMode(@LockMode int lockMode, @EdgeGravity int edgeGravity) {
        final int absGravity = GravityCompat.getAbsoluteGravity(edgeGravity,
                ViewCompat.getLayoutDirection(this));

        switch (edgeGravity) {
            case Gravity.TOP:
                mLockModeTop = lockMode;
                break;
            case Gravity.BOTTOM:
                mLockModeBottom = lockMode;
                break;
            case GravityCompat.START:
                mLockModeStart = lockMode;
                break;
            case GravityCompat.END:
                mLockModeEnd = lockMode;
                break;
        }

        if (lockMode != LOCK_MODE_UNLOCKED) {
            // Cancel interaction in progress
            final ViewDragHelper helper = absGravity == Gravity.TOP ? mTopDragger : mBottomDragger;
            helper.cancel();
        }
        switch (lockMode) {
            case LOCK_MODE_LOCKED_OPEN:
                final View toOpen = findDrawerWithGravity(absGravity);
                if (toOpen != null) {
                    openDrawer(toOpen);
                }
                break;
            case LOCK_MODE_LOCKED_CLOSED:
                final View toClose = findDrawerWithGravity(absGravity);
                if (toClose != null) {
                    closeDrawer(toClose);
                }
                break;
            // default: do nothing
            case LOCK_MODE_UNDEFINED:
                break;
            case LOCK_MODE_UNLOCKED:
                break;
        }
    }
Enable or disable interaction with the given drawer.

<p>This allows the application to restrict the user's ability to open or close
the given drawer. HomeDrawerLayout will still respond to calls to {@link #openDrawer(int)},
{@link #closeDrawer(int)} and friends if a drawer is locked.</p>

<p>Locking a drawer open or closed will implicitly open or close
that drawer as appropriate.</p>

@param lockMode    The new lock mode for the given drawer. One of {@link #LOCK_MODE_UNLOCKED},
                   {@link #LOCK_MODE_LOCKED_CLOSED} or {@link #LOCK_MODE_LOCKED_OPEN}.
@param edgeGravity Gravity.TOP, RIGHT, START or END.
                   Expresses which drawer to change the mode for.
@see #LOCK_MODE_UNLOCKED
@see #LOCK_MODE_LOCKED_CLOSED
@see #LOCK_MODE_LOCKED_OPEN
app/src/main/java/com/sunnyweather/android/ui/customerUIs/HomeDrawerLayout.java