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