- bytesDownloaded += len;
- Main.updateSplashScreen();
- return super.read(b, off, len);
+ int ret = super.read(b, off, len);
+ if (clear && callback != null) {
+ clear = false;
+ ThreadMessage.newthread(new JS.Callable() {
+ public Object call(JS.Array args_) throws JS.Exn {
+ try {
+ JS.Array args = new JS.Array();
+ args.addElement(new Double(bytesDownloaded));
+ args.addElement(new Double(length));
+ callback.call(args);
+ } finally {
+ clear = true;
+ }
+ return null;
+ }
+ });
+ }
+ bytesDownloaded += ret;
+ return ret;