code: private Response<Bitmap> doParse(NetworkResponse response) {
          byte[] data = response.data;
          BitmapFactory.Options decodeOptions = new BitmapFactory.Options();
          Bitmap bitmap = null;
          if (mMaxWidth == 0 && mMaxHeight == 0) {
              decodeOptions.inPreferredConfig = mDecodeConfig;
              bitmap = BitmapFactory.decodeByteArray(data, 0, data.length, decodeOptions);
          } else {
              // If we have to resize this image, first get the natural bounds.
              decodeOptions.inJustDecodeBounds = true;
              BitmapFactory.decodeByteArray(data, 0, data.length, decodeOptions);
              int actualWidth = decodeOptions.outWidth;
              int actualHeight = decodeOptions.outHeight;
  
              // Then compute the dimensions we would ideally like to decode to.
              int desiredWidth = getResizedDimension(mMaxWidth, mMaxHeight,
                      actualWidth, actualHeight, mScaleType);
              int desiredHeight = getResizedDimension(mMaxHeight, mMaxWidth,
                      actualHeight, actualWidth, mScaleType);
  
              // Decode to the nearest power of two scaling factor.
              decodeOptions.inJustDecodeBounds = false;
  
               decodeOptions.inPreferQualityOverSpeed = PREFER_QUALITY_OVER_SPEED;
              decodeOptions.inSampleSize =
                  findBestSampleSize(actualWidth, actualHeight, desiredWidth, desiredHeight);
              Bitmap tempBitmap =
                  BitmapFactory.decodeByteArray(data, 0, data.length, decodeOptions);
  
              // If necessary, scale down to the maximal acceptable size.
              if (tempBitmap != null && (tempBitmap.getWidth() > desiredWidth ||
                      tempBitmap.getHeight() > desiredHeight)) {
                  bitmap = Bitmap.createScaledBitmap(tempBitmap,
                          desiredWidth, desiredHeight, true);
              } else {
                  bitmap = tempBitmap;
              }
          }
  
          if (bitmap == null) {
              return Response.error(new ParseError(response));
          } else {
              return Response.success(bitmap, HttpHeaderParser.parseCacheHeaders(response));
          }
      }
docs: The real guts of parseNetworkResponse. Broken out for readability.