本文整理汇总了Java中com.facebook.datasource.DataSource.getResult方法的典型用法代码示例。如果您正苦于以下问题:Java DataSource.getResult方法的具体用法?Java DataSource.getResult怎么用?Java DataSource.getResult使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.facebook.datasource.DataSource
的用法示例。
在下文中一共展示了DataSource.getResult方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onNewResultImpl
import com.facebook.datasource.DataSource; //导入方法依赖的package包/类
@Override
public void onNewResultImpl(DataSource<CloseableReference<CloseableImage>> dataSource) {
if (!dataSource.isFinished()) {
return;
}
CloseableReference<CloseableImage> closeableImageRef = dataSource.getResult();
Bitmap bitmap = null;
if (closeableImageRef != null &&
closeableImageRef.get() instanceof CloseableBitmap) {
bitmap = ((CloseableBitmap) closeableImageRef.get()).getUnderlyingBitmap();
}
try {
onNewResultImpl(bitmap);
} finally {
CloseableReference.closeSafely(closeableImageRef);
}
}
示例2: verifyState
import com.facebook.datasource.DataSource; //导入方法依赖的package包/类
private void verifyState(
boolean isFinished,
boolean hasResult,
CloseableReference<Object> resultRef,
boolean hasFailed,
Throwable failureCause) {
DataSource<CloseableReference<Object>> dataSource = mDataSource;
assertEquals("isFinished", isFinished, dataSource.isFinished());
assertEquals("hasResult", hasResult, dataSource.hasResult());
CloseableReference<Object> dataSourceRef = dataSource.getResult();
assertReferencesSame("getResult", resultRef, dataSourceRef);
CloseableReference.closeSafely(dataSourceRef);
assertEquals("hasFailed", hasFailed, dataSource.hasFailed());
if (failureCause == NPE) {
assertNotNull("failure", dataSource.getFailureCause());
assertSame("failure", NullPointerException.class, dataSource.getFailureCause().getClass());
} else {
assertSame("failure", failureCause, dataSource.getFailureCause());
}
}
示例3: onRun
import com.facebook.datasource.DataSource; //导入方法依赖的package包/类
@Override
public void onRun() throws Throwable {
Log.i(TAG, "RUNNING UploadJob for Item["+itemId+"] Uri["+uri.toString()+"]");
if(MediaUtils.isPhoto(UriUtils.extractMimeType(weakReference.get(), uri))) {
DataSource<CloseableReference<CloseableImage>> dataSource = Fresco.getImagePipeline().fetchDecodedImage(ImageRequest.fromUri(uri), weakReference.get());
Throwable failureCause = dataSource.getFailureCause();
if (failureCause != null) {
throw failureCause;
}
CloseableReference<CloseableImage> result = dataSource.getResult();
if (result != null) {
CloseableImage closeableImage = result.get();
if (closeableImage instanceof CloseableBitmap) {
Bitmap bitmap = ((CloseableBitmap) closeableImage).getUnderlyingBitmap();
uploadFile(createImageTempFile(bitmap));
}
}
}else{
uploadFile(new File(uri.getPath()));
}
}
示例4: onNewResultImpl
import com.facebook.datasource.DataSource; //导入方法依赖的package包/类
@Override
protected void onNewResultImpl(DataSource<CloseableReference<PooledByteBuffer>> dataSource) {
if (!dataSource.isFinished() || dataSource.getResult() == null) {
return;
}
// if we try to retrieve image file by cache key, it will return null
// so we need to create a temp file, little bit hack :(
PooledByteBufferInputStream inputStream = null;
FileOutputStream outputStream = null;
try {
inputStream = new PooledByteBufferInputStream(dataSource.getResult().get());
outputStream = new FileOutputStream(mTempFile);
IOUtils.copy(inputStream, outputStream);
mFinished = true;
onSuccess(mTempFile);
} catch (IOException e) {
onFail(e);
} finally {
IOUtils.closeQuietly(inputStream);
IOUtils.closeQuietly(outputStream);
}
}
示例5: isCached
import com.facebook.datasource.DataSource; //导入方法依赖的package包/类
/**
* 图片是否已经存在了
*/
public static boolean isCached(Context context, Uri uri) {
ImagePipeline imagePipeline = Fresco.getImagePipeline();
DataSource<Boolean> dataSource = imagePipeline.isInDiskCache(uri);
if (dataSource == null) {
return false;
}
ImageRequest imageRequest = ImageRequest.fromUri(uri);
CacheKey cacheKey = DefaultCacheKeyFactory.getInstance()
.getEncodedCacheKey(imageRequest, context);
BinaryResource resource = ImagePipelineFactory.getInstance()
.getMainFileCache().getResource(cacheKey);
return resource != null && dataSource.getResult() != null && dataSource.getResult();
}
示例6: onNewResultImpl
import com.facebook.datasource.DataSource; //导入方法依赖的package包/类
@Override
public void onNewResultImpl(DataSource<CloseableReference<CloseableImage>> dataSource) {
if (!dataSource.isFinished()) {
return;
}
CloseableReference<CloseableImage> closeableImageRef = dataSource.getResult();
Bitmap bitmap = null;
if (closeableImageRef != null &&
closeableImageRef.get() instanceof CloseableBitmap) {
bitmap = ((CloseableBitmap) closeableImageRef.get()).getUnderlyingBitmap();
}
if(bitmap!=null ){
if(bitmap.isRecycled()){
onFailure(dataSource);
}else {
onNewResultImpl(bitmap,dataSource);
}
return;
}
// //如果bitmap为空
// File cacheFile = ImageLoader.getActualLoader().getFileFromDiskCache(finalUrl);
// if(cacheFile ==null){
// onFailure(dataSource);
// return;
// }
// //还要判断文件是不是gif格式的
// if (!"gif".equalsIgnoreCase(MyUtil.getRealType(cacheFile))){
// onFailure(dataSource);
// return;
// }
// Bitmap bitmapGif = GifUtils.getBitmapFromGifFile(cacheFile);//拿到gif第一帧的bitmap
// if(width>0 && height >0) {
// bitmapGif = MyUtil.compressBitmap(bitmapGif, true, width, height);//将bitmap压缩到指定宽高。
// }
// if (bitmapGif != null) {
// onNewResultImpl(bitmap,dataSource);
// } else {
// onFailure(dataSource);
// }
/* try {
onNewResultImpl(bitmap);
} finally {
//CloseableReference.closeSafely(closeableImageRef);
}*/
}
示例7: onNewResult
import com.facebook.datasource.DataSource; //导入方法依赖的package包/类
@Override
public void onNewResult(DataSource<CloseableReference<CloseableImage>> dataSource) {
if (!dataSource.isFinished()) {
// only interested in final image, no need to close the dataSource
return;
}
try {
if (mDataSource != dataSource) {
// Shouldn't ever happen, but let's be safe (dataSource got closed by callback still fired?)
return;
}
mDataSource = null;
CloseableReference<CloseableImage> imageReference = dataSource.getResult();
if (imageReference == null) {
// Shouldn't ever happen, but let's be safe (dataSource got closed by callback still fired?)
return;
}
CloseableImage image = imageReference.get();
if (!(image instanceof CloseableBitmap)) {
// only bitmaps are supported
imageReference.close();
return;
}
mImageRef = imageReference;
Bitmap bitmap = getBitmap();
if (bitmap == null) {
// Shouldn't ever happen, but let's be safe.
return;
}
BitmapUpdateListener listener = Assertions.assumeNotNull(mBitmapUpdateListener);
listener.onBitmapReady(bitmap);
listener.onImageLoadEvent(ImageLoadEvent.ON_LOAD);
listener.onImageLoadEvent(ImageLoadEvent.ON_LOAD_END);
} finally {
dataSource.close();
}
}
示例8: getBitmapFromCache
import com.facebook.datasource.DataSource; //导入方法依赖的package包/类
/**
* 从Fresco的缓存中获取Bitmap
* @return
*/
private Bitmap getBitmapFromCache(String imgUrl){
Bitmap bm = null;
ImagePipeline imagePipeline = Fresco.getImagePipeline();
ImageRequest request = ImageRequestBuilder
.newBuilderWithSource(Uri.parse(imgUrl))
.build();
DataSource<CloseableReference<CloseableImage>> dataSource =
imagePipeline.fetchImageFromBitmapCache(request, this);
try{
CloseableReference<CloseableImage> imageReference = dataSource.getResult();
if(imageReference != null){
try{
// do something
CloseableImage image = imageReference.get();
if(image instanceof CloseableBitmap){
Bitmap bitmap = ((CloseableBitmap)image).getUnderlyingBitmap();
Log.i(TAG, "getBitmapFromCache>>> get cached bitmap success");
bm = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight());
return bm;
}
}finally {
CloseableReference.closeSafely(imageReference);
}
}else {
// cache miss
return null;
}
}finally {
dataSource.close();
}
return null;
}