當前位置: 首頁>>代碼示例>>Java>>正文


Java DataSource.isFinished方法代碼示例

本文整理匯總了Java中com.facebook.datasource.DataSource.isFinished方法的典型用法代碼示例。如果您正苦於以下問題:Java DataSource.isFinished方法的具體用法?Java DataSource.isFinished怎麽用?Java DataSource.isFinished使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.facebook.datasource.DataSource的用法示例。


在下文中一共展示了DataSource.isFinished方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的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);
  }
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:20,代碼來源:BaseBitmapDataSubscriber.java

示例2: 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);
    }
}
 
開發者ID:love-311,項目名稱:BigImageViewer-master,代碼行數:25,代碼來源:ImageDownloadSubscriber.java

示例3: onNewResult

import com.facebook.datasource.DataSource; //導入方法依賴的package包/類
@Override
public void onNewResult(DataSource<CloseableReference<CloseableImage>> dataSource) {
    // isFinished() should be checked before calling onNewResultImpl(), otherwise
    // there would be a race condition: the final data source result might be ready before
    // we call isFinished() here, which would lead to the loss of the final result
    // (because of an early dataSource.close() call).
    final boolean shouldClose = dataSource.isFinished();
    try {
        onNewResultImpl(dataSource);
    } finally {
        if (shouldClose) {
           // dataSource.close();
        }
    }
}
 
開發者ID:BaoBaoJianqiang,項目名稱:CustomListView,代碼行數:16,代碼來源:BaseBitmapDataSubscriber.java

示例4: onNewResult

import com.facebook.datasource.DataSource; //導入方法依賴的package包/類
@Override
public void onNewResult(DataSource<T> dataSource) {
    if (dataSource.hasResult()) {
        RetainingDataSource.this.onDataSourceNewResult(dataSource);
    } else if (dataSource.isFinished()) {
        RetainingDataSource.this.onDataSourceFailed(dataSource);
    }
}
 
開發者ID:PureDark,項目名稱:H-Viewer,代碼行數:9,代碼來源:RetainingDataSourceSupplier.java

示例5: onNewResult

import com.facebook.datasource.DataSource; //導入方法依賴的package包/類
@Override
public void onNewResult(DataSource<CloseableReference<T>> dataSource) {
  if (dataSource.isFinished() && tryFinish()) {
    ListDataSource.this.onDataSourceFinished();
  }
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:7,代碼來源:ListDataSource.java

示例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);
        }*/
    }
 
開發者ID:BaoBaoJianqiang,項目名稱:CustomListView,代碼行數:55,代碼來源:BaseBitmapDataSubscriber.java

示例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();
  }
}
 
開發者ID:qq565999484,項目名稱:RNLearn_Project1,代碼行數:45,代碼來源:PipelineRequestHelper.java


注:本文中的com.facebook.datasource.DataSource.isFinished方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。