Merge branch 'text_file_preview_pr_707_with_develop' of github.com:owncloud/android...
[pub/Android/ownCloud.git] / src / com / owncloud / android / utils / DisplayUtils.java
index 91dfc47..3ae36e4 100644 (file)
@@ -33,10 +33,17 @@ import java.util.Set;
 import java.util.Vector;\r
 \r
 import android.annotation.TargetApi;\r
+import android.app.Activity;\r
 import android.content.Context;\r
+import android.graphics.Color;\r
+import android.graphics.Point;\r
+import android.graphics.PorterDuff;\r
 import android.os.Build;\r
 import android.text.format.DateUtils;\r
+import android.view.Display;\r
 import android.webkit.MimeTypeMap;\r
+import android.widget.ProgressBar;\r
+import android.widget.SeekBar;\r
 \r
 import com.owncloud.android.MainApp;\r
 import com.owncloud.android.R;\r
@@ -350,4 +357,53 @@ public class DisplayUtils {
         return path;\r
     }\r
 \r
+\r
+    /**\r
+     * Gets the screen size in pixels in a backwards compatible way\r
+     *\r
+     * @param caller        Activity calling; needed to get access to the {@link android.view.WindowManager}\r
+     * @return              Size in pixels of the screen, or default {@link Point} if caller is null\r
+     */\r
+    public static Point getScreenSize(Activity caller) {\r
+        Point size = new Point();\r
+        if (caller != null) {\r
+            Display display = caller.getWindowManager().getDefaultDisplay();\r
+            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB_MR2) {\r
+                display.getSize(size);\r
+            } else {\r
+                size.set(display.getWidth(), display.getHeight());\r
+            }\r
+        }\r
+        return size;\r
+    }\r
+\r
+    /**\r
+     * sets the coloring of the given progress bar to color_accent.\r
+     *\r
+     * @param progressBar the progress bar to be colored\r
+     */\r
+    public static void colorPreLollipopHorizontalProgressBar(ProgressBar progressBar) {\r
+        if (progressBar != null && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {\r
+            int color = progressBar.getResources().getColor(R.color.color_accent);\r
+            progressBar.getIndeterminateDrawable().setColorFilter(color, PorterDuff.Mode.SRC_IN);\r
+            progressBar.getProgressDrawable().setColorFilter(color, PorterDuff.Mode.SRC_IN);\r
+        }\r
+    }\r
+\r
+    /**\r
+     * sets the coloring of the given seek bar to color_accent.\r
+     *\r
+     * @param seekBar the seek bar to be colored\r
+     */\r
+    public static void colorPreLollipopHorizontalSeekBar(SeekBar seekBar) {\r
+        if (seekBar != null && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {\r
+            colorPreLollipopHorizontalProgressBar(seekBar);\r
+\r
+            if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {\r
+                int color = seekBar.getResources().getColor(R.color.color_accent);\r
+                seekBar.getThumb().setColorFilter(color, PorterDuff.Mode.SRC_IN);\r
+                seekBar.getThumb().setColorFilter(color, PorterDuff.Mode.SRC_IN);\r
+            }\r
+        }\r
+    }\r
 }\r