void dispatchOnDrawerOpened(View drawerView) {
        final LayoutParams lp = (LayoutParams) drawerView.getLayoutParams();
        if ((lp.openState & LayoutParams.FLAG_IS_OPENED) == 0) {
            lp.openState = LayoutParams.FLAG_IS_OPENED;
            if (!ignoreDrawerOpenLockMode) {
                if (isDrawerOpen(Gravity.TOP)) {
                    setDrawerLockMode(LOCK_MODE_LOCKED_CLOSED, Gravity.BOTTOM);
                } else {
                    setDrawerLockMode(LOCK_MODE_LOCKED_CLOSED, Gravity.TOP);
                }
            }
            if (mListeners != null) {
                // Notify the listeners. Do that from the end of the list so that if a listener
                // removes itself as the result of being called, it won't mess up with our iteration
                int listenerCount = mListeners.size();
                for (int i = listenerCount - 1; i >= 0; i--) {
                    mListeners.get(i).onDrawerOpened(drawerView);
                }
            }

            updateChildrenImportantForAccessibility(drawerView, true);

            // Only send WINDOW_STATE_CHANGE if the host has window focus.
            if (hasWindowFocus()) {
                sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
            }
            drawerView.requestFocus();
        }
    }
Resolve the shared state of all drawers from the component ViewDragHelpers.
Should be called whenever a ViewDragHelper's state changes.
app/src/main/java/com/sunnyweather/android/ui/customerUIs/HomeDrawerLayout.java