blob: 593949b131ddc33bf67b37c3419763450508fbcc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
package cgeo.geocaching.files;
import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;
public class ProgressInputStream extends FilterInputStream {
private int progress = 0;
protected ProgressInputStream(InputStream in) {
super(in);
}
@Override
public int read() throws IOException {
final int read = super.read();
progress += read;
return read;
}
@Override
public int read(byte[] buffer) throws IOException {
return super.read(buffer);
// don't increment here, this calls another read implementation which we already measure
}
@Override
public int read(byte[] buffer, int offset, int count) throws IOException {
final int read = super.read(buffer, offset, count);
progress += read;
return read;
}
int getProgress() {
return progress;
}
}
|