mirror of
https://github.com/appium/appium.git
synced 2026-05-22 20:09:00 -05:00
0d3950994a
reset.sh now builds the apk. adbs unlockScreen method now invokes unlock.apk. added a new small, focused module called device_state to handle determining state of emulators/devices. currently has a "isScreenLocked" function. unlockScreen in adb.js now 1) checks if screen is locked or not first before doing anything and 2) uses unlock.apk to do the unlocking.
39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
"use strict";
|
|
|
|
var exec = require('child_process').exec
|
|
, logger = require('../logger').get('appium');
|
|
|
|
function log(msg) {
|
|
logger.info("[ADB] " + msg);
|
|
}
|
|
|
|
module.exports = {
|
|
isScreenLocked: function(adbCmd, cb) {
|
|
var cmd = adbCmd + " shell dumpsys window";
|
|
log("Checking if screen is unlocked via `dumpsys window`...");
|
|
exec(cmd, {maxBuffer: 524288}, function(err, stdout, stderr) {
|
|
if (err) {
|
|
cb(err);
|
|
} else {
|
|
var screenLocked = /mShowingLockscreen=\w+/gi.exec(stdout);
|
|
var samsungNoteUnlocked = /mScreenOnFully=\w+/gi.exec(stdout);
|
|
if (screenLocked && screenLocked[0]) {
|
|
if (screenLocked[0].split('=')[1] == 'false') {
|
|
cb(null, false);
|
|
} else {
|
|
cb(null, true);
|
|
}
|
|
} else if (samsungNoteUnlocked && samsungNoteUnlocked[0]) {
|
|
if (samsungNoteUnlocked[0].split('=')[1] == 'true') {
|
|
cb(null, false);
|
|
} else {
|
|
cb(null, true);
|
|
}
|
|
} else {
|
|
cb(null, true);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
};
|