Touchgui/plugins/org.apache.cordova.device/src/browser/DeviceProxy.js

Thu, 04 Jun 2015 14:50:33 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 04 Jun 2015 14:50:33 +0200
changeset 0
e8ccd40d0ef6
permissions
-rw-r--r--

Genesis of lecture sources for Droidcon Berlin 2015 in Postbahnhof.

michael@0 1 /*
michael@0 2 *
michael@0 3 * Licensed to the Apache Software Foundation (ASF) under one
michael@0 4 * or more contributor license agreements. See the NOTICE file
michael@0 5 * distributed with this work for additional information
michael@0 6 * regarding copyright ownership. The ASF licenses this file
michael@0 7 * to you under the Apache License, Version 2.0 (the
michael@0 8 * "License"); you may not use this file except in compliance
michael@0 9 * with the License. You may obtain a copy of the License at
michael@0 10 *
michael@0 11 * http://www.apache.org/licenses/LICENSE-2.0
michael@0 12 *
michael@0 13 * Unless required by applicable law or agreed to in writing,
michael@0 14 * software distributed under the License is distributed on an
michael@0 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
michael@0 16 * KIND, either express or implied. See the License for the
michael@0 17 * specific language governing permissions and limitations
michael@0 18 * under the License.
michael@0 19 *
michael@0 20 */
michael@0 21 var browser = require('cordova/platform');
michael@0 22 var cordova = require('cordova');
michael@0 23
michael@0 24 function getPlatform() {
michael@0 25 return "browser";
michael@0 26 }
michael@0 27
michael@0 28 function getModel() {
michael@0 29 return getBrowserInfo(true);
michael@0 30 }
michael@0 31
michael@0 32 function getVersion() {
michael@0 33 return getBrowserInfo(false);
michael@0 34 }
michael@0 35
michael@0 36 function getBrowserInfo(getModel) {
michael@0 37 var userAgent = navigator.userAgent;
michael@0 38 var returnVal;
michael@0 39
michael@0 40 if ((offset = userAgent.indexOf('Chrome')) !== -1) {
michael@0 41 returnVal = (getModel) ? 'Chrome' : userAgent.substring(offset + 7);
michael@0 42 } else if ((offset = userAgent.indexOf('Safari')) !== -1) {
michael@0 43 if (getModel) {
michael@0 44 returnVal = 'Safari';
michael@0 45 } else {
michael@0 46 returnVal = userAgent.substring(offset + 7);
michael@0 47
michael@0 48 if ((offset = userAgent.indexOf('Version')) !== -1) {
michael@0 49 returnVal = userAgent.substring(offset + 8);
michael@0 50 }
michael@0 51 }
michael@0 52 } else if ((offset = userAgent.indexOf('Firefox')) !== -1) {
michael@0 53 returnVal = (getModel) ? 'Firefox' : userAgent.substring(offset + 8);
michael@0 54 }
michael@0 55
michael@0 56 if ((offset = returnVal.indexOf(';')) !== -1 || (offset = returnVal.indexOf(' ')) !== -1) {
michael@0 57 returnVal = returnVal.substring(0, offset);
michael@0 58 }
michael@0 59
michael@0 60 return returnVal;
michael@0 61 }
michael@0 62
michael@0 63
michael@0 64 module.exports = {
michael@0 65 getDeviceInfo: function (success, error) {
michael@0 66 setTimeout(function () {
michael@0 67 success({
michael@0 68 cordova: browser.cordovaVersion,
michael@0 69 platform: getPlatform(),
michael@0 70 model: getModel(),
michael@0 71 version: getVersion(),
michael@0 72 uuid: null
michael@0 73 });
michael@0 74 }, 0);
michael@0 75 }
michael@0 76 };
michael@0 77
michael@0 78 require("cordova/exec/proxy").add("Device", module.exports);

mercurial