@Override
    protected void onRestoreInstanceState(Parcelable state) {
        if (!(state instanceof SavedState)) {
            super.onRestoreInstanceState(state);
            return;
        }

        final SavedState ss = (SavedState) state;
        super.onRestoreInstanceState(ss.getSuperState());

        if (ss.openDrawerGravity != Gravity.NO_GRAVITY) {
            final View toOpen = findDrawerWithGravity(ss.openDrawerGravity);
            if (toOpen != null) {
                openDrawer(toOpen);
            }
        }

        if (ss.lockModeTop != LOCK_MODE_UNDEFINED) {
            setDrawerLockMode(ss.lockModeTop, Gravity.TOP);
        }
        if (ss.lockModeBottom != LOCK_MODE_UNDEFINED) {
            setDrawerLockMode(ss.lockModeBottom, Gravity.BOTTOM);
        }
        if (ss.lockModeStart != LOCK_MODE_UNDEFINED) {
            setDrawerLockMode(ss.lockModeStart, GravityCompat.START);
        }
        if (ss.lockModeEnd != LOCK_MODE_UNDEFINED) {
            setDrawerLockMode(ss.lockModeEnd, GravityCompat.END);
        }
    }
Check if a given drawer view is currently visible on-screen. The drawer
may be only peeking onto the screen, fully extended, or anywhere in between.
If there is no drawer with the given gravity this method will return false.

@param drawerGravity Gravity of the drawer to check
@return true if the given drawer is visible on-screen
app/src/main/java/com/sunnyweather/android/ui/customerUIs/HomeDrawerLayout.java