Replace SkAutoTUnref with sk_sp.
Skia would like to remove SkAutoTUnref and replace it with sk_sp.
This also removes the last SkAutoTDelete straggler.
Change-Id: Idd46fcbbffe7fc1edb243b82b1c2f5425ccd60b6
diff --git a/cmds/screencap/screencap.cpp b/cmds/screencap/screencap.cpp
index 7bf073b..a41f122 100644
--- a/cmds/screencap/screencap.cpp
+++ b/cmds/screencap/screencap.cpp
@@ -177,7 +177,7 @@
if (png) {
const SkImageInfo info = SkImageInfo::Make(w, h, flinger2skia(f),
kPremul_SkAlphaType);
- SkAutoTUnref<SkData> data(SkImageEncoder::EncodeData(info, base, s*bytesPerPixel(f),
+ sk_sp<SkData> data(SkImageEncoder::EncodeData(info, base, s*bytesPerPixel(f),
SkImageEncoder::kPNG_Type, SkImageEncoder::kDefaultQuality));
if (data.get()) {
write(fd, data->data(), data->size());
diff --git a/core/jni/android/graphics/BitmapFactory.cpp b/core/jni/android/graphics/BitmapFactory.cpp
index bc2da91..1ded2c5 100644
--- a/core/jni/android/graphics/BitmapFactory.cpp
+++ b/core/jni/android/graphics/BitmapFactory.cpp
@@ -365,7 +365,7 @@
SkColorType decodeColorType = codec->computeOutputColorType(prefColorType);
// Construct a color table for the decode if necessary
- SkAutoTUnref<SkColorTable> colorTable(nullptr);
+ sk_sp<SkColorTable> colorTable(nullptr);
SkPMColor* colorPtr = nullptr;
int* colorCount = nullptr;
int maxColors = 256;
@@ -399,7 +399,7 @@
}
SkBitmap decodingBitmap;
if (!decodingBitmap.setInfo(bitmapInfo) ||
- !decodingBitmap.tryAllocPixels(decodeAllocator, colorTable)) {
+ !decodingBitmap.tryAllocPixels(decodeAllocator, colorTable.get())) {
// SkAndroidCodec should recommend a valid SkImageInfo, so setInfo()
// should only only fail if the calculated value for rowBytes is too
// large.
diff --git a/core/jni/android/graphics/BitmapRegionDecoder.cpp b/core/jni/android/graphics/BitmapRegionDecoder.cpp
index 45bf702..115ee72 100644
--- a/core/jni/android/graphics/BitmapRegionDecoder.cpp
+++ b/core/jni/android/graphics/BitmapRegionDecoder.cpp
@@ -39,18 +39,20 @@
#include <jni.h>
#include <sys/stat.h>
+#include <memory>
+
using namespace android;
static jobject createBitmapRegionDecoder(JNIEnv* env, std::unique_ptr<SkStreamRewindable> stream) {
- SkAutoTDelete<SkBitmapRegionDecoder> brd(
+ std::unique_ptr<SkBitmapRegionDecoder> brd(
SkBitmapRegionDecoder::Create(stream.release(),
SkBitmapRegionDecoder::kAndroidCodec_Strategy));
- if (NULL == brd) {
+ if (!brd) {
doThrowIOE(env, "Image format not supported");
return nullObjectReturn("CreateBitmapRegionDecoder returned null");
}
- return GraphicsJNI::createBitmapRegionDecoder(env, brd.detach());
+ return GraphicsJNI::createBitmapRegionDecoder(env, brd.release());
}
static jobject nativeNewInstanceFromByteArray(JNIEnv* env, jobject, jbyteArray byteArray,
diff --git a/core/jni/android/graphics/FontFamily.cpp b/core/jni/android/graphics/FontFamily.cpp
index 2088421..15e7165 100644
--- a/core/jni/android/graphics/FontFamily.cpp
+++ b/core/jni/android/graphics/FontFamily.cpp
@@ -106,7 +106,7 @@
SkFontMgr::FontParameters params;
params.setCollectionIndex(ttcIndex);
- SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault());
+ sk_sp<SkFontMgr> fm(SkFontMgr::RefDefault());
sk_sp<SkTypeface> face(fm->createFromStream(fontData.release(), params));
if (face == NULL) {
ALOGE("addFont failed to create font");
@@ -172,7 +172,7 @@
params.setCollectionIndex(ttcIndex);
params.setAxes(skiaAxes.get(), skiaAxesLength);
- SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault());
+ sk_sp<SkFontMgr> fm(SkFontMgr::RefDefault());
sk_sp<SkTypeface> face(fm->createFromStream(fontData.release(), params));
if (face == NULL) {
ALOGE("addFont failed to create font, invalid request");
@@ -216,7 +216,7 @@
sk_sp<SkData> data(SkData::MakeWithProc(buf, asset->getLength(), releaseAsset, asset));
std::unique_ptr<SkStreamAsset> fontData(new SkMemoryStream(std::move(data)));
- SkAutoTUnref<SkFontMgr> fm(SkFontMgr::RefDefault());
+ sk_sp<SkFontMgr> fm(SkFontMgr::RefDefault());
sk_sp<SkTypeface> face(fm->createFromStream(fontData.release(), SkFontMgr::FontParameters()));
if (face == NULL) {
ALOGE("addFontFromAsset failed to create font %s", str.c_str());
diff --git a/core/jni/android/graphics/Shader.cpp b/core/jni/android/graphics/Shader.cpp
index a2416df..9ac86d9 100644
--- a/core/jni/android/graphics/Shader.cpp
+++ b/core/jni/android/graphics/Shader.cpp
@@ -59,7 +59,7 @@
// The current shader will no longer need a direct reference owned by Shader.java
// as all the data needed is contained within the newly created LocalMatrixShader.
SkASSERT(shaderHandle);
- SkAutoTUnref<SkShader> currentShader(reinterpret_cast<SkShader*>(shaderHandle));
+ sk_sp<SkShader> currentShader(reinterpret_cast<SkShader*>(shaderHandle));
// Attempt to peel off an existing proxy shader and get the proxy's matrix. If
// the proxy existed and it's matrix equals the desired matrix then just return
@@ -74,10 +74,10 @@
// API enforces that all local matrices are set using this call and
// not passed to the constructor of the Shader.
SkMatrix proxyMatrix;
- SkAutoTUnref<SkShader> baseShader(currentShader->refAsALocalMatrixShader(&proxyMatrix));
+ sk_sp<SkShader> baseShader = currentShader->makeAsALocalMatrixShader(&proxyMatrix);
if (baseShader.get()) {
if (proxyMatrix == *matrix) {
- return reinterpret_cast<jlong>(currentShader.detach());
+ return reinterpret_cast<jlong>(currentShader.release());
}
return reinterpret_cast<jlong>(baseShader->makeWithLocalMatrix(*matrix).release());
}
diff --git a/libs/hwui/RecordingCanvas.h b/libs/hwui/RecordingCanvas.h
index b6031c4..f93e8b8 100644
--- a/libs/hwui/RecordingCanvas.h
+++ b/libs/hwui/RecordingCanvas.h
@@ -315,7 +315,7 @@
const ClipBase* mDeferredBarrierClip = nullptr;
DisplayList* mDisplayList = nullptr;
bool mHighContrastText = false;
- SkAutoTUnref<SkDrawFilter> mDrawFilter;
+ sk_sp<SkDrawFilter> mDrawFilter;
}; // class RecordingCanvas
}; // namespace uirenderer