From dc4ecda7ec139dccb31f8e5ab3dbf7fd36d114a2 Mon Sep 17 00:00:00 2001 From: alperozturk Date: Mon, 17 Jun 2024 16:07:59 +0200 Subject: [PATCH 1/3] Use OnDatatransferProgressListener extension for percentage Signed-off-by: alperozturk --- .../client/jobs/download/FileDownloadWorker.kt | 3 ++- .../client/jobs/upload/FileUploadWorker.kt | 3 ++- .../OnDataTransferProgressListenerExtensions.kt | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/com/nextcloud/utils/extensions/OnDataTransferProgressListenerExtensions.kt diff --git a/app/src/main/java/com/nextcloud/client/jobs/download/FileDownloadWorker.kt b/app/src/main/java/com/nextcloud/client/jobs/download/FileDownloadWorker.kt index 8981f297c1b0..379d44dd3f08 100644 --- a/app/src/main/java/com/nextcloud/client/jobs/download/FileDownloadWorker.kt +++ b/app/src/main/java/com/nextcloud/client/jobs/download/FileDownloadWorker.kt @@ -22,6 +22,7 @@ import com.nextcloud.client.account.UserAccountManager import com.nextcloud.model.WorkerState import com.nextcloud.model.WorkerStateLiveData import com.nextcloud.utils.ForegroundServiceHelper +import com.nextcloud.utils.extensions.getPercent import com.owncloud.android.R import com.owncloud.android.datamodel.FileDataStorageManager import com.owncloud.android.datamodel.ForegroundServiceType @@ -410,7 +411,7 @@ class FileDownloadWorker( totalToTransfer: Long, filePath: String ) { - val percent: Int = (100.0 * totalTransferredSoFar.toDouble() / totalToTransfer.toDouble()).toInt() + val percent: Int = downloadProgressListener.getPercent(totalTransferredSoFar, totalToTransfer) val currentTime = System.currentTimeMillis() if (percent != lastPercent && (currentTime - lastUpdateTime) >= minProgressUpdateInterval) { diff --git a/app/src/main/java/com/nextcloud/client/jobs/upload/FileUploadWorker.kt b/app/src/main/java/com/nextcloud/client/jobs/upload/FileUploadWorker.kt index 3329a92f2a71..d684d2f8eb0e 100644 --- a/app/src/main/java/com/nextcloud/client/jobs/upload/FileUploadWorker.kt +++ b/app/src/main/java/com/nextcloud/client/jobs/upload/FileUploadWorker.kt @@ -21,6 +21,7 @@ import com.nextcloud.client.network.ConnectivityService import com.nextcloud.client.preferences.AppPreferences import com.nextcloud.model.WorkerState import com.nextcloud.model.WorkerStateLiveData +import com.nextcloud.utils.extensions.getPercent import com.nextcloud.utils.extensions.showToast import com.owncloud.android.R import com.owncloud.android.datamodel.FileDataStorageManager @@ -330,7 +331,7 @@ class FileUploadWorker( totalToTransfer: Long, fileAbsoluteName: String ) { - val percent = (100.0 * totalTransferredSoFar.toDouble() / totalToTransfer.toDouble()).toInt() + val percent = getPercent(totalTransferredSoFar, totalToTransfer) val currentTime = System.currentTimeMillis() if (percent != lastPercent && (currentTime - lastUpdateTime) >= minProgressUpdateInterval) { diff --git a/app/src/main/java/com/nextcloud/utils/extensions/OnDataTransferProgressListenerExtensions.kt b/app/src/main/java/com/nextcloud/utils/extensions/OnDataTransferProgressListenerExtensions.kt new file mode 100644 index 000000000000..f92062c847fa --- /dev/null +++ b/app/src/main/java/com/nextcloud/utils/extensions/OnDataTransferProgressListenerExtensions.kt @@ -0,0 +1,15 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2024 Your Name + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +package com.nextcloud.utils.extensions + +import com.owncloud.android.lib.common.network.OnDatatransferProgressListener + +fun OnDatatransferProgressListener.getPercent( + totalTransferredSoFar: Long, + totalToTransfer: Long +): Int = ((100.0 * totalTransferredSoFar.toDouble() / totalToTransfer.toDouble()).toInt()).coerceAtMost(100) From fce3f1491e1966658a0da03c5fe3a3476f50306a Mon Sep 17 00:00:00 2001 From: alperozturk Date: Mon, 17 Jun 2024 16:08:40 +0200 Subject: [PATCH 2/3] Fix code analytics Signed-off-by: alperozturk --- .../utils/extensions/OnDataTransferProgressListenerExtensions.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/com/nextcloud/utils/extensions/OnDataTransferProgressListenerExtensions.kt b/app/src/main/java/com/nextcloud/utils/extensions/OnDataTransferProgressListenerExtensions.kt index f92062c847fa..e6440474959d 100644 --- a/app/src/main/java/com/nextcloud/utils/extensions/OnDataTransferProgressListenerExtensions.kt +++ b/app/src/main/java/com/nextcloud/utils/extensions/OnDataTransferProgressListenerExtensions.kt @@ -9,6 +9,7 @@ package com.nextcloud.utils.extensions import com.owncloud.android.lib.common.network.OnDatatransferProgressListener +@Suppress("MagicNumber") fun OnDatatransferProgressListener.getPercent( totalTransferredSoFar: Long, totalToTransfer: Long From 7ee7542c890832ddf9895c39bf2060dd9061ad1e Mon Sep 17 00:00:00 2001 From: alperozturk Date: Tue, 18 Jun 2024 15:03:45 +0200 Subject: [PATCH 3/3] Fix license header Signed-off-by: alperozturk --- .../java/com/nextcloud/utils/extensions/AccountExtensions.kt | 2 +- .../extensions/OnDataTransferProgressListenerExtensions.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/nextcloud/utils/extensions/AccountExtensions.kt b/app/src/main/java/com/nextcloud/utils/extensions/AccountExtensions.kt index c17f93c6f451..2f70ada3c9f7 100644 --- a/app/src/main/java/com/nextcloud/utils/extensions/AccountExtensions.kt +++ b/app/src/main/java/com/nextcloud/utils/extensions/AccountExtensions.kt @@ -1,7 +1,7 @@ /* * Nextcloud - Android Client * - * SPDX-FileCopyrightText: 2024 Your Name + * SPDX-FileCopyrightText: 2024 Alper Ozturk * SPDX-License-Identifier: AGPL-3.0-or-later */ diff --git a/app/src/main/java/com/nextcloud/utils/extensions/OnDataTransferProgressListenerExtensions.kt b/app/src/main/java/com/nextcloud/utils/extensions/OnDataTransferProgressListenerExtensions.kt index e6440474959d..e0ab2cbc0b29 100644 --- a/app/src/main/java/com/nextcloud/utils/extensions/OnDataTransferProgressListenerExtensions.kt +++ b/app/src/main/java/com/nextcloud/utils/extensions/OnDataTransferProgressListenerExtensions.kt @@ -1,7 +1,7 @@ /* * Nextcloud - Android Client * - * SPDX-FileCopyrightText: 2024 Your Name + * SPDX-FileCopyrightText: 2024 Alper Ozturk * SPDX-License-Identifier: AGPL-3.0-or-later */