public void setDrawerShadow(Drawable shadowDrawable, @EdgeGravity int gravity) {
        /*
         * TODO Someone someday might want to set more complex drawables here.
         * They're probably nuts, but we might want to consider registering callbacks,
         * setting states, etc. properly.
         */
        if (SET_DRAWER_SHADOW_FROM_ELEVATION) {
            // No op. Drawer shadow will come from setting an elevation on the drawer.
            return;
        }
        if ((gravity & GravityCompat.START) == GravityCompat.START) {
            mShadowStart = shadowDrawable;
        } else if ((gravity & GravityCompat.END) == GravityCompat.END) {
            mShadowEnd = shadowDrawable;
        } else if ((gravity & Gravity.TOP) == Gravity.TOP) {
            mShadowTop = shadowDrawable;
        } else if ((gravity & Gravity.BOTTOM) == Gravity.BOTTOM) {
            mShadowBottom = shadowDrawable;
        } else {
            return;
        }
        resolveShadowDrawables();
        invalidate();
    }
Set a simple drawable used for the left or right shadow. The drawable provided must have a
nonzero intrinsic width. For API 21 and above, an elevation will be set on the drawer
instead of using the provided shadow drawable.

<p>Note that for better support for both left-to-right and right-to-left layout
directions, a drawable for RTL layout (in additional to the one in LTR layout) can be
defined with a resource qualifier "ldrtl" for API 17 and above with the gravity
{@link GravityCompat#START}. Alternatively, for API 23 and above, the drawable can
auto-mirrored such that the drawable will be mirrored in RTL layout.</p>

@param shadowDrawable Shadow drawable to use at the edge of a drawer
@param gravity        Which drawer the shadow should apply to
app/src/main/java/com/sunnyweather/android/ui/customerUIs/HomeDrawerLayout.java