Force spaces in eclipse via project specifc settings
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / DisplayUtils.java
1 /* ownCloud Android client application
2 * Copyright (C) 2011 Bartek Przybylski
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 *
17 */
18
19 package eu.alefzero.owncloud;
20
21 import java.util.HashMap;
22
23 /**
24 * A helper class for some string operations.
25 *
26 * @author Bartek Przybylski
27 *
28 */
29 public class DisplayUtils {
30 public static String bitsToHumanReadable(long bitsLen) {
31 double result = bitsLen;
32 int attachedsuff = 0;
33 while (result > 1024 && attachedsuff < suffixes.length) {
34 result /= 1024.;
35 attachedsuff++;
36 }
37 result = ((int) (result * 100)) / 100.;
38 return result + suffixes[attachedsuff];
39 }
40
41 public static String HtmlDecode(String s) {
42 String ret = "";
43 for (int i = 0; i < s.length(); ++i) {
44 if (s.charAt(i) == '%') {
45 ret += (char) Integer.parseInt(s.substring(i + 1, i + 3), 16);
46 i += 2;
47 } else {
48 ret += s.charAt(i);
49 }
50 }
51 return ret;
52 }
53
54 public static String convertMIMEtoPrettyPrint(String mimetype) {
55 if (mimeType2HUmanReadable.containsKey(mimetype)) {
56 return mimeType2HUmanReadable.get(mimetype);
57 }
58 return mimetype.split("/")[1].toUpperCase() + " file";
59 }
60
61 private static final String[] suffixes = { "B", "KB", "MB", "GB", "TB",
62 "PB", "EB", "ZB", "YB" };
63
64 private static HashMap<String, String> mimeType2HUmanReadable;
65 static {
66 mimeType2HUmanReadable = new HashMap<String, String>();
67 // images
68 mimeType2HUmanReadable.put("image/jpeg", "JPEG image");
69 mimeType2HUmanReadable.put("image/jpg", "JPEG image");
70 mimeType2HUmanReadable.put("image/png", "PNG image");
71 mimeType2HUmanReadable.put("image/bmp", "Bitmap image");
72 mimeType2HUmanReadable.put("image/gif", "GIF image");
73 mimeType2HUmanReadable.put("image/svg+xml", "JPEG image");
74 mimeType2HUmanReadable.put("image/tiff", "TIFF image");
75 // music
76 mimeType2HUmanReadable.put("audio/mpeg", "MP3 music file");
77 mimeType2HUmanReadable.put("application/ogg", "OGG music file");
78
79 }
80 }