mirror of https://github.com/zlatinb/muwire
fix display of uploader progress to reach 100%
parent
c4095abdb4
commit
6c806c4441
|
@ -77,6 +77,8 @@ class UploadsModel {
|
|||
|
||||
int pieces = it.uploader.getTotalPieces()
|
||||
int done = it.uploader.getDonePieces()
|
||||
if (percent == 100)
|
||||
done++
|
||||
int percentTotal = -1
|
||||
if (pieces != 0)
|
||||
percentTotal = (done * 100) / pieces
|
||||
|
|
|
@ -21,6 +21,8 @@ class ContentUploader extends Uploader {
|
|||
private final Mesh mesh
|
||||
private final int pieceSize
|
||||
|
||||
private volatile boolean done
|
||||
|
||||
ContentUploader(File file, ContentRequest request, Endpoint endpoint, Mesh mesh, int pieceSize) {
|
||||
super(endpoint)
|
||||
this.file = file
|
||||
|
@ -71,6 +73,7 @@ class ContentUploader extends Uploader {
|
|||
}
|
||||
endpoint.getOutputStream().write(tmp, 0, read)
|
||||
}
|
||||
done = true
|
||||
} finally {
|
||||
try {channel?.close() } catch (IOException ignored) {}
|
||||
endpoint.getOutputStream().flush()
|
||||
|
@ -100,7 +103,7 @@ class ContentUploader extends Uploader {
|
|||
@Override
|
||||
public synchronized int getProgress() {
|
||||
if (mapped == null)
|
||||
return 0
|
||||
return done ? 100 : 0
|
||||
int position = mapped.position()
|
||||
int total = request.getRange().end - request.getRange().start
|
||||
(int)(position * 100.0 / total)
|
||||
|
|
|
@ -282,6 +282,8 @@ class MainFrameView {
|
|||
closureColumn(header : "Remote Pieces", type : String, read : { row ->
|
||||
int pieces = row.uploader.getTotalPieces()
|
||||
int done = row.uploader.getDonePieces()
|
||||
if (row.uploader.getProgress() == 100)
|
||||
done++
|
||||
int percent = -1
|
||||
if ( pieces != 0 ) {
|
||||
percent = (done * 100) / pieces
|
||||
|
|
Loading…
Reference in New Issue