java类com.facebook.drawee.controller.BaseControllerListener的实例源码

GiftAnimParser.java 文件源码 项目:MyAndroidTest 阅读 19 收藏 0 点赞 0 评论 0
public static boolean prepareBg(SimpleDraweeView bgImage, String bgFileName) {
    if (!TextUtils.isEmpty(bgFileName)) {
        File bgFile = new File("/sdcard/sololive/effect/ship3", bgFileName);
        Log.e(TAG, "bgFile=" + bgFile.getAbsolutePath());
        if (bgFile.exists()) {
            if (FileUtils.isWebpFile(bgFileName)) {
                Log.e(TAG, "isWebp File");
                ImageRequest localImageRequest = ImageRequestBuilder.newBuilderWithSource(Uri.fromFile(bgFile)).build();
                Log.e(TAG, "simpledrawee=" + bgImage.hashCode());
                ControllerListener controllerListener = new BaseControllerListener<ImageInfo>() {
                    @Override
                    public void onFinalImageSet(
                            String id,
                            @Nullable ImageInfo imageInfo,
                            @Nullable Animatable anim) {
                        Log.e(TAG, "onFinalImageSet");
                        if (anim != null) {
                            // app-specific logic to enable animation starting
                            anim.start();
                        }
                    }

                };

                AbstractDraweeController localAbstractDraweeController = Fresco
                        .newDraweeControllerBuilder()
                        .setOldController(bgImage.getController())
                        .setControllerListener(controllerListener)
                        .setImageRequest(localImageRequest)
                        .build();
                bgImage.setController(localAbstractDraweeController);
                return true;
            } else {
                Uri uri = Uri.fromFile(bgFile);
                bgImage.setImageURI(uri);
            }
        }
    }
    return false;
}
PostItemImageView.java 文件源码 项目:redgram-for-reddit 阅读 18 收藏 0 点赞 0 评论 0
private ControllerListener<? super ImageInfo> getControllerListener() {
    ControllerListener controllerListener = new BaseControllerListener<ImageInfo>(){

        @Override
        public void onFinalImageSet(String id, ImageInfo imageInfo, Animatable animatable) {
            imageLoaded = true;
        }

    };
    return controllerListener;
}
PhotoView.java 文件源码 项目:HaoCommon 阅读 29 收藏 0 点赞 0 评论 0
public void setImageUri(String url) {
    ImageRequest imageRequest = ImageRequestBuilder.newBuilderWithSource(Uri.parse(url)).build();
    ImagePipeline imagePipeline = Fresco.getImagePipeline();
    final DataSource<CloseableReference<CloseableImage>> dataSource = imagePipeline.fetchDecodedImage(imageRequest, this);
    DraweeController controller = Fresco.newDraweeControllerBuilder()
            .setOldController(mDraweeHolder.getController())
            .setImageRequest(imageRequest)
            .setControllerListener(new BaseControllerListener<ImageInfo>() {
                @Override
                public void onFinalImageSet(String s, @Nullable ImageInfo imageInfo, @Nullable Animatable animatable) {
                    try {
                        imageReference = dataSource.getResult();
                        if (imageReference != null) {
                            CloseableImage image = imageReference.get();
                            // do something with the image
                            if (image != null && image instanceof CloseableStaticBitmap) {
                                CloseableStaticBitmap closeableStaticBitmap = (CloseableStaticBitmap) image;
                                Bitmap bitmap = closeableStaticBitmap.getUnderlyingBitmap();
                                if (bitmap != null) {
                                    setImageBitmap(bitmap);
                                }
                            }
                        }
                    } finally {
                        dataSource.close();
                        CloseableReference.closeSafely(imageReference);
                    }
                }
            })
            .setTapToRetryEnabled(true)
            .build();
    mDraweeHolder.setController(controller);
}
PhotoView.java 文件源码 项目:HaoCommon 阅读 20 收藏 0 点赞 0 评论 0
public void setImageUri(String uri, int width, int height) {
    ImageRequest imageRequest = ImageRequestBuilder.newBuilderWithSource(Uri.parse(uri))
            .setAutoRotateEnabled(true)
            .setResizeOptions(new ResizeOptions(width, height))
            .build();
    ImagePipeline imagePipeline = Fresco.getImagePipeline();
    final DataSource<CloseableReference<CloseableImage>> dataSource = imagePipeline.fetchDecodedImage(imageRequest, this);
    DraweeController controller = Fresco.newDraweeControllerBuilder()
            .setOldController(mDraweeHolder.getController())
            .setImageRequest(imageRequest)
            .setControllerListener(new BaseControllerListener<ImageInfo>() {
                @Override
                public void onFinalImageSet(String s, @Nullable ImageInfo imageInfo, @Nullable Animatable animatable) {
                    try {
                        imageReference = dataSource.getResult();
                        if (imageReference != null) {
                            CloseableImage image = imageReference.get();
                            if (image != null && image instanceof CloseableStaticBitmap) {
                                CloseableStaticBitmap closeableStaticBitmap = (CloseableStaticBitmap) image;
                                Bitmap bitmap = closeableStaticBitmap.getUnderlyingBitmap();
                                if (bitmap != null) {
                                    setImageBitmap(bitmap);
                                }
                            }
                        }
                    } finally {
                        dataSource.close();
                        CloseableReference.closeSafely(imageReference);
                    }
                }
            })
            .setTapToRetryEnabled(true)
            .build();
    mDraweeHolder.setController(controller);
}
InstrumentedDraweeView.java 文件源码 项目:fresco 阅读 26 收藏 0 点赞 0 评论 0
private void init() {
  mInstrumentation = new Instrumentation(this);
  if (mConfig.instrumentationEnabled) {
    mListener = new BaseControllerListener<Object>() {
      @Override
      public void onSubmit(String id, Object callerContext) {
        mInstrumentation.onStart();
      }
      @Override
      public void onFinalImageSet(
          String id,
          @Nullable Object imageInfo,
          @Nullable Animatable animatable) {
        mInstrumentation.onSuccess();
      }
      @Override
      public void onFailure(String id, Throwable throwable) {
        mInstrumentation.onFailure();
      }
      @Override
      public void onRelease(String id) {
        mInstrumentation.onCancellation();
      }
    };
  }
  DraweeUtil.setBgColor(this, mConfig);
}
CaptchaHandler.java 文件源码 项目:apps-android-wikipedia 阅读 21 收藏 0 点赞 0 评论 0
private void handleCaptcha(boolean isReload) {
    if (captchaResult == null) {
        return;
    }
    if (!isReload) {
        ViewAnimations.crossFade(primaryView, captchaContainer);
    }
    captchaImage.setController(Fresco.newDraweeControllerBuilder()
            .setUri(captchaResult.getCaptchaUrl(wiki))
            .setAutoPlayAnimations(true)
            .setControllerListener(new BaseControllerListener<ImageInfo>() {
                @Override
                public void onFinalImageSet(String id, ImageInfo imageInfo, Animatable animatable) {
                    ((AppCompatActivity)activity).getSupportActionBar().setTitle(R.string.title_captcha);
                    if (progressDialog.isShowing()) {
                        progressDialog.hide();
                    }

                    // for our Dark theme, show a "negative image" of the captcha!
                    final int maxColorVal = 255;
                    if (WikipediaApp.getInstance().getCurrentTheme().isDark()) {
                        float[] colorMatrixNegative = {
                                -1.0f, 0, 0, 0, maxColorVal, //red
                                0, -1.0f, 0, 0, maxColorVal, //green
                                0, 0, -1.0f, 0, maxColorVal, //blue
                                0, 0, 0, 1.0f, 0 //alpha
                        };
                        captchaImage.getDrawable().setColorFilter(new ColorMatrixColorFilter(colorMatrixNegative));
                    } else {
                        captchaImage.getDrawable().clearColorFilter();
                    }

                    // In case there was a captcha attempt before
                    captchaText.setText("");
                }
            })
            .build());
}
ReactImageView.java 文件源码 项目:ReactNativeSignatureExample 阅读 25 收藏 0 点赞 0 评论 0
public void setShouldNotifyLoadEvents(boolean shouldNotify) {
  if (!shouldNotify) {
    mControllerListener = null;
  } else {
    final EventDispatcher mEventDispatcher = ((ReactContext) getContext()).
        getNativeModule(UIManagerModule.class).getEventDispatcher();

    mControllerListener = new BaseControllerListener<ImageInfo>() {
      @Override
      public void onSubmit(String id, Object callerContext) {
        mEventDispatcher.dispatchEvent(
            new ImageLoadEvent(getId(), SystemClock.nanoTime(), ImageLoadEvent.ON_LOAD_START)
        );
      }

      @Override
      public void onFinalImageSet(
          String id,
          @Nullable final ImageInfo imageInfo,
          @Nullable Animatable animatable) {
        if (imageInfo != null) {
          mEventDispatcher.dispatchEvent(
              new ImageLoadEvent(getId(), SystemClock.nanoTime(), ImageLoadEvent.ON_LOAD_END)
          );
          mEventDispatcher.dispatchEvent(
              new ImageLoadEvent(getId(), SystemClock.nanoTime(), ImageLoadEvent.ON_LOAD)
          );
        }
      }

      @Override
      public void onFailure(String id, Throwable throwable) {
        mEventDispatcher.dispatchEvent(
            new ImageLoadEvent(getId(), SystemClock.nanoTime(), ImageLoadEvent.ON_LOAD_END)
        );
      }
    };
  }

  mIsDirty = true;
}
CommonDraweeView.java 文件源码 项目:android-photo-picker 阅读 18 收藏 0 点赞 0 评论 0
/**
 * @see  #loadImage(String, String, int, int, ScalingUtils.ScaleType, int, int, BaseControllerListener)
 */
