Disable RescueParty in debug/lab environments.

We need to strike a balance between rescuing devices of real users
in the field, while also not interfering with debugging or testing
use-cases.

This change uses "charging via USB" as a signal that the device is
under active development, or is in a lab environment.  We could try
checking for an adb connection, but UsbDebuggingManager isn't
started until much later in the boot, so BatteryManager is our best
chance of detecting this case.

Note that we continue to always recover "user" builds, and we never
recover "eng" builds.

Test: builds, boots, skips when plugged in over USB
Bug: 34722552
Change-Id: Ib095482a2ed84e8c5dfb3c71d5f9b88457c2b5e6
This commit is contained in:
Jeff Sharkey
2017-01-26 15:29:16 -07:00
parent 9e77aefe9c
commit cdee83a614
2 changed files with 26 additions and 3 deletions

View File

@@ -883,8 +883,11 @@ public class Build {
SystemProperties.getInt("ro.debuggable", 0) == 1;
/** {@hide} */
public static final boolean IS_ENG =
"eng".equals(getString("ro.build.type"));
public static final boolean IS_ENG = "eng".equals(TYPE);
/** {@hide} */
public static final boolean IS_USERDEBUG = "userdebug".equals(TYPE);
/** {@hide} */
public static final boolean IS_USER = "user".equals(TYPE);
/**
* Whether this build is running inside a container.