Original commit message: didLaunch flag is set at the end of launch sequence
"Ping" ADB to check whether we're still connected
On Android Emulator, ADB is disconnected when we toggle Airplane Mode
or mobile Data. However, the problem does not manifest itself when
querying the list of devices via adb devices: the emulator is still
listed. After attempting to ping the emulator via a shell command, the
emulator is no longer listed and a kill-server is necessary to get ADB
back up and running
Partial recovery from a loss of ADB connection caused by turning off the data connection in the emulator
Conditionnally restart UI Automator in case of unexpected exit, mainly to address the use case of disconnecting the netwok on Android Emulator, which triggers a loss of ADB connection, and subsequently UI Automator connection
New method mobile: toggleData on Android
toggleData method on iOS
toggleFlightMode method
Make toggleData and toggleFlightMode mobile methods available for Selendroid
Fix indentation
Make sure we recover from ADB connection loss on Selendroid when disabling data on emulator
On Android emulator the ADB connection is lost when we disable the data
connection. On Android the ADB connection loss is handled by the UI
Automator exit handler, on Selendroid it must be handled in the toggle
method
Fixed indentation
Fixed ping method
Do not look for exact match in stdout
Reset uiautomatorRestartOnExit flag after we've disabled data connection
Refactor UI Automator exit handler and add a flag to completely ignore UI Automator exit
When we disconnect the network (via either disabling 3G or enabling
Flight Mode), the official Android emulator loses the ADB connection.
However, sometimes the UI Automator exit handler is not called until
the next attempt to send an ADB command. So we introduce a flag to tell
the UI automator exit handler to do nothing, i.e. neither restart UI
Automator nor uninstall the app, we take care of ADB and UI automator
reconnection before sending the next ADB command
Refactor toggleSetting code and handle ADB reconnection
Refactored the toggleSetting code in order to separate the code common
to both Android subplatforms, and code specific to either platforms
(UIAutomator and Selendroid)
Made sure UI Automator restart is handled in the toggleSetting code and
not in the UI Automator exit handler
Selendroid method for handling ADB disconnection in Emulator when turning network connection off
Right keyevent combination to position the focus on Airplane Mode checkbox for API <= 15
On Android 4.1+ (API 16+) there's a "Parent" button in the
AIRPLANE_MODE_SETTINGS Activity's ActionBar, whereas on earlier
versions there's no "Parent" button, so we need to take this into
account when performing the key sequence to position the focus on the
Airplane Mode checkbox
Generic mechanism to let each "toggle" method provide the sequence of key to position the focus
Each "toggle" mobile method may require a different sequence of keys in
order to position the focus within the corresponding Settings Activity.
Now this sequence is dynamically provided by each "toggle" method
mobile: toggleWiFi implementation
Remove blank line
mobile: toggleLocationServices implementation
When toggling LocationServices ON there's a dialog asking for user
confirmation, so we introduce a mechanism that lokks for this dialog
and acknowledge it, but if the dialog doesn't show up we proceed to
exit the settings activity
Adapt key sequence for toggleLocationServices on Android API 16
Fix bug on Kitkat when re-enabling Location Services
On Kitkat when re-entering the Location Services Activity after
disabling it, no UI element has the focus and no key press can let the
target switch grab the focus. The workaround is to make sure an element
has the focus by issuing a key press prior to opening the Location
Services activity.
Fix lint error (mixed tabs and spaces)
Fix lint error (mixed tabs and spaces)
Add comments
Spaces after if
Move variable definition
Shorten variable names
Remove dead code
Move restartAdb method to ADB (and rename to restart)
Rename rr variable to err
Android Test app for "mobile: toggle…" methods
Test script for "mobile: toggle…" methods
Refactoring of toggle test script to avoid code duplication
Adding other toggle methods
Fix lint warning
Handle an unexpected exit of logcat (for instance if ADB itself exits unexpectedly)
Make sure we can restart logcat after stoping it
Stop and restart logcat when restarting ADB
Fix UiAutomator state variable to prevent blocking when restarting UiAutomator
Refactored toggle test to allow testing on both Android and Selendroid
Get rid of the arbitrary timeout to account for ADB disconnection on emulator
When disconnecting the network connection through the "mobile: toggle"
methods, we no longer wait for an arbitrary period of time for the ADB
connection to go down.
Instead, we forcibly shut down ADB and restart it
Squashing 2
Use lower case adb.
Use === not ==
create ChromeAndroid device which subclasses Android
move remote execute functionality into device common
send commands to chrome as javascript atoms via remote debugger
make chrome device proxy to chromedriver instead of using atoms
add describeForChrome in driverBlock and add webview tests for chrome
fix outstanding issue in doRequest so there's no empty body, misc cleanup
use streams instead of data events for chromedriver subproc
add comment about why we're doing dumb things with chromedriver
add docs for mobile safari and mobile chrome
update grunt docs
remove unused remote debugger files
clean up callback structure
make sure to encode doRequest response to JSON if possible (fix#847)
Fix undefined
Squashing 1
allow testsuite to take port from env so ios/android tests can run simultaneously
make sure webview guinea pig runs on same port as appium
make sure to discard series info here so it doesn't get passed on
fix find element from element tests
update test to use correct appium port
Squashing
make sure fruitstrap gets into build/ for npm releases (cc @snevesbarros)
/session/:sessionId/element/:id/enabled should return a boolean value.
Signed-off-by: Matt Isaacs <misaacs@gilt.com>
Unneccessary
Removing MonkeyPinch