/**
*
* Set network connection.<br>
* Types:<br>
* - airplane mode
* - wifi on
* - data on
*
* These properties behave like a bitmask so if you set the network connection to 0
* everything will get turned off. However if you for example set the network connection
* to 4 it will disable the airplane mode and turn off the wifi so that only data will
* be enabled. WebdriverIO provides a simplified interface to set these values without
* calculating bitmasks.
*
* Note: if you have airplane mode enabled you can't have wifi or data be enabled too
* (for obvious reasons)
*
* <example>
:setNetworkConnection.js
client.setNetworkConnection(0) // airplane mode off, wifi off, data off
client.setNetworkConnection(1) // airplane mode on, wifi off, data off
client.setNetworkConnection(2) // airplane mode off, wifi on, data off
client.setNetworkConnection(4) // airplane mode off, wifi off, data on
client.setNetworkConnection(6) // airplane mode off, wifi on, data on
* </example>
*
* @type mobile
* @for selendroid
* @see https://github.com/appium/appium-android-driver/blob/master/lib/commands/network.js#L24-L46
*
*/
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
var _utilsErrorHandler = require('../utils/ErrorHandler');
var setNetworkConnection = function setNetworkConnection(type) {
if (typeof type !== 'number') {
throw new _utilsErrorHandler.ProtocolError('number or type of arguments don\'t agree with setNetworkConnection protocol command');
} else if (type > 6 || type < 0) {
throw new _utilsErrorHandler.ProtocolError('invalid value for network connection');
} else if (type === 3 || type === 5) {
throw new _utilsErrorHandler.ProtocolError('you can\'t have wifi or data enabled while in airplane mode');
}
return this.requestHandler.create({
path: '/session/:sessionId/network_connection',
method: 'POST'
}, {
parameters: {
type: type
}
});
};
exports['default'] = setNetworkConnection;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvcHJvdG9jb2wvc2V0TmV0d29ya0Nvbm5lY3Rpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUNBZ0M4Qix1QkFBdUI7O0FBRXJELElBQUksb0JBQW9CLEdBQUcsU0FBdkIsb0JBQW9CLENBQWEsSUFBSSxFQUFFO0FBQ3ZDLFFBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO0FBQzFCLGNBQU0scUNBQWtCLHFGQUFxRixDQUFDLENBQUE7S0FDakgsTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtBQUM3QixjQUFNLHFDQUFrQixzQ0FBc0MsQ0FBQyxDQUFBO0tBQ2xFLE1BQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUU7QUFDakMsY0FBTSxtR0FBK0UsQ0FBQTtLQUN4Rjs7QUFFRCxXQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0FBQzlCLFlBQUksRUFBRSx3Q0FBd0M7QUFDOUMsY0FBTSxFQUFFLE1BQU07S0FDakIsRUFBRTtBQUNDLGtCQUFVLEVBQUU7QUFDUixnQkFBSSxFQUFFLElBQUk7U0FDYjtLQUNKLENBQUMsQ0FBQTtDQUNMLENBQUE7O3FCQUVjLG9CQUFvQiIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL3Byb3RvY29sL3NldE5ldHdvcmtDb25uZWN0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKlxuICogU2V0IG5ldHdvcmsgY29ubmVjdGlvbi48YnI+XG4gKiBUeXBlczo8YnI+XG4gKiBcdC0gYWlycGxhbmUgbW9kZVxuICogXHQtIHdpZmkgb25cbiAqIFx0LSBkYXRhIG9uXG4gKlxuICogVGhlc2UgcHJvcGVydGllcyBiZWhhdmUgbGlrZSBhIGJpdG1hc2sgc28gaWYgeW91IHNldCB0aGUgbmV0d29yayBjb25uZWN0aW9uIHRvIDBcbiAqIGV2ZXJ5dGhpbmcgd2lsbCBnZXQgdHVybmVkIG9mZi4gSG93ZXZlciBpZiB5b3UgZm9yIGV4YW1wbGUgc2V0IHRoZSBuZXR3b3JrIGNvbm5lY3Rpb25cbiAqIHRvIDQgaXQgd2lsbCBkaXNhYmxlIHRoZSBhaXJwbGFuZSBtb2RlIGFuZCB0dXJuIG9mZiB0aGUgd2lmaSBzbyB0aGF0IG9ubHkgZGF0YSB3aWxsXG4gKiBiZSBlbmFibGVkLiBXZWJkcml2ZXJJTyBwcm92aWRlcyBhIHNpbXBsaWZpZWQgaW50ZXJmYWNlIHRvIHNldCB0aGVzZSB2YWx1ZXMgd2l0aG91dFxuICogY2FsY3VsYXRpbmcgYml0bWFza3MuXG4gKlxuICogTm90ZTogaWYgeW91IGhhdmUgYWlycGxhbmUgbW9kZSBlbmFibGVkIHlvdSBjYW4ndCBoYXZlIHdpZmkgb3IgZGF0YSBiZSBlbmFibGVkIHRvb1xuICogKGZvciBvYnZpb3VzIHJlYXNvbnMpXG4gKlxuICogPGV4YW1wbGU+XG4gICAgOnNldE5ldHdvcmtDb25uZWN0aW9uLmpzXG4gICAgY2xpZW50LnNldE5ldHdvcmtDb25uZWN0aW9uKDApIC8vIGFpcnBsYW5lIG1vZGUgb2ZmLCB3aWZpIG9mZiwgZGF0YSBvZmZcbiAgICBjbGllbnQuc2V0TmV0d29ya0Nvbm5lY3Rpb24oMSkgLy8gYWlycGxhbmUgbW9kZSBvbiwgd2lmaSBvZmYsIGRhdGEgb2ZmXG4gICAgY2xpZW50LnNldE5ldHdvcmtDb25uZWN0aW9uKDIpIC8vIGFpcnBsYW5lIG1vZGUgb2ZmLCB3aWZpIG9uLCBkYXRhIG9mZlxuICAgIGNsaWVudC5zZXROZXR3b3JrQ29ubmVjdGlvbig0KSAvLyBhaXJwbGFuZSBtb2RlIG9mZiwgd2lmaSBvZmYsIGRhdGEgb25cbiAgICBjbGllbnQuc2V0TmV0d29ya0Nvbm5lY3Rpb24oNikgLy8gYWlycGxhbmUgbW9kZSBvZmYsIHdpZmkgb24sIGRhdGEgb25cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiBAdHlwZSBtb2JpbGVcbiAqIEBmb3Igc2VsZW5kcm9pZFxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXBwaXVtL2FwcGl1bS1hbmRyb2lkLWRyaXZlci9ibG9iL21hc3Rlci9saWIvY29tbWFuZHMvbmV0d29yay5qcyNMMjQtTDQ2XG4gKlxuICovXG5cbmltcG9ydCB7IFByb3RvY29sRXJyb3IgfSBmcm9tICcuLi91dGlscy9FcnJvckhhbmRsZXInXG5cbmxldCBzZXROZXR3b3JrQ29ubmVjdGlvbiA9IGZ1bmN0aW9uICh0eXBlKSB7XG4gICAgaWYgKHR5cGVvZiB0eXBlICE9PSAnbnVtYmVyJykge1xuICAgICAgICB0aHJvdyBuZXcgUHJvdG9jb2xFcnJvcignbnVtYmVyIG9yIHR5cGUgb2YgYXJndW1lbnRzIGRvblxcJ3QgYWdyZWUgd2l0aCBzZXROZXR3b3JrQ29ubmVjdGlvbiBwcm90b2NvbCBjb21tYW5kJylcbiAgICB9IGVsc2UgaWYgKHR5cGUgPiA2IHx8IHR5cGUgPCAwKSB7XG4gICAgICAgIHRocm93IG5ldyBQcm90b2NvbEVycm9yKCdpbnZhbGlkIHZhbHVlIGZvciBuZXR3b3JrIGNvbm5lY3Rpb24nKVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gMyB8fCB0eXBlID09PSA1KSB7XG4gICAgICAgIHRocm93IG5ldyBQcm90b2NvbEVycm9yKGB5b3UgY2FuJ3QgaGF2ZSB3aWZpIG9yIGRhdGEgZW5hYmxlZCB3aGlsZSBpbiBhaXJwbGFuZSBtb2RlYClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0SGFuZGxlci5jcmVhdGUoe1xuICAgICAgICBwYXRoOiAnL3Nlc3Npb24vOnNlc3Npb25JZC9uZXR3b3JrX2Nvbm5lY3Rpb24nLFxuICAgICAgICBtZXRob2Q6ICdQT1NUJ1xuICAgIH0sIHtcbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgdHlwZTogdHlwZVxuICAgICAgICB9XG4gICAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgc2V0TmV0d29ya0Nvbm5lY3Rpb25cbiJdfQ== |