cordova.plugins.diagnostic
Version:
Cordova/Phonegap plugin to check the state of Location/WiFi/Camera/Bluetooth device settings.
143 lines (125 loc) • 5.57 kB
JavaScript
/* globals cordova, require, exports, module */
/**
* Diagnostic Bluetooth plugin for iOS
*
* Copyright (c) 2015 Working Edge Ltd.
* Copyright (c) 2012 AVANTIC ESTUDIO DE INGENIEROS
**/
var Diagnostic_Bluetooth = (function(){
/***********************
*
* Internal properties
*
*********************/
var Diagnostic_Bluetooth = {};
var Diagnostic = require("cordova.plugins.diagnostic.Diagnostic");
/********************
*
* Public properties
*
********************/
Diagnostic.bluetoothState = Diagnostic_Bluetooth.bluetoothState = {
"UNKNOWN": "unknown",
"RESETTING": "resetting",
"UNSUPPORTED": "unsupported",
"UNAUTHORIZED": "unauthorized",
"POWERED_OFF": "powered_off",
"POWERED_ON": "powered_on"
};
/********************
*
* Internal functions
*
********************/
/*****************************
*
* Protected member functions
*
****************************/
Diagnostic_Bluetooth._onBluetoothStateChange = function(){};
/**********************
*
* Public API functions
*
**********************/
/**
* Checks if the device has Bluetooth LE capabilities and if so that Bluetooth is switched on
*
* @param {Function} successCallback - The callback which will be called when operation is successful.
* This callback function is passed a single boolean parameter which is TRUE if device has Bluetooth LE and Bluetooth is switched on.
* @param {Function} errorCallback - The callback which will be called when operation encounters an error.
* This callback function is passed a single string parameter containing the error message.
*/
Diagnostic_Bluetooth.isBluetoothAvailable = function(successCallback, errorCallback) {
return cordova.exec(Diagnostic._ensureBoolean(successCallback),
errorCallback,
'Diagnostic_Bluetooth',
'isBluetoothAvailable',
[]);
};
/**
* Returns the state of Bluetooth LE on the device.
*
* @param {Function} successCallback - The callback which will be called when operation is successful.
* This callback function is passed a single string parameter which indicates the Bluetooth state as a constant in `cordova.plugins.diagnostic.bluetoothState`.
* @param {Function} errorCallback - The callback which will be called when operation encounters an error.
* This callback function is passed a single string parameter containing the error message.
*/
Diagnostic_Bluetooth.getBluetoothState = function(successCallback, errorCallback) {
return cordova.exec(successCallback,
errorCallback,
'Diagnostic_Bluetooth',
'getBluetoothState',
[]);
};
/**
* Registers a function to be called when a change in Bluetooth state occurs.
* Pass in a falsey value to de-register the currently registered function.
*
* @param {Function} successCallback - function call when a change in Bluetooth state occurs.
* This callback function is passed a single string parameter which indicates the Bluetooth state as a constant in `cordova.plugins.diagnostic.bluetoothState`.
*/
Diagnostic_Bluetooth.registerBluetoothStateChangeHandler = function(successCallback){
Diagnostic_Bluetooth._onBluetoothStateChange = successCallback || function(){};
return cordova.exec(successCallback,
null,
'Diagnostic_Bluetooth',
'ensureBluetoothManager',
[]);
};
/**
* Requests Bluetooth authorization for the application.
* The outcome of the authorization request can be determined by registering a handler using `registerBluetoothStateChangeHandler()`.
*
* @param {Function} successCallback - The callback which will be called when operation is successful.
* This callback function is not passed any parameters.
* @param {Function} errorCallback - The callback which will be called when operation encounters an error.
* This callback function is passed a single string parameter containing the error message.
*/
Diagnostic_Bluetooth.requestBluetoothAuthorization = function(successCallback, errorCallback) {
return cordova.exec(
successCallback,
errorCallback,
'Diagnostic_Bluetooth',
'requestBluetoothAuthorization',
[]);
};
/**
* Returns the Bluetooth authorization status for the application.
* On iOS 12 and below, authorization is not required so will always be GRANTED
*
* @param {Function} successCallback - The callback which will be called when operation is successful.
* This callback function is passed a single string parameter which indicates the authorization status as a constant in `cordova.plugins.diagnostic.permissionStatus`.
* @param {Function} errorCallback - The callback which will be called when operation encounters an error.
* This callback function is passed a single string parameter containing the error message.
*/
Diagnostic_Bluetooth.getAuthorizationStatus = function(successCallback, errorCallback) {
return cordova.exec(successCallback,
errorCallback,
'Diagnostic_Bluetooth',
'getAuthorizationStatus',
[]);
};
return Diagnostic_Bluetooth;
});
module.exports = new Diagnostic_Bluetooth();