public void loadImage(String url, int placeHolder, int errorResId,
                      ScalingUtils.ScaleType scaleType, final BaseControllerListener<ImageInfo> l){
    loadImage(url,null, placeHolder, errorResId, scaleType,getWidth() , getHeight(),l);
}
CommonDraweeView.java 文件源码 项目:android-photo-picker 阅读 18 收藏 0 点赞 0 评论 0
/**
 * @see  #loadImage(String, String, int, int, ScalingUtils.ScaleType, int, int, BaseControllerListener)
 */
public void loadImage(String url, String lowUrl,int placeHolder, int errorResId,
                      ScalingUtils.ScaleType scaleType,
                      final BaseControllerListener<ImageInfo> l){
    loadImage(url, lowUrl, placeHolder, errorResId, scaleType,getWidth() , getHeight(), l);
}
ReactImageView.java 文件源码 项目:react-native-ibeacon-android 阅读 25 收藏 0 点赞 0 评论 0
public void setShouldNotifyLoadEvents(boolean shouldNotify) {
  if (!shouldNotify) {
    mControllerListener = null;
  } else {
    final EventDispatcher mEventDispatcher = ((ReactContext) getContext()).
        getNativeModule(UIManagerModule.class).getEventDispatcher();

    mControllerListener = new BaseControllerListener<ImageInfo>() {
      @Override
      public void onSubmit(String id, Object callerContext) {
        mEventDispatcher.dispatchEvent(
            new ImageLoadEvent(getId(), SystemClock.nanoTime(), ImageLoadEvent.ON_LOAD_START)
        );
      }

      @Override
      public void onFinalImageSet(
          String id,
          @Nullable final ImageInfo imageInfo,
          @Nullable Animatable animatable) {
        if (imageInfo != null) {
          mEventDispatcher.dispatchEvent(
              new ImageLoadEvent(getId(), SystemClock.nanoTime(), ImageLoadEvent.ON_LOAD_END)
          );
          mEventDispatcher.dispatchEvent(
              new ImageLoadEvent(getId(), SystemClock.nanoTime(), ImageLoadEvent.ON_LOAD)
          );
        }
      }

      @Override
      public void onFailure(String id, Throwable throwable) {
        mEventDispatcher.dispatchEvent(
            new ImageLoadEvent(getId(), SystemClock.nanoTime(), ImageLoadEvent.ON_LOAD_END)
        );
      }
    };
  }

  mIsDirty = true;
}


问题


面经


文章

微信
公众号

扫码关注公众号