示例#1
0
 @Override
 public synchronized InputStream getWritebackFilter(
     InputStream in, String key, int pos, final Callback<Boolean> complete) throws IOException {
   validate(key);
   DiskLruCacheEntry entry = lruEntries.get(key);
   if (entry == null) {
     entry = new DiskLruCacheEntry(this, key);
     lruEntries.put(key, entry);
   }
   boolean readable = entry.isReadable();
   InputStream wrapper = entry.getWritebackFilter(in, pos, complete);
   // flush the index before creating files to prevent file leaks
   if (wrapper != null) {
     writeIndex(readable ? UPDATE : WRITE, entry);
     return wrapper; //
   }
   return in;
 }