Merge "Move from SkData::NewXXX to SkData::MakeXXX."

This commit is contained in:
Ben Wagner
2016-08-04 13:45:08 +00:00
committed by Android (Google) Code Review
3 changed files with 23 additions and 23 deletions

View File

@@ -41,11 +41,10 @@
using namespace android;
// Takes ownership of the SkStreamRewindable. For consistency, deletes stream even
// when returning null.
static jobject createBitmapRegionDecoder(JNIEnv* env, SkStreamRewindable* stream) {
static jobject createBitmapRegionDecoder(JNIEnv* env, std::unique_ptr<SkStreamRewindable> stream) {
SkAutoTDelete<SkBitmapRegionDecoder> brd(
SkBitmapRegionDecoder::Create(stream, SkBitmapRegionDecoder::kAndroidCodec_Strategy));
SkBitmapRegionDecoder::Create(stream.release(),
SkBitmapRegionDecoder::kAndroidCodec_Strategy));
if (NULL == brd) {
doThrowIOE(env, "Image format not supported");
return nullObjectReturn("CreateBitmapRegionDecoder returned null");
@@ -61,10 +60,10 @@ static jobject nativeNewInstanceFromByteArray(JNIEnv* env, jobject, jbyteArray b
For now we just always copy the array's data if isShareable.
*/
AutoJavaByteArray ar(env, byteArray);
SkMemoryStream* stream = new SkMemoryStream(ar.ptr() + offset, length, true);
std::unique_ptr<SkMemoryStream> stream(new SkMemoryStream(ar.ptr() + offset, length, true));
// the decoder owns the stream.
jobject brd = createBitmapRegionDecoder(env, stream);
jobject brd = createBitmapRegionDecoder(env, std::move(stream));
return brd;
}
@@ -80,11 +79,11 @@ static jobject nativeNewInstanceFromFileDescriptor(JNIEnv* env, jobject clazz,
return nullObjectReturn("fstat return -1");
}
SkAutoTUnref<SkData> data(SkData::NewFromFD(descriptor));
SkMemoryStream* stream = new SkMemoryStream(data);
sk_sp<SkData> data(SkData::MakeFromFD(descriptor));
std::unique_ptr<SkMemoryStream> stream(new SkMemoryStream(std::move(data)));
// the decoder owns the stream.
jobject brd = createBitmapRegionDecoder(env, stream);
jobject brd = createBitmapRegionDecoder(env, std::move(stream));
return brd;
}
@@ -94,11 +93,11 @@ static jobject nativeNewInstanceFromStream(JNIEnv* env, jobject clazz,
jboolean isShareable) {
jobject brd = NULL;
// for now we don't allow shareable with java inputstreams
SkStreamRewindable* stream = CopyJavaInputStream(env, is, storage);
std::unique_ptr<SkStreamRewindable> stream(CopyJavaInputStream(env, is, storage));
if (stream) {
// the decoder owns the stream.
brd = createBitmapRegionDecoder(env, stream);
brd = createBitmapRegionDecoder(env, std::move(stream));
}
return brd;
}
@@ -107,13 +106,13 @@ static jobject nativeNewInstanceFromAsset(JNIEnv* env, jobject clazz,
jlong native_asset, // Asset
jboolean isShareable) {
Asset* asset = reinterpret_cast<Asset*>(native_asset);
SkMemoryStream* stream = CopyAssetToStream(asset);
std::unique_ptr<SkMemoryStream> stream(CopyAssetToStream(asset));
if (NULL == stream) {
return NULL;
}
// the decoder owns the stream.
jobject brd = createBitmapRegionDecoder(env, stream);
jobject brd = createBitmapRegionDecoder(env, std::move(stream));
return brd;
}

View File

@@ -98,9 +98,9 @@ static jboolean FontFamily_addFont(JNIEnv* env, jobject clazz, jlong familyPtr,
return false;
}
jobject fontRef = MakeGlobalRefOrDie(env, bytebuf);
SkAutoTUnref<SkData> data(SkData::NewWithProc(fontPtr, fontSize,
sk_sp<SkData> data(SkData::MakeWithProc(fontPtr, fontSize,
release_global_ref, reinterpret_cast<void*>(fontRef)));
std::unique_ptr<SkStreamAsset> fontData(new SkMemoryStream(data));
std::unique_ptr<SkStreamAsset> fontData(new SkMemoryStream(std::move(data)));
SkFontMgr::FontParameters params;
params.setCollectionIndex(ttcIndex);
@@ -163,9 +163,9 @@ static jboolean FontFamily_addFontWeightStyle(JNIEnv* env, jobject clazz, jlong
return false;
}
jobject fontRef = MakeGlobalRefOrDie(env, font);
SkAutoTUnref<SkData> data(SkData::NewWithProc(fontPtr, fontSize,
sk_sp<SkData> data(SkData::MakeWithProc(fontPtr, fontSize,
release_global_ref, reinterpret_cast<void*>(fontRef)));
std::unique_ptr<SkStreamAsset> fontData(new SkMemoryStream(data.get()));
std::unique_ptr<SkStreamAsset> fontData(new SkMemoryStream(std::move(data)));
SkFontMgr::FontParameters params;
params.setCollectionIndex(ttcIndex);
@@ -212,10 +212,11 @@ static jboolean FontFamily_addFontFromAsset(JNIEnv* env, jobject, jlong familyPt
}
size_t bufSize = asset->getLength();
SkAutoTUnref<SkData> data(SkData::NewWithProc(buf, asset->getLength(), releaseAsset, asset));
SkMemoryStream* stream = new SkMemoryStream(data.get());
// CreateFromStream takes ownership of stream.
SkTypeface* face = SkTypeface::CreateFromStream(stream);
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());
SkTypeface* face = fm->createFromStream(fontData.release(), SkFontMgr::FontParameters());
if (face == NULL) {
ALOGE("addFontFromAsset failed to create font %s", str.c_str());
return false;

View File

@@ -100,14 +100,14 @@ SkMemoryStream* android::CopyAssetToStream(Asset* asset) {
return NULL;
}
SkAutoTUnref<SkData> data(SkData::NewUninitialized(size));
sk_sp<SkData> data(SkData::MakeUninitialized(size));
const off64_t len = asset->read(data->writable_data(), size);
if (len != size) {
SkDebugf("---- copyAsset: asset->read(%d) returned %d\n", size, len);
return NULL;
}
return new SkMemoryStream(data);
return new SkMemoryStream(std::move(data));
}
jobject android::nullObjectReturn(const char msg[]) {