You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.9 KiB
JavaScript
67 lines
1.9 KiB
JavaScript
8 years ago
|
/*
|
||
|
*
|
||
|
* 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.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
/* global PluginResult */
|
||
|
|
||
|
//map from BB10 to cordova connection types:
|
||
|
//https://github.com/apache/cordova-js/blob/master/lib/common/plugin/Connection.js
|
||
|
function mapConnectionType(con) {
|
||
|
switch (con.type) {
|
||
|
case 'wired':
|
||
|
return 'ethernet';
|
||
|
case 'wifi':
|
||
|
return 'wifi';
|
||
|
case 'none':
|
||
|
return 'none';
|
||
|
case 'cellular':
|
||
|
switch (con.technology) {
|
||
|
case 'edge':
|
||
|
case 'gsm':
|
||
|
return '2g';
|
||
|
case 'evdo':
|
||
|
return '3g';
|
||
|
case 'umts':
|
||
|
return '3g';
|
||
|
case 'lte':
|
||
|
return '4g';
|
||
|
}
|
||
|
return "cellular";
|
||
|
}
|
||
|
return 'unknown';
|
||
|
}
|
||
|
|
||
|
function currentConnectionType() {
|
||
|
try {
|
||
|
//possible for webplatform to throw pps exception
|
||
|
return mapConnectionType(window.qnx.webplatform.device.activeConnection || { type : 'none' });
|
||
|
}
|
||
|
catch (e) {
|
||
|
return 'unknown';
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = {
|
||
|
getConnectionInfo: function (success, fail, args, env) {
|
||
|
var result = new PluginResult(args, env);
|
||
|
result.ok(currentConnectionType());
|
||
|
}
|
||
|
};
|