Deprecate color array drawBitmap methods

Change-Id: I3339214ddaa7a32e9ddbbb1a074fa98e393eaadf
diff --git a/api/current.txt b/api/current.txt
index 9edc6d3..22858fe 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -9652,8 +9652,8 @@
     method public void drawBitmap(android.graphics.Bitmap, float, float, android.graphics.Paint);
     method public void drawBitmap(android.graphics.Bitmap, android.graphics.Rect, android.graphics.RectF, android.graphics.Paint);
     method public void drawBitmap(android.graphics.Bitmap, android.graphics.Rect, android.graphics.Rect, android.graphics.Paint);
-    method public void drawBitmap(int[], int, int, float, float, int, int, boolean, android.graphics.Paint);
-    method public void drawBitmap(int[], int, int, int, int, int, int, boolean, android.graphics.Paint);
+    method public deprecated void drawBitmap(int[], int, int, float, float, int, int, boolean, android.graphics.Paint);
+    method public deprecated void drawBitmap(int[], int, int, int, int, int, int, boolean, android.graphics.Paint);
     method public void drawBitmap(android.graphics.Bitmap, android.graphics.Matrix, android.graphics.Paint);
     method public void drawBitmapMesh(android.graphics.Bitmap, int, int, float[], int, int[], int, android.graphics.Paint);
     method public void drawCircle(float, float, float, android.graphics.Paint);
diff --git a/graphics/java/android/graphics/Canvas.java b/graphics/java/android/graphics/Canvas.java
index 2b72b93..1252ee2 100644
--- a/graphics/java/android/graphics/Canvas.java
+++ b/graphics/java/android/graphics/Canvas.java
@@ -1221,7 +1221,13 @@
      *                 values. If false, the alpha byte is ignored (assumed to
      *                 be 0xFF for every pixel).
      * @param paint  May be null. The paint used to draw the bitmap
+     *
+     * @deprecated Usage with a {@link #isHardwareAccelerated() hardware accelerated} canvas
+     * requires an internal copy of color buffer contents every time this method is called. Using a
+     * Bitmap avoids this copy, and allows the application to more explicitly control the lifetime
+     * and copies of pixel data.
      */
+    @Deprecated
     public void drawBitmap(int[] colors, int offset, int stride, float x, float y,
             int width, int height, boolean hasAlpha, Paint paint) {
         // check for valid input
@@ -1248,16 +1254,23 @@
         native_drawBitmap(mNativeCanvas, colors, offset, stride, x, y, width, height, hasAlpha,
                 paint != null ? paint.mNativePaint : 0);
     }
-    
-    /** Legacy version of drawBitmap(int[] colors, ...) that took ints for x,y
+
+    /**
+     * Legacy version of drawBitmap(int[] colors, ...) that took ints for x,y
+     *
+     * @deprecated Usage with a {@link #isHardwareAccelerated() hardware accelerated} canvas
+     * requires an internal copy of color buffer contents every time this method is called. Using a
+     * Bitmap avoids this copy, and allows the application to more explicitly control the lifetime
+     * and copies of pixel data.
      */
+    @Deprecated
     public void drawBitmap(int[] colors, int offset, int stride, int x, int y,
             int width, int height, boolean hasAlpha, Paint paint) {
         // call through to the common float version
         drawBitmap(colors, offset, stride, (float)x, (float)y, width, height,
                    hasAlpha, paint);
     }
-        
+
     /**
      * Draw the bitmap using the specified matrix.
      *