package com.nostra13.universalimageloader.core.assist; import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream; /** * Many streams obtained over slow connection show <a href="http://code.google.com/p/android/issues/detail?id=6066">this * problem</a>. */ public class FlushedInputStream extends FilterInputStream { public FlushedInputStream(InputStream inputStream) { super(inputStream); } @Override public long skip(long n) throws IOException { long totalBytesSkipped = 0L; while (totalBytesSkipped < n) { long bytesSkipped = in.skip(n - totalBytesSkipped); if (bytesSkipped == 0L) { int by_te = read(); if (by_te < 0) { break; // we reached EOF } else { bytesSkipped = 1; // we read one byte } } totalBytesSkipped += bytesSkipped; } return totalBytesSkipped; } }