Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56ff0007 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Disable RescueParty in debug/lab environments."

parents a0428f8d cdee83a6
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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.
+21 −1
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@ package com.android.server;
import android.content.ContentResolver;
import android.content.Context;
import android.content.pm.UserInfo;
import android.os.BatteryManager;
import android.os.BatteryManagerInternal;
import android.os.Build;
import android.os.RecoverySystem;
import android.os.SystemClock;
@@ -65,7 +67,25 @@ public class RescueParty {
    private static SparseArray<Threshold> sApps = new SparseArray<>();

    private static boolean isDisabled() {
        return Build.IS_ENG || SystemProperties.getBoolean(PROP_DISABLE_RESCUE, false);
        // We're disabled on all engineering devices
        if (Build.IS_ENG) return true;

        // We're disabled on userdebug devices connected over USB, since that's
        // a decent signal that someone is actively trying to debug the device,
        // or that it's in a lab environment.
        if (Build.IS_USERDEBUG) {
            try {
                if (LocalServices.getService(BatteryManagerInternal.class)
                        .getPlugType() == BatteryManager.BATTERY_PLUGGED_USB) {
                    return true;
                } else {
                }
            } catch (Throwable ignored) {
            }
        }

        // One last-ditch check
        return SystemProperties.getBoolean(PROP_DISABLE_RESCUE, false);
    }

    /**