9e8a59569564187edd96ec57c2f7b276164bb879
[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 * @author Bartek Przybylski
26 *
27 */
28 public class DisplayUtils {
29 public static String bitsToHumanReadable(long bitsLen) {
30 double result = bitsLen;
31 int attachedsuff = 0;
32 while (result > 1024 && attachedsuff < suffixes.length) {
33 result /= 1024.;
34 attachedsuff++;
35 }
36 result = ((int)(result * 100))/100.;
37 return result+suffixes[attachedsuff];
38 }
39
40 public static String HtmlDecode(String s) {
41 String ret = "";
42 for (int i = 0; i < s.length(); ++i) {
43 if (s.charAt(i) == '%') {
44 ret += (char)Integer.parseInt(s.substring(i+1, i+3), 16);
45 i+=2;
46 } else {
47 ret += s.charAt(i);
48 }
49 }
50 return ret;
51 }
52
53 public static String convertMIMEtoPrettyPrint(String mimetype) {
54 if (mimeType2HUmanReadable.containsKey(mimetype)) {
55 return mimeType2HUmanReadable.get(mimetype);
56 }
57 return mimetype.split("/")[1].toUpperCase() + " file";
58 }
59
60 private static final String[] suffixes = {"B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"};
61
62 private static HashMap<String, String> mimeType2HUmanReadable;
63 static {
64 mimeType2HUmanReadable = new HashMap<String, String>();
65 // images
66 mimeType2HUmanReadable.put("image/jpeg", "JPEG image");
67 mimeType2HUmanReadable.put("image/jpg", "JPEG image");
68 mimeType2HUmanReadable.put("image/png", "PNG image");
69 mimeType2HUmanReadable.put("image/bmp", "Bitmap image");
70 mimeType2HUmanReadable.put("image/gif", "GIF image");
71 mimeType2HUmanReadable.put("image/svg+xml", "JPEG image");
72 mimeType2HUmanReadable.put("image/tiff", "TIFF image");
73 // music
74 mimeType2HUmanReadable.put("audio/mpeg", "MP3 music file");
75 mimeType2HUmanReadable.put("application/ogg", "OGG music file");
76
77 }
78 }