code: public static Drawable getBackground(Style style, int color) {
  
          // If a frame has been manually set, return the appropriate background
          if (style.frame > 0) {
              switch (style.frame) {
                  case Style.FRAME_STANDARD: return BackgroundUtils.getStandardBackground(color);
                  case Style.FRAME_KITKAT: return BackgroundUtils.getKitkatBackground(color);
                  case Style.FRAME_LOLLIPOP: return BackgroundUtils.getLollipopBackground(color);
              }
          }
  
          // The frame has NOT been manually set so set the frame to correspond with SDK level
          final int sdkVersion = Build.VERSION.SDK_INT;
  
          // These statements should be ordered by highest SDK level to lowest
          if (sdkVersion >= Build.VERSION_CODES.LOLLIPOP) {
              style.frame = Style.FRAME_LOLLIPOP;
              return BackgroundUtils.getLollipopBackground(color);
          } else if (sdkVersion >= Build.VERSION_CODES.KITKAT) {
              style.frame = Style.FRAME_KITKAT;
              return BackgroundUtils.getKitkatBackground(color);
          } else {
              style.frame = Style.FRAME_STANDARD;
              return BackgroundUtils.getStandardBackground(color);
          }
      }
docs: Returns a {@link GradientDrawable} with the
  desired background color. If no {@link Style.Frame}
  is set prior to calling this method, an appropriate {@link Style.Frame}
  will be chosen based on the device's SDK level.
  
  @param style The current {@link Style}
  @param color The desired color
  
  @return {@link GradientDrawable}