Glide.with(FirstActivity. this ) .load(file) .asGif() .fitCenter() .diskCacheStrategy(DiskCacheStrategy.SOURCE) .listener( new RequestListener<File, GifDrawable>() { @Override public boolean onException(Exception e, File model, Target<GifDrawable> target, boolean isFirstResource) { return false ; } @Override public boolean onResourceReady( final GifDrawable resource, File model, Target<GifDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { new Thread( new Runnable() { @Override public void run() { int duration = 0 ; try { GifDrawable gifDrawable = (GifDrawable) resource; GifDecoder decoder = gifDrawable.getDecoder(); for ( int i = 0 ; i < gifDrawable.getFrameCount(); i++) { duration += decoder.getDelay(i); } mGifAdTime = duration; } catch (Throwable e) { } } }).start(); return false ; } }) .into(mAdImg); |