Skip to content

Commit c146af2

Browse files
committed
fix: display quota values correctly by converting bytes to GB
1 parent 87dfbdd commit c146af2

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/createspace/CreateSpaceDialogFragment.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import androidx.fragment.app.DialogFragment
3030
import com.owncloud.android.R
3131
import com.owncloud.android.databinding.CreateSpaceDialogBinding
3232
import com.owncloud.android.domain.spaces.model.OCSpace
33+
import com.owncloud.android.utils.DisplayUtils
3334

3435
class CreateSpaceDialogFragment : DialogFragment() {
3536
private var _binding: CreateSpaceDialogBinding? = null
@@ -76,7 +77,7 @@ class CreateSpaceDialogFragment : DialogFragment() {
7677
val totalQuota = it.quota?.total ?: 0L
7778
if (totalQuota != 0L) {
7879
createSpaceDialogQuotaSwitch.isChecked = true
79-
createSpaceDialogQuotaValue.setText(String.format((totalQuota/1_000_000_000.0).toString()))
80+
createSpaceDialogQuotaValue.setText(DisplayUtils.formatFromBytesToGb(totalQuota))
8081
}
8182
}
8283

owncloudApp/src/main/java/com/owncloud/android/utils/DisplayUtils.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,4 +255,13 @@ public static int getDrawerHeaderHeight(int displayCutout, Resources resources)
255255
return (int) resources.getDimension(R.dimen.nav_drawer_header_height);
256256
}
257257
}
258+
259+
public static String formatFromBytesToGb(long bytes) {
260+
BigDecimal valueInGB = new BigDecimal(bytes).divide(BigDecimal.valueOf(1_000_000_000L)).stripTrailingZeros();
261+
if (valueInGB.scale() < 0) {
262+
return valueInGB.intValue() + "";
263+
} else {
264+
return valueInGB.toPlainString();
265+
}
266+
}
258267
}

0 commit comments

Comments
 (0)