Update bitmap shaders to the special no-copy image shaders.

Test: hwui unit tests and CTS graphics tests pass
Change-Id: Ifd031076d0eac95a30bce9ecaa6f43e9c70f3c54
diff --git a/core/jni/android/graphics/Shader.cpp b/core/jni/android/graphics/Shader.cpp
index 657b1ef..0de46e6 100644
--- a/core/jni/android/graphics/Shader.cpp
+++ b/core/jni/android/graphics/Shader.cpp
@@ -95,15 +95,13 @@
         // we'll pass an empty SkBitmap to avoid crashing/excepting for compatibility.
         GraphicsJNI::getSkBitmap(env, jbitmap, &bitmap);
     }
-    sk_sp<SkShader> s = SkMakeBitmapShader(bitmap,
-                                           (SkShader::TileMode)tileModeX,
-                                           (SkShader::TileMode)tileModeY,
-                                           nullptr,
-                                           kNever_SkCopyPixelsMode,
-                                           nullptr);
 
-    ThrowIAE_IfNull(env, s.get());
-    return reinterpret_cast<jlong>(s.release());
+    sk_sp<SkImage> image = SkMakeImageFromRasterBitmap(bitmap, kNever_SkCopyPixelsMode);
+    sk_sp<SkShader> shader = image->makeShader((SkShader::TileMode)tileModeX,
+                                               (SkShader::TileMode)tileModeY);
+
+    ThrowIAE_IfNull(env, shader.get());
+    return reinterpret_cast<jlong>(shader.release());
 }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////