Best JavaScript code snippet using devicefarmer-stf
deviceScreen.js
Source:deviceScreen.js
...309 updateBounds()310 onScreenInterestGained()311 } else {312 g.clearRect(0, 0, canvas.width, canvas.height)313 onScreenInterestLost()314 }315 cachedEnabled = newEnabled316 }317 function onScreenInterestGained() {318 actionSocket.emit('control', { 'namespace': namespace ,'type':'minicap','action':'start'})319 }320 function onScreenInterestAreaChanged() {321 // actionSocket.emit('size', { 'x': adjustedBoundSize.w, 'y': adjustedBoundSize.h, 'serial': serial })322 }323 function onScreenInterestLost() {324 actionSocket.emit('control', { 'namespace': namespace,'type':'minicap','action':'stop'})325 }326 function maybeFlipLetterbox() {327 element[0].classList.toggle(328 'letterboxed', parentAspect < canvasAspect)329 }330 function disconnectSocket() {331 try {332 screenSocket.removeAllListeners()333 screenSocket.close()334 screenSocket = null335 } catch (err) { console.log('closeError' + err) }336 }337 function setrotate(rotation) {338 console.log('rotation change',rotation)339 device.display.rotation = rotation340 }341 screenSocket.on('connect', function() {342 console.log('connect')343 checkEnabled()344 })345 screenSocket.on('disconnect', function() {346 disconnectSocket()347 g.clearRect(0, 0, canvas.width, canvas.height)348 })349 screenSocket.on('imgdata',function(data) {350 var cachedScreen = { rotation: 0, bounds: { x: 0, y: 0, w: 0, h: 0 } }351 var cachedImageWidth = 0352 var cachedImageHeight = 0353 var cssRotation = 0354 var alwaysUpright = true355 var imagePool = new ImagePool(20)356 function hasImageAreaChanged(img) {357 return cachedScreen.bounds.w !== screen.bounds.w ||358 cachedScreen.bounds.h !== screen.bounds.h ||359 cachedImageWidth !== img.width ||360 cachedImageHeight !== img.height ||361 cachedScreen.rotation !== screen.rotation362 }363 function isRotated() {364 return screen.rotation === 90 || screen.rotation === 270365 }366 function rotator(oldRotation, newRotation) {367 var r1 = oldRotation < 0 ? 360 + oldRotation % 360 : oldRotation % 360368 var r2 = newRotation < 0 ? 360 + newRotation % 360 : newRotation % 360369 return mapping[r1][r2]370 }371 function updateImageArea(img) {372 if (!hasImageAreaChanged(img)) {373 return374 }375 cachedImageWidth = img.width376 cachedImageHeight = img.height377 if (options.autoScaleForRetina) {378 canvas.width = cachedImageWidth * frontBackRatio379 canvas.height = cachedImageHeight * frontBackRatio380 g.scale(frontBackRatio, frontBackRatio)381 } else {382 canvas.width = cachedImageWidth383 canvas.height = cachedImageHeight384 }385 cssRotation += rotator(cachedScreen.rotation, screen.rotation)386 canvas.style[cssTransform] = 'rotate(' + cssRotation + 'deg)'387 cachedScreen.bounds.h = screen.bounds.h388 cachedScreen.bounds.w = screen.bounds.w389 cachedScreen.rotation = screen.rotation390 canvasAspect = canvas.width / canvas.height391 if (isRotated() && !alwaysUpright) {392 canvasAspect = img.height / img.width393 element[0].classList.add('rotated')394 } else {395 canvasAspect = img.width / img.height396 element[0].classList.remove('rotated')397 }398 if (alwaysUpright) {399 // If the screen image is always in upright position (but we400 // still want the rotation animation), we need to cancel out401 // the rotation by using another rotation.402 positioner.style[cssTransform] = 'rotate(' + -cssRotation + 'deg)'403 }404 maybeFlipLetterbox()405 }406 return function messageListener(data) {407 screen.rotation = device.display.rotation408 if (shouldUpdateScreen()) {409 var blob = new Blob([data], {410 type: 'image/jpeg'411 })412 var img = imagePool.next()413 img.onload = function() {414 updateImageArea(this)415 g.drawImage(img, 0, 0, img.width, img.height)416 // Try to forcefully clean everything to get rid of memory417 // leaks. Note that despite this effort, Chrome will still418 // leak huge amounts of memory when the developer tools are419 // open, probably to save the resources for inspection. When420 // the developer tools are closed no memory is leaked.421 img.onload = img.onerror = null422 img.src = BLANK_IMG423 img = null424 blob = null425 URL.revokeObjectURL(url)426 url = null427 }428 img.onerror = function() {429 // Happily ignore. I suppose this shouldn't happen, but430 // sometimes it does, presumably when we're loading images431 // too quickly.432 // Do the same cleanup here as in onload.433 img.onload = img.onerror = null434 img.src = BLANK_IMG435 img = null436 blob = null437 URL.revokeObjectURL(url)438 url = null439 }440 var url = URL.createObjectURL(blob)441 img.src = url442 // $('#imgs').html(img)443 }444 // }445 }446 }())447 notifySocket.on('notify', function(json) {448 type=json['event']449 data=json['data']450 if (type=="rotationChange"){451 setrotate(data['rotation'])452 }453 else if (type=='diffResponse'){454 console.log(json)455 // clearInterval(timer);456 $('#load2').hide()457 res=data['res']458 // $('#res').text('dasdad')459 if (res){460 $('#res').text(data['time'])461 $('#res').attr('class','glyphicon glyphicon-ok')462 }463 else{464 $('#res').text(data['time'])465 $('#res').attr('class','glyphicon glyphicon-remove')466 }467 $('#res').show()468 469 }470 })471 element.on('resize', updateBounds)472 // $('#' + eleid).on('offsc', function() {473 // console.log('get offsc')474 // $('#' + eleid).unbind()475 // $('#' + eleid).find('#panel').find('#power').off('click')476 // g.clearRect(0, 0, canvas.width, canvas.height)477 // onScreenInterestLost()478 // })479 // actionSocket.on('installResponse', function(data) {480 // console.log(data)481 // if (data.result == 'success') {482 // $.danidemo.updateFileProgress(data.id, data.data);483 // if (data.data == '90%') {484 // $.danidemo.updateFileStatus(data.id, 'success', 'Install...');485 // } else if (data.data == '98%') {486 // $.danidemo.updateFileStatus(data.id, 'success', 'Launch...');487 // } else {488 // $.danidemo.updateFileStatus(data.id, 'success', 'Done...');489 // $.danidemo.hideProgress(data.id, data.data)490 // $.danidemo.showDetail('#demo-files', data.packageName, data.activity, data.version)491 // }...
screen-directive.js
Source:screen-directive.js
...155 onScreenInterestGained()156 }157 else {158 g.clearRect(0, 0, canvas.width, canvas.height)159 onScreenInterestLost()160 }161 cachedEnabled = newEnabled162 }163 function onScreenInterestGained() {164 if (ws.readyState === WebSocket.OPEN) {165 ws.send('size ' + adjustedBoundSize.w + 'x' + adjustedBoundSize.h)166 ws.send('on')167 console.log("++++++++++++onScreenInterestGained+++++++++++")168 console.log('size ' + adjustedBoundSize.w + 'x' + adjustedBoundSize.h)169 }170 }171 function onScreenInterestAreaChanged() {172 if (ws.readyState === WebSocket.OPEN) {173 ws.send('size ' + adjustedBoundSize.w + 'x' + adjustedBoundSize.h)174 console.log("++++++++++++onScreenInterestAreaChanged+++++++++++")175 }176 }177 function onScreenInterestLost() {178 if (ws.readyState === WebSocket.OPEN) {179 console.log("++++++++++++onScreenInterestLost+++++++++++")180 ws.send('off')181 }182 }183 ws.onmessage = (function() {184 console.log("ws.onmessage!+++")185 var cachedScreen = {186 rotation: 0187 , bounds: {188 x: 0189 , y: 0190 , w: 0191 , h: 0...
Using AI Code Generation
1var stf = require('stf');2var util = require('util');3var Promise = require('bluebird');4var logger = require('../../../../util/logger');5var wire = require('../../../wire');6var wireutil = require('../../../wire/util');7var lifecycle = require('../../../support/lifecycle');8var deviceutil = require('../../../support/deviceutil');9var log = logger.createLogger('device:plugins:screen');10var ScreenPlugin = module.exports = function (options) {11 this.options = options || {};12 this.adb = options.adb;13 this.pubsub = options.pubsub;14 this.channel = options.channel;15 this.config = options.config;16 this.device = options.device;17 this.subscriber = options.subscriber;18 this.screenshots = options.screenshots;19 this.rotation = 0;20 this.minicap = null;21 this.minitouch = null;22 this.miniscreen = null;23 this.minirecorder = null;24 this.minitouchSocket = null;
Using AI Code Generation
1var stf = require('stf');2var adbkit = require('adbkit');3var client = adbkit.createClient();4var util = require('util');5var fs = require('fs');6var path = require('path');7var stf = require('stf');8var Promise = require('bluebird');9var adbkit = require('adbkit');10var client = adbkit.createClient();11var util = require('util');12var fs = require('fs');13var path = require('path');14var stf = require('stf');15var Promise = require('bluebird');16var adbkit = require('adbkit');17var client = adbkit.createClient();18var util = require('util');19var fs = require('fs');20var path = require('path');21var stf = require('stf');22var Promise = require('bluebird');23var adbkit = require('adbkit');24var client = adbkit.createClient();25var util = require('util');26var fs = require('fs');27var path = require('path');28var stf = require('stf');29var Promise = require('bluebird');30var adbkit = require('adbkit');31var client = adbkit.createClient();32var util = require('util');33var fs = require('fs');34var path = require('path');35var stf = require('stf');36var Promise = require('bluebird');37var adbkit = require('adbkit');38var client = adbkit.createClient();39var util = require('util');40var fs = require('fs');41var path = require('path');42var stf = require('stf');43var Promise = require('bluebird');44var adbkit = require('adbkit');45var client = adbkit.createClient();46var util = require('util');47var fs = require('fs');48var path = require('path');49var stf = require('stf');50var Promise = require('bluebird');51var adbkit = require('adbkit');52var client = adbkit.createClient();53var util = require('util');54var fs = require('fs');55var path = require('path');56var stf = require('stf');57var Promise = require('bluebird');58var adbkit = require('adbkit');59var client = adbkit.createClient();60var util = require('util');61var fs = require('fs');62var path = require('path');63var stf = require('stf');
Using AI Code Generation
1var stf = require('devicefarmer-stf');2var device = client.getDevice('device_serial_number');3device.onScreenInterestLost(function() {4 console.log('Screen interest lost');5});6device.onScreenInterestGained(function() {7 console.log('Screen interest gained');8});9device.onConnectionLost(function() {10 console.log('Connection lost');11});12device.onConnectionGained(function() {13 console.log('Connection gained');14});15device.onDeviceLost(function() {16 console.log('Device lost');17});18device.onDeviceGained(function() {19 console.log('Device gained');20});21device.onDeviceRemoved(function() {22 console.log('Device removed');23});24device.onDeviceAdded(function() {25 console.log('Device added');26});27device.onDevicePresent(function() {28 console.log('Device present');29});30device.onDeviceAbsent(function() {31 console.log('Device absent');32});33device.onDeviceChanged(function() {34 console.log('Device changed');35});36device.onDeviceReplaced(function() {37 console.log('Device replaced');38});39device.onDeviceRenamed(function() {40 console.log('Device renamed');41});42device.onDeviceRebooted(function() {43 console.log('Device rebooted');44});45device.onDeviceShutdown(function() {46 console.log('Device shutdown');47});48device.onDeviceOffline(function() {49 console.log('Device offline');50});51device.onDeviceOnline(function() {52 console.log('Device online');53});54device.onDeviceRemoteConnect(function() {55 console.log('Device remote connect');56});57device.onDeviceRemoteDisconnect(function() {58 console.log('Device remote disconnect');59});60device.onDeviceRemoteConnectError(function() {61 console.log('Device remote connect error');62});63device.onDeviceRemoteDisconnectError(function() {64 console.log('Device remote disconnect error');65});66device.onDeviceRemoteConnectTimeout(function() {67 console.log('Device remote connect timeout');68});69device.onDeviceRemoteDisconnectTimeout(function() {70 console.log('Device remote disconnect timeout');71});72device.onDeviceRemoteConnectAuthError(function() {73 console.log('Device remote connect auth error');74});75device.onDeviceRemoteDisconnectAuthError(function() {76 console.log('Device remote disconnect auth error');77});78device.onDeviceRemoteConnectUnauthorized(function() {79 console.log('Device remote connect unauthorized');80});81device.onDeviceRemoteDisconnectUnauthorized(function
Using AI Code Generation
1var stf = require('devicefarmer-stf');2client.on('error', function(err) {3 console.log('Error:', err);4});5client.on('connect', function() {6 console.log('Connected');7});8client.on('disconnect', function() {9 console.log('Disconnected');10});11client.on('connect', function() {12 console.log('Connected');13});14client.on('disconnect', function() {15 console.log('Disconnected');16});17client.on('device', function(device) {18 console.log('Device connected:', device);19 device.onScreenInterestLost(function (cb) {20 console.log('Screen interest lost');21 cb();22 });23 device.onScreenInterestGained(function (cb) {24 console.log('Screen interest gained');25 cb();26 });27});28var stf = require('devicefarmer-stf');29client.on('error', function(err) {30 console.log('Error:', err);31});32client.on('connect', function() {33 console.log('Connected');34});35client.on('disconnect', function() {36 console.log('Disconnected');37});38client.on('connect', function() {39 console.log('Connected');40});41client.on('disconnect', function() {42 console.log('Disconnected');43});44client.on('device', function(device) {45 console.log('Device connected:', device);46 device.onScreenInterestLost(function (cb) {47 console.log('Screen interest lost');48 cb();49 });50 device.onScreenInterestGained(function (cb) {51 console.log('Screen interest gained');52 cb();53 });54});55var stf = require('devicefarmer-stf');56client.on('error', function(err) {57 console.log('Error:', err);58});59client.on('connect', function() {60 console.log('Connected');61});62client.on('disconnect', function() {63 console.log('Disconnected');64});65client.on('connect', function() {66 console.log('Connected');67});68client.on('disconnect', function() {69 console.log('Disconnected');70});71client.on('device', function(device) {72 console.log('Device connected:', device);
Using AI Code Generation
1var stf = require('stf');2client.on('connect', function() {3 console.log('Connected to stf server');4});5client.on('error', function(err) {6 console.error('Error:', err);7});8client.on('disconnect', function() {9 console.log('Disconnected from stf server');10});11client.on('deviceListChange', function(devices) {12 console.log('Device list changed');13 console.log('Devices:', devices);14});15client.on('deviceConnect', function(device) {16 console.log('Device connected');17 console.log('Device:', device);18});19client.on('deviceDisconnect', function(device) {20 console.log('Device disconnected');21 console.log('Device:', device);22});23client.on('deviceChange', function(device) {24 console.log('Device changed');25 console.log('Device:', device);26});27client.on('deviceInterest', function(device) {28 console.log('Device interest');29 console.log('Device:', device);30});31client.on('deviceInterestLost', function(device) {32 console.log('Device interest lost');33 console.log('Device:', device);34});35client.on('deviceConnect', function(device) {36 console.log('Device connected');37 console.log('Device:', device);38});39client.on('deviceDisconnect', function(device) {40 console.log('Device disconnected');41 console.log('Device:', device);42});43client.on('deviceChange', function(device) {44 console.log('Device changed');45 console.log('Device:', device);46});47client.on('deviceInterest', function(device) {48 console.log('Device interest');49 console.log('Device:', device);50});51client.on('deviceInterestLost', function(device) {52 console.log('Device interest lost');53 console.log('Device:', device);54});55client.on('deviceConnect', function(device) {56 console.log('Device connected');57 console.log('Device:', device);58});59client.on('deviceDisconnect', function(device) {60 console.log('Device disconnected');61 console.log('Device:', device);62});63client.on('deviceChange', function(device) {64 console.log('Device changed');65 console.log('Device:', device);66});67client.on('deviceInterest', function(device) {68 console.log('Device interest');69 console.log('Device:', device);70});71client.on('deviceInterestLost', function(device) {72 console.log('Device interest lost');
Using AI Code Generation
1var stf = require('devicefarmer-stf');2var util = require('util');3var exec = require('child_process').exec;4var device = new stf.Device();5device.onScreenInterestLost = function(){6 console.log("Screen is not visible");7 exec('adb shell input keyevent 26');8};9device.connect();10var stf = require('devicefarmer-stf');11var util = require('util');12var exec = require('child_process').exec;13var device = new stf.Device();14device.onScreenInterestGained = function(){15 console.log("Screen is visible");16 exec('adb shell input keyevent 26');17};18device.connect();19var stf = require('devicefarmer-stf');20var util = require('util');21var exec = require('child_process').exec;22var device = new stf.Device();23device.onScreenInterestGained = function(){24 console.log("Screen is visible");25 exec('adb shell input keyevent 26');26};27device.connect();28var stf = require('devicefarmer-stf');29var util = require('util');30var exec = require('child_process').exec;31var device = new stf.Device();32device.onScreenInterestGained = function(){33 console.log("Screen is visible");34 exec('adb shell input keyevent 26');35};36device.connect();37var stf = require('devicefarmer-stf');38var util = require('util');
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!