mirror of
https://github.com/bspeice/M28_App
synced 2024-11-04 23:28:16 -05:00
0576552ec6
Contains initial PhoneGap code, and Django template system Template system is set up to render the templates out so PhoneGap can use them, rather than having to re-code everything by hand.
166 lines
5.0 KiB
JavaScript
166 lines
5.0 KiB
JavaScript
/*
|
|
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("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;
|
|
}
|
|
|
|
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);
|
|
}
|