| /* |
| * |
| * 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("platform").innerHTML = device.platform; |
| document.getElementById("version").innerHTML = device.version; |
| document.getElementById("uuid").innerHTML = device.uuid; |
| document.getElementById("name").innerHTML = device.name; |
| document.getElementById("model").innerHTML = device.model; |
| document.getElementById("width").innerHTML = screen.width; |
| document.getElementById("height").innerHTML = screen.height; |
| document.getElementById("colorDepth").innerHTML = screen.colorDepth; |
| }; |
| |
| 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"; |
| } |
| |
| // This is just to do this. |
| function readFile() { |
| navigator.file.read('/sdcard/cordova.txt', fail, fail); |
| } |
| |
| function writeFile() { |
| navigator.file.write('foo.txt', "This is a test of writing to a file", |
| fail, fail); |
| } |
| |
| 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; |
| obj.limit = 5; |
| navigator.service.contacts.find( |
| [ "displayName", "name" ], contacts_success, |
| fail, obj); |
| } |
| |
| var networkReachableCallback = function(reachability) { |
| // There is no consistency on the format of reachability |
| var networkState = reachability.code || reachability; |
| |
| var currentState = {}; |
| currentState[NetworkStatus.NOT_REACHABLE] = 'No network connection'; |
| currentState[NetworkStatus.REACHABLE_VIA_CARRIER_DATA_NETWORK] = 'Carrier data connection'; |
| currentState[NetworkStatus.REACHABLE_VIA_WIFI_NETWORK] = 'WiFi connection'; |
| |
| confirm("Connection type:\n" + currentState[networkState]); |
| }; |
| |
| function check_network() { |
| navigator.network.isReachable("www.mobiledevelopersolutions.com", |
| networkReachableCallback, {}); |
| } |
| |
| 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); |
| document.getElementById("user-agent").textContent = navigator.userAgent; |
| } |