5 <style type="text/css">
6 body { margin: auto; width: 100%; }
7 div { margin: 15; padding: 10; width: 100%; }
8 textarea { margin: 10; padding: 10; width: 95%; height: 15%; font-size: 12; resize: none;}
9 .title { margin: 20; padding: 20; font-size: 32; font-weight: bold; }
10 .subtitle { margin: 10; padding: 10; font-size: 25; }
11 .text { font-size: 18; }
12 .center { text-align: center; }
13 .cpu { background-color: #FFFACD; }
14 .display { background-color: #CAE1FF; }
15 .memory { background-color: #FFF0F5; }
16 .storage { background-color: #F0FFF0; }
17 .event { background-color: #D1D1D1; }
21 var Error = function(error) {
22 document.title = "Fail";
23 console.log(error.message);
26 function enumerateAllProps(obj) {
28 var props = Object.getOwnPropertyNames(obj);
29 for (var j = 0; j < props.length; ++j) {
30 msg += props[j] + ': ' + obj[props[j]] + '\n';
36 function onSuccess() {
37 // Only count the success get operation, the event part need manual interaction.
39 if(successCount >= 5) {
40 document.title = "Pass";
44 window.onload = function() {
46 var system = navigator.system || xwalk.experimental.system;
49 document.getElementById('cpu').innerHTML = 'First level promise:<br>' +
50 '-> numOfProcessors: ' + cpu.numOfProcessors + '<br>' +
51 '-> archName: ' + cpu.archName + '<br>' +
52 '-> cpu load: ' + cpu.load;
57 document.getElementById('cpu_chain').innerHTML = 'Second level promise:<br>' +
58 '-> numOfProcessors: ' + cpu.numOfProcessors + '<br>' +
59 '-> archName: ' + cpu.archName + '<br>' +
60 '-> cpu load: ' + cpu.load;
64 system.getMemoryInfo()
65 .then(function(memory) {
66 document.getElementById('memory').innerHTML = 'Total capacity: ' + memory.capacity / (1024 * 1024) + '(MB)<br>' +
67 'Avail capacity: ' + memory.availCapacity / (1024 * 1024) + '(MB)';
72 .then(function(avcodecs) {
74 for (var i = 0; i < avcodecs.audioCodecs.length; ++i) {
75 msg += enumerateAllProps(avcodecs.audioCodecs[i]);
78 for (var i = 0; i < avcodecs.videoCodecs.length; ++i) {
79 msg += enumerateAllProps(avcodecs.videoCodecs[i]);
82 var output = document.getElementById("avcodecs");
84 output.scrollTop = output.scrollHeight;
88 system.getDisplayInfo()
89 .then(function(display) {
91 for (var i = 0; i < display.displays.length; ++i) {
92 msg += enumerateAllProps(display.displays[i]);
95 var output = document.getElementById('display');
97 output.scrollTop = output.scrollHeight;
101 system.getStorageInfo()
102 .then(function(storage) {
104 for (var i = 0; i < storage.storages.length; ++i) {
105 msg += enumerateAllProps(storage.storages[i]);
106 msg += '---------\n';
108 var output = document.getElementById('storage');
110 output.scrollTop = output.scrollHeight;
114 system.onstorageattach = function(storage) {
115 var output = document.getElementById('event');
116 output.value += 'Error! Should not appear.\n';
117 output.scrollTop = output.scrollHeight;
120 system.onstorageattach = function(storage) {
121 var output = document.getElementById('event');
122 var msg = enumerateAllProps(storage);
123 output.value += 'From storage attach listener(onstorageattch):\n' + msg + '--------\n';
124 output.scrollTop = output.scrollHeight;
127 system.addEventListener('storageattach', function(storage) {
128 var output = document.getElementById('event');
129 output.value += 'attach Listener1 test success!\n';
130 output.scrollTop = output.scrollHeight;
133 system.addEventListener('storageattach', function(storage) {
134 var output = document.getElementById('event');
135 output.value += 'attach Listener2 test success!\n';
136 output.scrollTop = output.scrollHeight;
139 system.addEventListener('storagedetach', function(storage) {
140 var output = document.getElementById('event');
141 var msg = enumerateAllProps(storage);
142 output.value += 'From storage detach listener(addEventListener):\n' + msg + '--------\n';
143 output.scrollTop = output.scrollHeight;
146 system.onstoragedetach = function(storage) {
147 var output = document.getElementById('event');
148 var msg = enumerateAllProps(storage);
149 output.value += 'From storage detach listener(onstoragedetach):\n' + msg + '--------\n';
150 output.scrollTop = output.scrollHeight;
153 system.addEventListener('displayconnect', function(display) {
154 var output = document.getElementById('event');
155 var msg = enumerateAllProps(display);
156 output.value += 'From display connect listener(addEventListener):\n' + msg + '--------\n';
157 output.scrollTop = output.scrollHeight;
160 system.ondisplayconnect = function(display) {
161 var output = document.getElementById('event');
162 var msg = enumerateAllProps(display);
163 output.value += 'From display connect listener(ondisplayconnect):\n' + msg + '--------\n';
164 output.scrollTop = output.scrollHeight;
167 system.addEventListener('displaydisconnect', function(display) {
168 var output = document.getElementById('event');
169 var msg = enumerateAllProps(display);
170 output.value += 'From display disconnect listener(addEventListener):\n' + msg + '--------\n';
171 output.scrollTop = output.scrollHeight;
174 system.ondisplaydisconnect = function(display) {
175 var output = document.getElementById('event');
176 var msg = enumerateAllProps(display);
177 output.value += 'From display disconnect listener(ondisplaydisconnect):\n' + msg + '--------\n';
178 output.scrollTop = output.scrollHeight;
186 <div class="title center">SysApp EXAMPLE</div>
188 <p class="subtitle center">CPUInfo</p>
189 <p class="text" id="cpu"></p>
190 <p class="text" id="cpu_chain"></p>
193 <p class="subtitle center">MemoryInfo</p>
194 <p class="text" id="memory"></p>
196 <div class="avcodecs">
197 <p class="subtitle center">avcodecs</p>
198 <textarea id="avcodecs" readonly=true></textarea>
200 <div class="display">
201 <p class="subtitle center">DisplayInfo</p>
202 <textarea id="display" readonly=true></textarea>
204 <div class="storage">
205 <p class="subtitle center">Storage</p>
206 <textarea id="storage" readonly=true></textarea>
209 <p class="subtitle center">Event</p>
210 <textarea id="event" readonly=true></textarea>