Add method to enable adb root and related refactoring.
In retrospect, my previous commit to add 'device state management' type
methods to IDeviceManager was a bad idea because a) it bloats DeviceManager
with unrelated functionalities and b) recovery was not being called in these
methods (arguably where its needed the most)
In addition, IDeviceRecovery had a circular dependency with ITestDevice. The
original purpose of TestDevice was a "ddms IDevice + recovery mechanism".
A IDeviceRecovery implementation indiscriminately called ITestDevice methods
could lead to an infinite loop.
Thus, this commit makes the following changes:
- move device state monitoring methods to a separate class/interface
- move reboot/root/etc methods to TestDevice, and add recovery mechanism
- change IDeviceRecovery to operate on a IDevice
Change-Id: I4bf826b4bf5f9028c1ce5e807201ccb4ba3448cd
17 files changed