fix display of uploader progress to reach 100%

pull/24/head
Zlatin Balevsky 2019-10-29 01:00:59 +00:00
parent c4095abdb4
commit 6c806c4441
3 changed files with 8 additions and 1 deletions

View File

@ -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

View File

@ -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)

View File

@ -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