| /* |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| */ |
| |
| var deviceInfo = function() { |
| document.getElementById("deviceready").innerHTML = "fired"; |
| document.getElementById("cordova").innerHTML = cordova.version; |
| }; |
| |
| var getLocation = function() { |
| var suc = function(p) { |
| alert(p.coords.latitude + " " + p.coords.longitude); |
| }; |
| var locFail = function() { |
| }; |
| navigator.geolocation.getCurrentPosition(suc, locFail); |
| }; |
| |
| var beep = function() { |
| navigator.notification.beep(2); |
| }; |
| |
| var vibrate = function() { |
| navigator.notification.vibrate(0); |
| }; |
| |
| function roundNumber(num) { |
| var dec = 3; |
| var result = Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec); |
| return result; |
| } |
| |
| var accelerationWatch = null; |
| |
| function updateAcceleration(a) { |
| document.getElementById('x').innerHTML = roundNumber(a.x); |
| document.getElementById('y').innerHTML = roundNumber(a.y); |
| document.getElementById('z').innerHTML = roundNumber(a.z); |
| } |
| |
| var toggleAccel = function() { |
| if (accelerationWatch !== null) { |
| navigator.accelerometer.clearWatch(accelerationWatch); |
| updateAcceleration({ |
| x : "", |
| y : "", |
| z : "" |
| }); |
| accelerationWatch = null; |
| } else { |
| var options = {}; |
| options.frequency = 1000; |
| accelerationWatch = navigator.accelerometer.watchAcceleration( |
| updateAcceleration, function(ex) { |
| alert("accel fail (" + ex.name + ": " + ex.message + ")"); |
| }, options); |
| } |
| }; |
| |
| var preventBehavior = function(e) { |
| e.preventDefault(); |
| }; |
| |
| function dump_pic(data) { |
| var viewport = document.getElementById('viewport'); |
| console.log(data); |
| viewport.style.display = ""; |
| viewport.style.position = "absolute"; |
| viewport.style.top = "10px"; |
| viewport.style.left = "10px"; |
| document.getElementById("test_img").src = "data:image/jpeg;base64," + data; |
| } |
| |
| function fail(msg) { |
| alert(msg); |
| } |
| |
| function show_pic() { |
| navigator.camera.getPicture(dump_pic, fail, { |
| quality : 50 |
| }); |
| } |
| |
| function close() { |
| var viewport = document.getElementById('viewport'); |
| viewport.style.position = "relative"; |
| viewport.style.display = "none"; |
| } |
| |
| function contacts_success(contacts) { |
| alert(contacts.length |
| + ' contacts returned.' |
| + (contacts[2] && contacts[2].name ? (' Third contact is ' + contacts[2].name.formatted) |
| : '')); |
| } |
| |
| function get_contacts() { |
| var obj = new ContactFindOptions(); |
| obj.filter = ""; |
| obj.multiple = true; |
| navigator.contacts.find( |
| [ "displayName", "name" ], contacts_success, |
| fail, obj); |
| } |
| |
| function check_network() { |
| var networkState = navigator.network.connection.type; |
| |
| var states = {}; |
| states[Connection.UNKNOWN] = 'Unknown connection'; |
| states[Connection.ETHERNET] = 'Ethernet connection'; |
| states[Connection.WIFI] = 'WiFi connection'; |
| states[Connection.CELL_2G] = 'Cell 2G connection'; |
| states[Connection.CELL_3G] = 'Cell 3G connection'; |
| states[Connection.CELL_4G] = 'Cell 4G connection'; |
| states[Connection.NONE] = 'No network connection'; |
| |
| confirm('Connection type:\n ' + states[networkState]); |
| } |
| |
| var watchID = null; |
| |
| function updateHeading(h) { |
| document.getElementById('h').innerHTML = h.magneticHeading; |
| } |
| |
| function toggleCompass() { |
| if (watchID !== null) { |
| navigator.compass.clearWatch(watchID); |
| watchID = null; |
| updateHeading({ magneticHeading : "Off"}); |
| } else { |
| var options = { frequency: 1000 }; |
| watchID = navigator.compass.watchHeading(updateHeading, function(e) { |
| alert('Compass Error: ' + e.code); |
| }, options); |
| } |
| } |
| |
| function init() { |
| // the next line makes it impossible to see Contacts on the HTC Evo since it |
| // doesn't have a scroll button |
| // document.addEventListener("touchmove", preventBehavior, false); |
| document.addEventListener("deviceready", deviceInfo, true); |
| } |