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 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
|
||||||
|
|
|
@ -21,6 +21,8 @@ class ContentUploader extends Uploader {
|
||||||
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)
|
||||||
this.file = file
|
this.file = file
|
||||||
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue