]> git.saurik.com Git - cydia.git/blob - Cydia.app/storage.js
Honest-to-goodness Storage data.
[cydia.git] / Cydia.app / storage.js
1 var colors = ["#9090e0", "#4d4d70", "#7d7da0", "#7da0e0", "#d0d0f0", "#7070e0"];
2
3 var list = function (legend, color, name, value) {
4 legend.append('<div class="key">' +
5 '<div class="color" style="background-color: ' + color + '"><div></div></div>' +
6 '<div class="name">' + name + ' (' + Math.round(value * 1000) / 10 + '%)</div>' +
7 '</div>');
8 };
9
10 console.log(cydia.statfs("/"));
11
12 var setup = function (name, root, folders) {
13 var size = $("#" + name + "-size");
14 var statfs = cydia.statfs(root);
15 var kb = statfs[0] * statfs[1] / 1024;
16 var total = kb / 1024;
17
18 var unit;
19 if (total < 1000)
20 unit = 'M';
21 else {
22 total = total / 1024;
23 unit = 'G'
24 }
25
26 size.html(Math.round(total * 10) / 10 + " " + unit);
27
28 var legend = $("#" + name + "-legend");
29 var used = 0;
30
31 if (folders != null)
32 for (var i = 0; i != folders.length; ++i) {
33 var folder = folders[i];
34 var usage = cydia.du(folder[1]);
35 list(legend, colors[i + 2], folder[0], usage / kb);
36 total += usage;
37 }
38
39 var free = statfs[0] * statfs[2] / 1024;
40 list(legend, colors[0], folders == null ? "Used" : "Other", (kb - free - total) / kb);
41 list(legend, colors[1], "Free", statfs[2] / statfs[1]);
42 };
43
44 $(function () {
45 setup("system", "/", null);
46
47 setup("private", "/private/var", [
48 ["Themes", "/Library/Themes/"],
49 ["iTunes", "/var/mobile/Media/iTunes_Control/"],
50 ["App Store", "/var/mobile/Applications/"],
51 ["Photos", "/var/mobile/Media/DCIM/"]
52 ]);
53 });