Merge "Replace IS_DEBUGGABLE with isDebuggable module API" am: ba77876dbd am: 4290766ae7

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1667304

Change-Id: Iaec8ac01bbb518af8e14c0936cf8d8f2f75d8dd4
This commit is contained in:
Remi NGUYEN VAN
2021-04-09 01:24:14 +00:00
committed by Automerger Merge Worker
5 changed files with 21 additions and 2 deletions

View File

@@ -29284,7 +29284,6 @@ package android.os {
field public static final String HARDWARE;
field public static final String HOST;
field public static final String ID;
field public static final boolean IS_DEBUGGABLE;
field public static final String MANUFACTURER;
field public static final String MODEL;
field @NonNull public static final String ODM_SKU;

View File

@@ -117,6 +117,10 @@ package android.os {
method public final void markVintfStability();
}
public class Build {
method public static boolean isDebuggable();
}
public static class Build.VERSION {
field public static final int FIRST_SDK_INT;
}

View File

@@ -1022,6 +1022,7 @@ package android.os {
public class Build {
method public static boolean is64BitAbi(String);
method public static boolean isDebuggable();
field public static final boolean IS_EMULATOR;
}

View File

@@ -1309,10 +1309,25 @@ public class Build {
* Debuggable builds allow users to gain root access via local shell, attach debuggers to any
* application regardless of whether they have the "debuggable" attribute set, or downgrade
* selinux into "permissive" mode in particular.
* @hide
*/
public static final boolean IS_DEBUGGABLE =
SystemProperties.getInt("ro.debuggable", 0) == 1;
/**
* Returns true if the device is running a debuggable build such as "userdebug" or "eng".
*
* Debuggable builds allow users to gain root access via local shell, attach debuggers to any
* application regardless of whether they have the "debuggable" attribute set, or downgrade
* selinux into "permissive" mode in particular.
* @hide
*/
@TestApi
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
public static boolean isDebuggable() {
return IS_DEBUGGABLE;
}
/** {@hide} */
public static final boolean IS_ENG = "eng".equals(TYPE);
/** {@hide} */

View File

@@ -7677,7 +7677,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
}
void addRequestReassignment(@NonNull final RequestReassignment reassignment) {
if (Build.IS_DEBUGGABLE) {
if (Build.isDebuggable()) {
// The code is never supposed to add two reassignments of the same request. Make
// sure this stays true, but without imposing this expensive check on all
// reassignments on all user devices.