X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/b694fee63d7bdb8b93e9d46d28303eff094923fe..d039bffbd171b95c6db2eff4b39c42fc731ca895:/src/com/owncloud/android/utils/DisplayUtils.java?ds=inline diff --git a/src/com/owncloud/android/utils/DisplayUtils.java b/src/com/owncloud/android/utils/DisplayUtils.java index 7030c87f..236a05f5 100644 --- a/src/com/owncloud/android/utils/DisplayUtils.java +++ b/src/com/owncloud/android/utils/DisplayUtils.java @@ -22,6 +22,7 @@ package com.owncloud.android.utils; +import java.math.BigDecimal; import java.net.IDN; import java.text.DateFormat; import java.util.Arrays; @@ -35,11 +36,15 @@ import java.util.Vector; import android.annotation.TargetApi; import android.app.Activity; import android.content.Context; +import android.graphics.Color; import android.graphics.Point; +import android.graphics.PorterDuff; import android.os.Build; import android.text.format.DateUtils; import android.view.Display; import android.webkit.MimeTypeMap; +import android.widget.ProgressBar; +import android.widget.SeekBar; import com.owncloud.android.MainApp; import com.owncloud.android.R; @@ -55,6 +60,7 @@ public class DisplayUtils { //private static String TAG = DisplayUtils.class.getSimpleName(); private static final String[] sizeSuffixes = { "B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" }; + private static final int[] sizeScales = { 0, 0, 0, 1, 1, 2, 2, 2, 2 }; private static HashMap mimeType2HUmanReadable; static { @@ -114,7 +120,11 @@ public class DisplayUtils { /** * Converts the file size in bytes to human readable output. - * + * + * * @param bytes Input file size * @return Like something readable like "12 MB" */ @@ -125,8 +135,9 @@ public class DisplayUtils { result /= 1024.; attachedsuff++; } - result = ((int) (result * 100)) / 100.; - return result + " " + sizeSuffixes[attachedsuff]; + + return new BigDecimal(result).setScale( + sizeScales[attachedsuff], BigDecimal.ROUND_HALF_UP) + " " + sizeSuffixes[attachedsuff]; } /** @@ -373,4 +384,33 @@ public class DisplayUtils { return size; } + /** + * sets the coloring of the given progress bar to color_accent. + * + * @param progressBar the progress bar to be colored + */ + public static void colorPreLollipopHorizontalProgressBar(ProgressBar progressBar) { + if (progressBar != null && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { + int color = progressBar.getResources().getColor(R.color.color_accent); + progressBar.getIndeterminateDrawable().setColorFilter(color, PorterDuff.Mode.SRC_IN); + progressBar.getProgressDrawable().setColorFilter(color, PorterDuff.Mode.SRC_IN); + } + } + + /** + * sets the coloring of the given seek bar to color_accent. + * + * @param seekBar the seek bar to be colored + */ + public static void colorPreLollipopHorizontalSeekBar(SeekBar seekBar) { + if (seekBar != null && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { + colorPreLollipopHorizontalProgressBar(seekBar); + + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { + int color = seekBar.getResources().getColor(R.color.color_accent); + seekBar.getThumb().setColorFilter(color, PorterDuff.Mode.SRC_IN); + seekBar.getThumb().setColorFilter(color, PorterDuff.Mode.SRC_IN); + } + } + } }